aboutsummaryrefslogtreecommitdiffstats
path: root/org.aspectj.ajdt.core/src
diff options
context:
space:
mode:
Diffstat (limited to 'org.aspectj.ajdt.core/src')
-rw-r--r--org.aspectj.ajdt.core/src/main/java/org/aspectj/ajdt/internal/compiler/ast/AdviceDeclaration.java7
1 files changed, 3 insertions, 4 deletions
diff --git a/org.aspectj.ajdt.core/src/main/java/org/aspectj/ajdt/internal/compiler/ast/AdviceDeclaration.java b/org.aspectj.ajdt.core/src/main/java/org/aspectj/ajdt/internal/compiler/ast/AdviceDeclaration.java
index c91e1a424..10dc68406 100644
--- a/org.aspectj.ajdt.core/src/main/java/org/aspectj/ajdt/internal/compiler/ast/AdviceDeclaration.java
+++ b/org.aspectj.ajdt.core/src/main/java/org/aspectj/ajdt/internal/compiler/ast/AdviceDeclaration.java
@@ -196,7 +196,6 @@ public class AdviceDeclaration extends AjMethodDeclaration {
private void generateProceedMethod(ClassScope classScope, ClassFile classFile) {
MethodBinding binding = proceedMethodBinding;
-
classFile.generateMethodInfoHeader(binding);
int methodAttributeOffset = classFile.contentsOffset;
int attributeNumber = classFile.generateMethodInfoAttributes(binding, AstUtil.getAjSyntheticAttribute());
@@ -214,16 +213,17 @@ public class AdviceDeclaration extends AjMethodDeclaration {
Argument[] arguments = this.arguments;
if (arguments != null) {
+ int rp = 0;
for (Argument argument: arguments) {
LocalVariableBinding lvb = argument.binding;
LocalVariableBinding lvbCopy = new LocalVariableBinding(lvb.name, lvb.type, lvb.modifiers, true);
lvbCopy.declaration = new LocalDeclaration(argument.name, 0, 0);
codeStream.record(lvbCopy);
lvbCopy.recordInitializationStartPC(0);
- lvbCopy.resolvedPosition = lvb.resolvedPosition;
+ lvbCopy.resolvedPosition = rp;
+ rp += InterTypeMethodDeclaration.getSlotSize(lvb.type.id);
}
}
-
codeStream.aload(closureIndex);
// build the Object[]
@@ -242,7 +242,6 @@ public class AdviceDeclaration extends AjMethodDeclaration {
if (type.isBaseType()) {
codeStream.invoke(Opcodes.OPC_invokestatic, AjTypeConstants.getConversionMethodToObject(classScope, type), null);
}
-
codeStream.aastore();
}