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

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

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

FieldNode.setModifiers介绍

暂无

代码示例

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

public static void setVisibility(FieldNode field, int visibility) {
 int modifiers = field.getModifiers();
 modifiers &= ~(Opcodes.ACC_PUBLIC | Opcodes.ACC_PROTECTED | Opcodes.ACC_PRIVATE);
 field.setModifiers(modifiers | visibility);
}

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

private static void revertVisibility(FieldNode fNode) {
  fNode.setModifiers(fNode.getModifiers() & ~ACC_PRIVATE);
}

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

private static void adjustPropertyForImmutability(PropertyNode pNode, List<PropertyNode> newNodes, PropertyHandler handler) {
  final FieldNode fNode = pNode.getField();
  fNode.setModifiers((pNode.getModifiers() & (~ACC_PUBLIC)) | ACC_FINAL | ACC_PRIVATE);
  pNode.setSetterBlock(null);
  Statement getter = handler.createPropGetter(pNode);
  if (getter != null) {
    pNode.setGetterBlock(getter);
  }
  newNodes.add(pNode);
}

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

private static void makeSharedFieldProtectedAndVolatile(Field field) {
 AstUtil.setVisibility(field.getAst(), Opcodes.ACC_PROTECTED);
 field.getAst().setModifiers(field.getAst().getModifiers() | Opcodes.ACC_VOLATILE);
}

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

private static void visitDeprecation(AnnotatedNode node, AnnotationNode visited) {
  if (visited.getClassNode().isResolved() && visited.getClassNode().getName().equals("java.lang.Deprecated")) {
    if (node instanceof MethodNode) {
      MethodNode mn = (MethodNode) node;
      mn.setModifiers(mn.getModifiers() | Opcodes.ACC_DEPRECATED);
    } else if (node instanceof FieldNode) {
      FieldNode fn = (FieldNode) node;
      fn.setModifiers(fn.getModifiers() | Opcodes.ACC_DEPRECATED);
    } else if (node instanceof ClassNode) {
      ClassNode cn = (ClassNode) node;
      cn.setModifiers(cn.getModifiers() | Opcodes.ACC_DEPRECATED);
    }
  }
}

代码示例来源: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.codehaus.groovy/groovy

fieldNode.setModifiers(fieldModifiers);
  fieldNode.setSynthetic(true);
  classNode.addProperty(propertyNode);
} else {
  fieldNode.setModifiers(modifiers);

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

private void revertVisibility(FieldNode fNode) {
    fNode.setModifiers(fNode.getModifiers() & (~ACC_PRIVATE));
  }
}

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

private void revertVisibility(FieldNode fNode) {
    fNode.setModifiers(fNode.getModifiers() & (~ACC_PRIVATE));
  }
}

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

private void revertVisibility(FieldNode fNode) {
  fNode.setModifiers(fNode.getModifiers() & ~ACC_PRIVATE);
}

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

private void adjustPropertyForImmutability(PropertyNode pNode, List<PropertyNode> newNodes) {
  final FieldNode fNode = pNode.getField();
  fNode.setModifiers((pNode.getModifiers() & (~ACC_PUBLIC)) | ACC_FINAL | ACC_PRIVATE);
  adjustPropertyNode(pNode, createGetterBody(fNode));
  newNodes.add(pNode);
}

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

private void adjustPropertyForImmutability(PropertyNode pNode, List<PropertyNode> newNodes) {
  final FieldNode fNode = pNode.getField();
  fNode.setModifiers((pNode.getModifiers() & (~ACC_PUBLIC)) | ACC_FINAL | ACC_PRIVATE);
  adjustPropertyNode(pNode, createGetterBody(fNode));
  newNodes.add(pNode);
}

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

private void adjustPropertyForImmutability(PropertyNode pNode, List<PropertyNode> newNodes) {
  final FieldNode fNode = pNode.getField();
  fNode.setModifiers((pNode.getModifiers() & (~ACC_PUBLIC)) | ACC_FINAL | ACC_PRIVATE);
  adjustPropertyNode(pNode, createGetterBody(fNode));
  newNodes.add(pNode);
}

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

