Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephan Herrmann2012-12-30 23:44:30 +0000
committerStephan Herrmann2013-01-22 20:44:49 +0000
commit4a483ebef7845318fc0052989aa6f1b1decbf9ce (patch)
treef80e8c63d70c013b0cbd3c322293b40363595d08
parent94af647b7e29844d54f1b2761bf31378277b9db3 (diff)
downloadorg.eclipse.objectteams-4a483ebef7845318fc0052989aa6f1b1decbf9ce.tar.gz
org.eclipse.objectteams-4a483ebef7845318fc0052989aa6f1b1decbf9ce.tar.xz
org.eclipse.objectteams-4a483ebef7845318fc0052989aa6f1b1decbf9ce.zip
Bug 397192 - Prepare OTDT for new (dynamic) weaver:
Fixed testX13_callinToCallin1 ff. - use real bytecode signature in callin attribute
-rw-r--r--org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/ast/MethodSpec.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/ast/MethodSpec.java b/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/ast/MethodSpec.java
index 501553585..1fd5d3596 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/ast/MethodSpec.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/ast/MethodSpec.java
@@ -659,7 +659,8 @@ public class MethodSpec extends ASTNode implements InvocationSite
StringBuffer buffer = new StringBuffer();
buffer.append('(');
// manual retrenching:
- int offset = method.isCallin() ? MethodSignatureEnhancer.ENHANCING_ARG_LEN : 0;
+ boolean shouldRetrench = !CallinImplementorDyn.DYNAMIC_WEAVING && method.isCallin();
+ int offset = shouldRetrench ? MethodSignatureEnhancer.ENHANCING_ARG_LEN : 0;
int paramLen = method.parameters.length;
for (int i = offset; i < paramLen; i++) {
// 'weaken' to that erasure that was used in the tsuper version:
@@ -667,7 +668,7 @@ public class MethodSpec extends ASTNode implements InvocationSite
buffer.append(targetParameter.signature());
}
buffer.append(')');
- TypeBinding sourceReturnType = method.isCallin()
+ TypeBinding sourceReturnType = shouldRetrench
? MethodModel.getReturnType(method)
: method.returnType;
// 'weaken' to that erasure that was used in the tsuper version:

Back to the top