1 4 5 package com.tc.aspectwerkz.expression.ast; 6 7 import com.tc.aspectwerkz.expression.regexp.Pattern; 8 import com.tc.aspectwerkz.expression.regexp.TypePattern; 9 import com.tc.aspectwerkz.expression.SubtypePatternType; 10 11 public class ASTParameter extends SimpleNode { 12 13 private TypePattern m_declaringClassPattern; 14 15 public ASTParameter(int id) { 16 super(id); 17 } 18 19 public ASTParameter(ExpressionParser p, int id) { 20 super(p, id); 21 } 22 23 public Object jjtAccept(ExpressionParserVisitor visitor, Object data) { 24 return visitor.visit(this, data); 25 } 26 27 public void setTypePattern(String pattern) { 28 if (pattern.endsWith("+")) { 29 pattern = pattern.substring(0, pattern.length() - 1); 30 m_declaringClassPattern = Pattern.compileTypePattern(pattern, SubtypePatternType.MATCH_ON_ALL_METHODS); 31 } else if (pattern.endsWith("#")) { 32 pattern = pattern.substring(0, pattern.length() - 1); 33 m_declaringClassPattern = Pattern.compileTypePattern( 34 pattern, 35 SubtypePatternType.MATCH_ON_BASE_TYPE_METHODS_ONLY 36 ); 37 } else { 38 m_declaringClassPattern = Pattern.compileTypePattern(pattern, SubtypePatternType.NOT_HIERARCHICAL); 39 } 40 } 41 42 public TypePattern getDeclaringClassPattern() { 43 return m_declaringClassPattern; 44 } 45 } | Popular Tags |