private void visitDeprecation(AnnotatedNode node, AnnotationNode visited) {
  if (visited.getClassNode().isResolved() && visited.getClassNode().getTypeClass().getName().equals(Deprecated.class.getName())) {
    if (node instanceof MethodNode) {
      MethodNode mn = (MethodNode) node;
      mn.setModifiers(mn.getModifiers() | Opcodes.ACC_DEPRECATED);
    } else if (node instanceof FieldNode) {
      FieldNode fn = (FieldNode) node;
      fn.setModifiers(fn.getModifiers() | Opcodes.ACC_DEPRECATED);
    } else if (node instanceof ClassNode) {
      ClassNode cn = (ClassNode) node;
      cn.setModifiers(cn.getModifiers() | Opcodes.ACC_DEPRECATED);
    }
  }
}

代码示例来源: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

private void visitDeprecation(AnnotatedNode node, AnnotationNode visited) {
  if (visited.getClassNode().isResolved() && visited.getClassNode().getName().equals("java.lang.Deprecated")) {
    if (node instanceof MethodNode) {
      MethodNode mn = (MethodNode) node;
      mn.setModifiers(mn.getModifiers() | Opcodes.ACC_DEPRECATED);
    } else if (node instanceof FieldNode) {
      FieldNode fn = (FieldNode) node;
      fn.setModifiers(fn.getModifiers() | Opcodes.ACC_DEPRECATED);
    } else if (node instanceof ClassNode) {
      ClassNode cn = (ClassNode) node;
      cn.setModifiers(cn.getModifiers() | Opcodes.ACC_DEPRECATED);
    }
  }
}

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

private FieldNode setMetaClassFieldIfNotExists(ClassNode node, FieldNode metaClassField){
  if (metaClassField != null) return metaClassField;
  StaticMethodCallExpression initMetaClassCall = new StaticMethodCallExpression(
      ClassHelper.make(ScriptBytecodeAdapter.class),
      "initMetaClass",
      VariableExpression.THIS_EXPRESSION);
  PropertyNode metaClassProperty =
    node.addProperty("metaClass", ACC_PUBLIC, ClassHelper.make(MetaClass.class), initMetaClassCall, null, null);
  metaClassProperty.setSynthetic(true);
  FieldNode field = metaClassProperty.getField();
  field.setModifiers(field.getModifiers() | ACC_TRANSIENT);
  return field;
}

代码示例来源: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()));
      }
    }
  }
}

代码示例来源:origin: org.grails/grails-plugin-testing

protected void addJunitRuleFields(ClassNode classNode) {
  if(classNode.getField(JUNIT_ADAPTER_FIELD_NAME) != null) {
    return;
  }
  ClassNode junitAdapterType = ClassHelper.make(TestRuntimeJunitAdapter.class);
  FieldNode junitAdapterFieldNode = classNode.addField(JUNIT_ADAPTER_FIELD_NAME, Modifier.STATIC, junitAdapterType, new ConstructorCallExpression(junitAdapterType, MethodCallExpression.NO_ARGUMENTS));
  boolean spockTest = isSpockTest(classNode);
  FieldNode staticRuleFieldNode = classNode.addField(RULE_FIELD_NAME_BASE + "StaticClassRule", Modifier.PRIVATE | Modifier.STATIC, ClassHelper.make(TestRule.class), new MethodCallExpression(new FieldExpression(junitAdapterFieldNode), "newClassRule", new ClassExpression(classNode)));
  AnnotationNode classRuleAnnotation = new AnnotationNode(ClassHelper.make(ClassRule.class));
  if(spockTest) {
    // @ClassRule must be added to @Shared field in spock
    FieldNode spockSharedRuleFieldNode = classNode.addField(RULE_FIELD_NAME_BASE + "SharedClassRule", Modifier.PUBLIC, ClassHelper.make(TestRule.class), new FieldExpression(staticRuleFieldNode));
    spockSharedRuleFieldNode.addAnnotation(classRuleAnnotation);
    spockSharedRuleFieldNode.addAnnotation(new AnnotationNode(ClassHelper.make(Shared.class)));
    addSpockFieldMetadata(spockSharedRuleFieldNode, 0);
  } else {
    staticRuleFieldNode.setModifiers(Modifier.PUBLIC | Modifier.STATIC);
    staticRuleFieldNode.addAnnotation(classRuleAnnotation);
  }
  FieldNode ruleFieldNode = classNode.addField(RULE_FIELD_NAME_BASE + "Rule", Modifier.PUBLIC, ClassHelper.make(TestRule.class), new MethodCallExpression(new FieldExpression(junitAdapterFieldNode), "newRule", new VariableExpression("this")));
  ruleFieldNode.addAnnotation(new AnnotationNode(ClassHelper.make(Rule.class)));
  if(spockTest) {
    addSpockFieldMetadata(ruleFieldNode, 0);
  }
}

相关文章