diff options
author | Stephan Herrmann | 2014-09-09 19:03:02 +0000 |
---|---|---|
committer | Stephan Herrmann | 2014-09-09 19:03:02 +0000 |
commit | 3037f2d92d5a64a072acc1bf789bc8a387498614 (patch) | |
tree | 51f6b8b5d2b771250af2af943247d42d6e345c7d | |
parent | f30ee73454a1d31bf67d38b8cb62dce542332972 (diff) | |
download | org.eclipse.objectteams-3037f2d92d5a64a072acc1bf789bc8a387498614.tar.gz org.eclipse.objectteams-3037f2d92d5a64a072acc1bf789bc8a387498614.tar.xz org.eclipse.objectteams-3037f2d92d5a64a072acc1bf789bc8a387498614.zip |
Bug 443641 - [compiler][otdre] During incremental compilation a callin
invocation is flagged even from a callin dispatcher
-rw-r--r-- | org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/MessageSend.java | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/MessageSend.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/MessageSend.java index af9f8f650..a76b569c8 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/MessageSend.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/MessageSend.java @@ -63,6 +63,7 @@ import static org.eclipse.objectteams.otdt.core.compiler.IOTConstants.CALLIN_FLA import org.eclipse.jdt.core.compiler.CharOperation; import org.eclipse.jdt.internal.compiler.ASTVisitor; +import org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.WrapperKind; import org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants; import org.eclipse.jdt.internal.compiler.codegen.CodeStream; import org.eclipse.jdt.internal.compiler.codegen.Opcodes; @@ -1021,6 +1022,8 @@ public TypeBinding resolveType(BlockScope scope) { boolean callinAllowed; if (enclosingMethod == null) callinAllowed = false; + else if (enclosingMethod instanceof MethodDeclaration && ((MethodDeclaration)enclosingMethod).isMappingWrapper == WrapperKind.CALLIN) + callinAllowed = true; else if (isAnySuperAccess()) callinAllowed = ((enclosingMethod.modifiers & ExtraCompilerModifiers.AccCallin) != 0); else |