diff options
author | Stephan Herrmann | 2012-12-30 23:44:30 +0000 |
---|---|---|
committer | Stephan Herrmann | 2013-01-22 20:44:49 +0000 |
commit | 4a483ebef7845318fc0052989aa6f1b1decbf9ce (patch) | |
tree | f80e8c63d70c013b0cbd3c322293b40363595d08 /org.eclipse.jdt.core | |
parent | 94af647b7e29844d54f1b2761bf31378277b9db3 (diff) | |
download | org.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
Diffstat (limited to 'org.eclipse.jdt.core')
-rw-r--r-- | org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/ast/MethodSpec.java | 5 |
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: |