Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephan Herrmann2014-09-09 19:03:02 +0000
committerStephan Herrmann2014-09-09 19:03:02 +0000
commit3037f2d92d5a64a072acc1bf789bc8a387498614 (patch)
tree51f6b8b5d2b771250af2af943247d42d6e345c7d
parentf30ee73454a1d31bf67d38b8cb62dce542332972 (diff)
downloadorg.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.java3
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

Back to the top