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;
}
}
- /**
- * 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;
--- /dev/null
+/* *******************************************************************
+ * 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;
+ }
+}