Select Git revision
ASTNodeAnnotation.java
-
wangyingjian authoredwangyingjian authored
ASTNodeAnnotation.java 2.46 KiB
package org.jastadd.ag.ast;
import java.util.*;
/**
* @ast class
* @declaredat ASTNode:346
*/
public class ASTNodeAnnotation extends java.lang.Object {
/**
* @declaredat ASTNode:347
*/
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
@java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD)
@java.lang.annotation.Documented
public @interface Child {
String name();
}
/**
* @declaredat ASTNode:354
*/
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
@java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD)
@java.lang.annotation.Documented
public @interface ListChild {
String name();
}
/**
* @declaredat ASTNode:361
*/
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
@java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD)
@java.lang.annotation.Documented
public @interface OptChild {
String name();
}
/**
* @declaredat ASTNode:368
*/
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
@java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD)
@java.lang.annotation.Documented
public @interface Token {
String name();
}
/**
* @declaredat ASTNode:375
*/
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
@java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD)
@java.lang.annotation.Documented
public @interface Attribute {
Kind kind();
boolean isCircular() default false;
boolean isNTA() default false;
}
/**
* @declaredat ASTNode:383
*/
public enum Kind { SYN, INH, COLL }
/**
* @declaredat ASTNode:385
*/
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
@java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD)
@java.lang.annotation.Documented
public @interface Source {
String aspect() default "";
String declaredAt() default "";
}
/**
* @declaredat ASTNode:393
*/
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
@java.lang.annotation.Target(java.lang.annotation.ElementType.CONSTRUCTOR)
@java.lang.annotation.Documented
public @interface Constructor{
String[] name();
String[] type();
String[] kind();
}
}