diff options
author | acolyer <acolyer> | 2005-07-29 11:15:13 +0000 |
---|---|---|
committer | acolyer <acolyer> | 2005-07-29 11:15:13 +0000 |
commit | 671f51b147ed947a954916be80ea7343ff1205c5 (patch) | |
tree | 2ece3b33cf4d8bd6e2488251fdfc0effdb9ee615 /weaver | |
parent | 7b1a3a44fbb4bea0661594e48e7f57583f5e24e5 (diff) | |
download | aspectj-671f51b147ed947a954916be80ea7343ff1205c5.tar.gz aspectj-671f51b147ed947a954916be80ea7343ff1205c5.zip |
the name says it all ;)
Diffstat (limited to 'weaver')
-rw-r--r-- | weaver/src/org/aspectj/weaver/patterns/HasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhereVisitor.java | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/weaver/src/org/aspectj/weaver/patterns/HasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhereVisitor.java b/weaver/src/org/aspectj/weaver/patterns/HasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhereVisitor.java new file mode 100644 index 000000000..0b2b9b5fc --- /dev/null +++ b/weaver/src/org/aspectj/weaver/patterns/HasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhereVisitor.java @@ -0,0 +1,50 @@ +/* ******************************************************************* + * Copyright (c) 2005 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://eclipse.org/legal/epl-v10.html + * + * Contributors: + * Adrian Colyer Initial implementation + * ******************************************************************/ +package org.aspectj.weaver.patterns; + +import org.aspectj.weaver.UnresolvedType; + +/** + * @author colyer + * + */ +public class HasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhereVisitor + extends AbstractPatternNodeVisitor { + + boolean ohYesItHas = false; + + /** + * Is the Exact type parameterized? + * Generic is ok as that just means we resolved a simple type pattern to a generic type + */ + public Object visit(ExactTypePattern node, Object data) { + UnresolvedType theExactType = node.getExactType(); + if (theExactType.isParameterizedType()) ohYesItHas = true; + //if (theExactType.isGenericType()) ohYesItHas = true; + return data; + } + + /** + * Any type bounds are bad. + * Type parameters are right out. + */ + public Object visit(WildTypePattern node, Object data) { + if (node.getUpperBound() != null) ohYesItHas = true; + if (node.getLowerBound() != null) ohYesItHas = true; + if (node.getTypeParameters().size() != 0) ohYesItHas = true; + return data; + } + + public boolean wellHasItThen/*?*/() { + return ohYesItHas; + } +} |