org.codehaus.groovy.ast.FieldNode.rename()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(4.0k)|赞(0)|评价(0)|浏览(77)

本文整理了Java中org.codehaus.groovy.ast.FieldNode.rename()方法的一些代码示例,展示了FieldNode.rename()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。FieldNode.rename()方法的具体详情如下:
包路径:org.codehaus.groovy.ast.FieldNode
类名称:FieldNode
方法名:rename

FieldNode.rename介绍

暂无

代码示例

代码示例来源:origin: spockframework/spock

private void changeSharedFieldInternalName(Field field) {
 field.getAst().rename(InternalIdentifiers.getSharedFieldName(field.getName()));
}

代码示例来源:origin: org.codehaus.groovy/groovy

static void visitField(ErrorCollecting xform, AnnotationNode node, FieldNode fieldNode) {
  final Expression soft = node.getMember("soft");
  final Expression init = getInitExpr(xform, fieldNode);
  String backingFieldName = "$" + fieldNode.getName();
  fieldNode.rename(backingFieldName);
  fieldNode.setModifiers(ACC_PRIVATE | (fieldNode.getModifiers() & (~(ACC_PUBLIC | ACC_PROTECTED))));
  PropertyNode pNode = fieldNode.getDeclaringClass().getProperty(backingFieldName);
  if (pNode != null) {
    fieldNode.getDeclaringClass().getProperties().remove(pNode);
  }
  if (soft instanceof ConstantExpression && ((ConstantExpression) soft).getValue().equals(true)) {
    createSoft(fieldNode, init);
  } else {
    create(fieldNode, init);
    // @Lazy not meaningful with primitive so convert to wrapper if needed
    if (ClassHelper.isPrimitiveType(fieldNode.getType())) {
      fieldNode.setType(ClassHelper.getWrapper(fieldNode.getType()));
    }
  }
}

代码示例来源:origin: org.kohsuke.droovy/groovy

public void visit(ASTNode[] nodes, SourceUnit source) {
  if (!(nodes[0] instanceof AnnotationNode) || !(nodes[1] instanceof AnnotatedNode)) {
    throw new RuntimeException("Internal error: wrong types: $node.class / $parent.class");
  }
  AnnotatedNode parent = (AnnotatedNode) nodes[1];
  AnnotationNode node = (AnnotationNode) nodes[0];
  if (parent instanceof FieldNode) {
    FieldNode fieldNode = (FieldNode) parent;
    final Expression member = node.getMember("soft");
    final Expression init = getInitExpr(fieldNode);
    fieldNode.rename("$" + fieldNode.getName());
    fieldNode.setModifiers(ACC_PRIVATE | (fieldNode.getModifiers() & (~(ACC_PUBLIC|ACC_PROTECTED))));
    if(member instanceof ConstantExpression && ((ConstantExpression)member).getValue().equals(true))
      createSoft(fieldNode, init);
    else {
      create(fieldNode, init);
    }
  }
}

代码示例来源:origin: org.codehaus.groovy/groovy-jdk14

public void visit(ASTNode[] nodes, SourceUnit source) {
  if (!(nodes[0] instanceof AnnotationNode) || !(nodes[1] instanceof AnnotatedNode)) {
    throw new RuntimeException("Internal error: wrong types: $node.class / $parent.class");
  }
  AnnotatedNode parent = (AnnotatedNode) nodes[1];
  AnnotationNode node = (AnnotationNode) nodes[0];
  if (parent instanceof FieldNode) {
    FieldNode fieldNode = (FieldNode) parent;
    final Expression member = node.getMember("soft");
    final Expression init = getInitExpr(fieldNode);
    fieldNode.rename("$" + fieldNode.getName());
    fieldNode.setModifiers(ACC_PRIVATE | (fieldNode.getModifiers() & (~(ACC_PUBLIC|ACC_PROTECTED))));
    if(member instanceof ConstantExpression && ((ConstantExpression)member).getValue().equals(true))
      createSoft(fieldNode, init);
    else {
      create(fieldNode, init);
    }
  }
}

代码示例来源:origin: com.thinkaurelius.groovy-shaded-asm/groovy-shaded-asm

public void visit(ASTNode[] nodes, SourceUnit source) {
  if (nodes.length != 2 || !(nodes[0] instanceof AnnotationNode) || !(nodes[1] instanceof AnnotatedNode)) {
    throw new GroovyBugError("Internal error: expecting [AnnotationNode, AnnotatedNode] but got: " + Arrays.asList(nodes));
  }
  AnnotatedNode parent = (AnnotatedNode) nodes[1];
  AnnotationNode node = (AnnotationNode) nodes[0];
  if (parent instanceof FieldNode) {
    final FieldNode fieldNode = (FieldNode) parent;
    final Expression soft = node.getMember("soft");
    final Expression init = getInitExpr(fieldNode);
    fieldNode.rename("$" + fieldNode.getName());
    fieldNode.setModifiers(ACC_PRIVATE | (fieldNode.getModifiers() & (~(ACC_PUBLIC | ACC_PROTECTED))));
    
    if (soft instanceof ConstantExpression && ((ConstantExpression) soft).getValue().equals(true))
      createSoft(fieldNode, init);
    else {
      create(fieldNode, init);
      // @Lazy not meaningful with primitive so convert to wrapper if needed
      if (ClassHelper.isPrimitiveType(fieldNode.getType())) {
        fieldNode.setType(ClassHelper.getWrapper(fieldNode.getType()));
      }
    }
  }
}

相关文章