String pointcutRef = tokenizer.nextToken();
ExpressionTemplate template = getExpressionTemplate(m_namespace, pointcutRef);
if (template == null) {
throw new ExpressionException("referenced pointcut [" + pointcutRef + "] does not exist");
}
currentType = template.getType();
if (hasTypeMisMatch(previousType, currentType)) {
StringBuffer msg = new StringBuffer();
msg.append("nested expressions needs to be of the same type: [");
msg.append(template.getExpression());
msg.append("] : [");
msg.append(m_expression);
msg.append(']');
throw new ExpressionException(msg.toString());
}
if (pointcutType == null && !currentType.equals(PointcutType.CFLOW)) {
pointcutType = currentType;
}