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