本文整理汇总了Java中org.codehaus.groovy.ast.expr.DeclarationExpression.setDeclaringClass方法的典型用法代码示例。如果您正苦于以下问题:Java DeclarationExpression.setDeclaringClass方法的具体用法?Java DeclarationExpression.setDeclaringClass怎么用?Java DeclarationExpression.setDeclaringClass使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.codehaus.groovy.ast.expr.DeclarationExpression
的用法示例。
在下文中一共展示了DeclarationExpression.setDeclaringClass方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: transformDeclarationExpression
import org.codehaus.groovy.ast.expr.DeclarationExpression; //导入方法依赖的package包/类
protected Expression transformDeclarationExpression(DeclarationExpression de) {
visitAnnotations(de);
Expression oldLeft = de.getLeftExpression();
checkingVariableTypeInDeclaration = true;
Expression left = transform(oldLeft);
checkingVariableTypeInDeclaration = false;
if (left instanceof ClassExpression) {
ClassExpression ce = (ClassExpression) left;
addError("you tried to assign a value to the class " + ce.getType().getName(), oldLeft);
return de;
}
Expression right = transform(de.getRightExpression());
if (right == de.getRightExpression()) {
fixDeclaringClass(de);
return de;
}
DeclarationExpression newDeclExpr = new DeclarationExpression(left, de.getOperation(), right);
newDeclExpr.setDeclaringClass(de.getDeclaringClass());
fixDeclaringClass(newDeclExpr);
newDeclExpr.setSourcePosition(de);
newDeclExpr.addAnnotations(de.getAnnotations());
return newDeclExpr;
}
示例2: fixDeclaringClass
import org.codehaus.groovy.ast.expr.DeclarationExpression; //导入方法依赖的package包/类
private void fixDeclaringClass(DeclarationExpression newDeclExpr) {
if (newDeclExpr.getDeclaringClass() == null && currentMethod != null) {
newDeclExpr.setDeclaringClass(currentMethod.getDeclaringClass());
}
}