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

x33g5p2x  于2022-01-16 转载在 其他  
字(5.0k)|赞(0)|评价(0)|浏览(82)

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

AnnotationNode.setAllowedTargets介绍

暂无

代码示例

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

public void configureAnnotationNodeFromDefinition(AnnotationNode definition, AnnotationNode root) {
  ClassNode type = definition.getClassNode();
  if ("java.lang.annotation.Retention".equals(type.getName())) {
    Expression exp = definition.getMember("value");
    if (!(exp instanceof PropertyExpression)) return;
    PropertyExpression pe = (PropertyExpression) exp;
    String name = pe.getPropertyAsString();
    RetentionPolicy policy = RetentionPolicy.valueOf(name);
    setRetentionPolicy(policy, root);
  } else if ("java.lang.annotation.Target".equals(type.getName())) {
    Expression exp = definition.getMember("value");
    if (!(exp instanceof ListExpression)) return;
    ListExpression le = (ListExpression) exp;
    int bitmap = 0;
    for (Expression e : le.getExpressions()) {
      if (!(e instanceof PropertyExpression)) return;
      PropertyExpression element = (PropertyExpression) e;
      String name = element.getPropertyAsString();
      ElementType value = ElementType.valueOf(name);
      bitmap |= getElementCode(value);
    }
    root.setAllowedTargets(bitmap);
  }
}

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

this.annotation.setAllowedTargets(bitmap);

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

private void configureAnnotationFromDefinition(AnnotationNode definition, AnnotationNode root) {
  ClassNode type = definition.getClassNode();
  if (!type.isResolved()) return;
  Class clazz = type.getTypeClass();
  if (clazz==Retention.class) {
    Expression exp = definition.getMember("value");
    if (!(exp instanceof PropertyExpression)) return;
    PropertyExpression pe = (PropertyExpression) exp;
    String name = pe.getPropertyAsString();
    RetentionPolicy policy = RetentionPolicy.valueOf(name);
    setRetentionPolicy(policy,root);
  } else if (clazz==Target.class) {
    Expression exp = definition.getMember("value");
    if (!(exp instanceof ListExpression)) return;
    ListExpression le = (ListExpression) exp;
    int bitmap = 0;
    for (Iterator it=le.getExpressions().iterator(); it.hasNext();) {
      PropertyExpression element = (PropertyExpression) it.next();
      String name = element.getPropertyAsString();
      ElementType value = ElementType.valueOf(name);
      bitmap |= getElementCode(value);
    }
    root.setAllowedTargets(bitmap);
  }
}

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

private void configureAnnotationFromDefinition(AnnotationNode definition, AnnotationNode root) {
  ClassNode type = definition.getClassNode();
  if (!type.isResolved()) return;
  Class clazz = type.getTypeClass();
  if (clazz == Retention.class) {
    Expression exp = definition.getMember("value");
    if (!(exp instanceof PropertyExpression)) return;
    PropertyExpression pe = (PropertyExpression) exp;
    String name = pe.getPropertyAsString();
    RetentionPolicy policy = RetentionPolicy.valueOf(name);
    setRetentionPolicy(policy, root);
  } else if (clazz == Target.class) {
    Expression exp = definition.getMember("value");
    if (!(exp instanceof ListExpression)) return;
    ListExpression le = (ListExpression) exp;
    int bitmap = 0;
    for (Iterator it=le.getExpressions().iterator(); it.hasNext();) {
      PropertyExpression element = (PropertyExpression) it.next();
      String name = element.getPropertyAsString();
      ElementType value = ElementType.valueOf(name);
      bitmap |= getElementCode(value);
    }
    root.setAllowedTargets(bitmap);
  }
}

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

private void configureAnnotation(AnnotationNode node, Annotation annotation) {
  Class type = annotation.annotationType();
  if (type == Retention.class) {
    Retention r = (Retention) annotation;
    RetentionPolicy value = r.value();
    setRetentionPolicy(value,node);
    node.setMember("value",new PropertyExpression(
        new ClassExpression(ClassHelper.makeWithoutCaching(RetentionPolicy.class,false)),
        value.toString()));
  } else if (type == Target.class) {
    Target t = (Target) annotation;
    ElementType[] elements = t.value();
    int bitmap = 0;
    for (int i=0; i<elements.length; i++) {
      bitmap |= getElementCode(elements[i]);
    }
    node.setAllowedTargets(bitmap);
  }
}

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

private void configureAnnotationFromDefinition(AnnotationNode definition, AnnotationNode root) {
  ClassNode type = definition.getClassNode();
  if (!type.isResolved()) return;
  Class clazz = type.getTypeClass();
  if (clazz == Retention.class) {
    Expression exp = definition.getMember("value");
    if (!(exp instanceof PropertyExpression)) return;
    PropertyExpression pe = (PropertyExpression) exp;
    String name = pe.getPropertyAsString();
    RetentionPolicy policy = RetentionPolicy.valueOf(name);
    setRetentionPolicy(policy, root);
  } else if (clazz == Target.class) {
    Expression exp = definition.getMember("value");
    if (!(exp instanceof ListExpression)) return;
    ListExpression le = (ListExpression) exp;
    int bitmap = 0;
    for (Expression e : le.getExpressions()) {
      PropertyExpression element = (PropertyExpression) e;
      String name = element.getPropertyAsString();
      ElementType value = ElementType.valueOf(name);
      bitmap |= getElementCode(value);
    }
    root.setAllowedTargets(bitmap);
  }
}

相关文章