From 9a84fe9d3af82b03103c4566a953fc54837db1f9 Mon Sep 17 00:00:00 2001 From: aclement Date: Fri, 18 Aug 2006 12:28:20 +0000 Subject: [PATCH] minor refactoring for a forthcoming fix --- .../aspectj/weaver/bcel/AtAjAttributes.java | 37 -------------- .../src/org/aspectj/weaver/bcel/IfFinder.java | 50 +++++++++++++++++++ 2 files changed, 50 insertions(+), 37 deletions(-) create mode 100644 weaver/src/org/aspectj/weaver/bcel/IfFinder.java 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; + } +} -- 2.39.5