summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraclement <aclement>2006-08-18 12:28:20 +0000
committeraclement <aclement>2006-08-18 12:28:20 +0000
commit9a84fe9d3af82b03103c4566a953fc54837db1f9 (patch)
tree1b5b9f2c710ba0843729b4d2810a32da5dc8d75c
parent193aa8c16ca07f5743987d8717d5308a54bfb8f4 (diff)
downloadaspectj-9a84fe9d3af82b03103c4566a953fc54837db1f9.tar.gz
aspectj-9a84fe9d3af82b03103c4566a953fc54837db1f9.zip
minor refactoring for a forthcoming fix
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/AtAjAttributes.java37
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/IfFinder.java50
2 files changed, 50 insertions, 37 deletions
diff --git a/weaver/src/org/aspectj/weaver/bcel/AtAjAttributes.java b/weaver/src/org/aspectj/weaver/bcel/AtAjAttributes.java
index 4621fb776..61ecd9696 100644
--- a/weaver/src/org/aspectj/weaver/bcel/AtAjAttributes.java
+++ b/weaver/src/org/aspectj/weaver/bcel/AtAjAttributes.java
@@ -55,17 +55,12 @@ import org.aspectj.weaver.ResolvedPointcutDefinition;
import org.aspectj.weaver.ResolvedType;
import org.aspectj.weaver.UnresolvedType;
import org.aspectj.weaver.WeaverMessages;
-import org.aspectj.weaver.patterns.AndPointcut;
import org.aspectj.weaver.patterns.Bindings;
import org.aspectj.weaver.patterns.DeclareErrorOrWarning;
import org.aspectj.weaver.patterns.DeclareParents;
import org.aspectj.weaver.patterns.DeclarePrecedence;
import org.aspectj.weaver.patterns.FormalBinding;
import org.aspectj.weaver.patterns.IScope;
-import org.aspectj.weaver.patterns.IdentityPointcutVisitor;
-import org.aspectj.weaver.patterns.IfPointcut;
-import org.aspectj.weaver.patterns.NotPointcut;
-import org.aspectj.weaver.patterns.OrPointcut;
import org.aspectj.weaver.patterns.ParserException;
import org.aspectj.weaver.patterns.PatternParser;
import org.aspectj.weaver.patterns.PerCflow;
@@ -1765,38 +1760,6 @@ public class AtAjAttributes {
}
}
- /**
- * Look for an if() pointcut
- */
- private static class IfFinder extends IdentityPointcutVisitor {
- boolean hasIf = false;
- public Object visit(IfPointcut node, Object data) {
- if (node.alwaysFalse() || node.alwaysTrue()) {
- ;//IfFalse / IfTrue
- } else {
- hasIf = true;
- }
- return node;
- }
-
- public Object visit(AndPointcut node, Object data) {
- if (!hasIf) node.getLeft().accept(this, data);
- if (!hasIf) node.getRight().accept(this, data);
- return node;
- }
-
- public Object visit(NotPointcut node, Object data) {
- if (!hasIf) node.getNegatedPointcut().accept(this, data);
- return node;
- }
-
- public Object visit(OrPointcut node, Object data) {
- if (!hasIf) node.getLeft().accept(this, data);
- if (!hasIf) node.getRight().accept(this, data);
- return node;
- }
- }
-
static class ThrownFormalNotDeclaredInAdviceSignatureException extends Exception {
private String formalName;
diff --git a/weaver/src/org/aspectj/weaver/bcel/IfFinder.java b/weaver/src/org/aspectj/weaver/bcel/IfFinder.java
new file mode 100644
index 000000000..f1fda4c01
--- /dev/null
+++ b/weaver/src/org/aspectj/weaver/bcel/IfFinder.java
@@ -0,0 +1,50 @@
+/* *******************************************************************
+ * Copyright (c) 2006 Contributors
+ * All rights reserved.
+ * This program and the accompanying materials are made available
+ * under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Andy Clement initial implementation
+ * ******************************************************************/
+package org.aspectj.weaver.bcel;
+
+import org.aspectj.weaver.patterns.AndPointcut;
+import org.aspectj.weaver.patterns.IdentityPointcutVisitor;
+import org.aspectj.weaver.patterns.IfPointcut;
+import org.aspectj.weaver.patterns.NotPointcut;
+import org.aspectj.weaver.patterns.OrPointcut;
+
+/**
+ * Look for an if() pointcut
+ */
+class IfFinder extends IdentityPointcutVisitor {
+ boolean hasIf = false;
+ public Object visit(IfPointcut node, Object data) {
+ if (node.alwaysFalse() || node.alwaysTrue()) {
+ ;//IfFalse / IfTrue
+ } else {
+ hasIf = true;
+ }
+ return node;
+ }
+
+ public Object visit(AndPointcut node, Object data) {
+ if (!hasIf) node.getLeft().accept(this, data);
+ if (!hasIf) node.getRight().accept(this, data);
+ return node;
+ }
+
+ public Object visit(NotPointcut node, Object data) {
+ if (!hasIf) node.getNegatedPointcut().accept(this, data);
+ return node;
+ }
+
+ public Object visit(OrPointcut node, Object data) {
+ if (!hasIf) node.getLeft().accept(this, data);
+ if (!hasIf) node.getRight().accept(this, data);
+ return node;
+ }
+}