Merge fixes:
 - Re-applied parts from ea2c66d41813ffe0a73e9227d41cf335eedf7fb6 (orig)
   that got lost during merging.
 - Repair InvocationSite as of Bug 384380 (one method lost).
 - Import fixes in tests
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/AllocationExpression.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/AllocationExpression.java
index 80ba5de..0d46bb3 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/AllocationExpression.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/AllocationExpression.java
@@ -139,7 +139,7 @@
 	if (this.binding.declaringClass.isMemberType() && !this.binding.declaringClass.isStatic()) {
 		// allocating a non-static member type without an enclosing instance of parent type
 		// https://bugs.eclipse.org/bugs/show_bug.cgi?id=335845
-		currentScope.resetDeclaringClassMethodStaticFlag(this.binding.declaringClass.enclosingType());
+		currentScope.tagAsAccessingEnclosingInstanceStateOf(this.binding.declaringClass.enclosingType(), false /* type variable access */);
 		// Reviewed for https://bugs.eclipse.org/bugs/show_bug.cgi?id=378674 :
 		// The corresponding problem (when called from static) is not produced until during code generation
 	}