Home | History | Annotate | Download | only in ast
      1 package com.github.javaparser.ast;
      2 
      3 import com.github.javaparser.Range;
      4 import com.github.javaparser.ast.expr.AnnotationExpr;
      5 import com.github.javaparser.ast.expr.Expression;
      6 import com.github.javaparser.ast.nodeTypes.NodeWithAnnotations;
      7 import com.github.javaparser.ast.visitor.GenericVisitor;
      8 import com.github.javaparser.ast.visitor.VoidVisitor;
      9 
     10 import java.util.List;
     11 
     12 import static com.github.javaparser.utils.Utils.ensureNotNull;
     13 
     14 /**
     15  * In, for example, <code>int[] a[];</code> there are two ArrayBracketPair objects,
     16  * one for the [] after int, one for the [] after a.
     17  */
     18 public class ArrayBracketPair extends Node implements NodeWithAnnotations<ArrayBracketPair> {
     19     private List<AnnotationExpr> annotations;
     20 
     21     public ArrayBracketPair(Range range, List<AnnotationExpr> annotations) {
     22         super(range);
     23         setAnnotations(annotations);
     24     }
     25 
     26     @Override public <R, A> R accept(final GenericVisitor<R, A> v, final A arg) {
     27         return v.visit(this, arg);
     28     }
     29 
     30     @Override public <A> void accept(final VoidVisitor<A> v, final A arg) {
     31 		v.visit(this, arg);
     32     }
     33 
     34     public List<AnnotationExpr> getAnnotations() {
     35         annotations = ensureNotNull(annotations);
     36         return annotations;
     37     }
     38 
     39     public ArrayBracketPair setAnnotations(List<AnnotationExpr> annotations) {
     40         setAsParentNodeOf(annotations);
     41         this.annotations = annotations;
     42         return this;
     43     }
     44 }
     45