]> source.dussan.org Git - aspectj.git/commitdiff
added var declaration so it doesnt get skipped by jdt processing
authoraclement <aclement>
Sat, 10 Dec 2011 00:53:25 +0000 (00:53 +0000)
committeraclement <aclement>
Sat, 10 Dec 2011 00:53:25 +0000 (00:53 +0000)
org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeMethodDeclaration.java

index bd234dd03d5c4a5e35056ba61e0e17df0d5d5132..aabcc19c07d0cbd211e1f1cd1cab0f16270cec41 100644 (file)
@@ -21,6 +21,7 @@ import org.aspectj.org.eclipse.jdt.internal.compiler.ClassFile;
 import org.aspectj.org.eclipse.jdt.internal.compiler.CompilationResult;
 import org.aspectj.org.eclipse.jdt.internal.compiler.ast.Argument;
 import org.aspectj.org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration;
+import org.aspectj.org.eclipse.jdt.internal.compiler.ast.LocalDeclaration;
 import org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeReference;
 import org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants;
 import org.aspectj.org.eclipse.jdt.internal.compiler.codegen.CodeStream;
@@ -267,6 +268,8 @@ public class InterTypeMethodDeclaration extends InterTypeDeclaration {
                        for (int a = 0; a < itdArgs.length; a++) {
                                LocalVariableBinding lvb = itdArgs[a].binding;
                                LocalVariableBinding lvbCopy = new LocalVariableBinding(lvb.name, lvb.type, lvb.modifiers, true);
+                               // e37: have to create a declaration so that the check in ClassFile (line 2538) won't skip it
+                               lvbCopy.declaration = new LocalDeclaration(itdArgs[a].name,0,0);
                                codeStream.record(lvbCopy);
                                lvbCopy.recordInitializationStartPC(0);
                                lvbCopy.resolvedPosition = lvb.resolvedPosition;