diff options
author | jhugunin <jhugunin> | 2002-12-23 19:39:22 +0000 |
---|---|---|
committer | jhugunin <jhugunin> | 2002-12-23 19:39:22 +0000 |
commit | edbf43c6841313ebe0e7747407cfed9b11082065 (patch) | |
tree | a91ddf528883a0f9a23c94d50cfd8b005e06c9c1 /org.aspectj.ajdt.core | |
parent | ad22592b03d21deb506d38c86fe9253602b89cd6 (diff) | |
download | aspectj-edbf43c6841313ebe0e7747407cfed9b11082065.tar.gz aspectj-edbf43c6841313ebe0e7747407cfed9b11082065.zip |
better errors for issingleton aspects advising own initializers
also correct typing for dynamic checks on parameters to if pcds
Diffstat (limited to 'org.aspectj.ajdt.core')
-rw-r--r-- | org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration.java index 26bf18d8b..a52d3cad1 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration.java @@ -499,7 +499,17 @@ public class AspectDeclaration extends MemberTypeDeclaration { // body starts here codeStream.getstatic(world.makeFieldBinding(AjcMemberMaker.perSingletonField( typeX))); + Label isNull = new Label(codeStream); + codeStream.dup(); + codeStream.ifnull(isNull); codeStream.areturn(); + isNull.place(); + codeStream.new_(world.makeTypeBinding(AjcMemberMaker.NO_ASPECT_BOUND_EXCEPTION)); + codeStream.dup(); + codeStream.invokespecial(world.makeMethodBindingForCall( + AjcMemberMaker.noAspectBoundExceptionInit() + )); + codeStream.athrow(); // body ends here }}); } |