aboutsummaryrefslogtreecommitdiffstats
path: root/org.aspectj.ajdt.core
diff options
context:
space:
mode:
authorjhugunin <jhugunin>2004-01-27 19:47:12 +0000
committerjhugunin <jhugunin>2004-01-27 19:47:12 +0000
commit47e2459b15269743f137bc15245c7dfc3a4d6907 (patch)
tree8d2e2ef1cd5eaa87b02fb3bd3cab0989c4d227a7 /org.aspectj.ajdt.core
parentb7cb32b47315334b87e821504aa8d41551f8a9a1 (diff)
downloadaspectj-47e2459b15269743f137bc15245c7dfc3a4d6907.tar.gz
aspectj-47e2459b15269743f137bc15245c7dfc3a4d6907.zip
generates accurate max stack height information for aspectOf method
this is a long-standing bug that was masked by the weaver which would always recompute this field. optimizations to the weaver made this bug appear again.
Diffstat (limited to 'org.aspectj.ajdt.core')
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AspectDeclaration.java1
1 files changed, 1 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 f2f343a69..a3cff8ae6 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
@@ -527,6 +527,7 @@ public class AspectDeclaration extends TypeDeclaration {
codeStream.areturn();
isNull.place();
+ codeStream.incrStackSize(+1); // the dup trick above confuses the stack counter
codeStream.new_(world.makeTypeBinding(AjcMemberMaker.NO_ASPECT_BOUND_EXCEPTION));
codeStream.dup();
codeStream.ldc(typeX.getNameAsIdentifier());