Package com.github.javaparser.ast.type
Class ArrayType
- java.lang.Object
-
- com.github.javaparser.ast.Node
-
- com.github.javaparser.ast.type.Type
-
- com.github.javaparser.ast.type.ReferenceType
-
- com.github.javaparser.ast.type.ArrayType
-
- All Implemented Interfaces:
NodeWithAnnotations<ArrayType>
,NodeWithRange<Node>
,NodeWithTokenRange<Node>
,Observable
,Visitable
,HasParentNode<Node>
,Resolvable<ResolvedType>
,Cloneable
public final class ArrayType extends ReferenceType implements NodeWithAnnotations<ArrayType>
To indicate that a type is an array, it gets wrapped in an ArrayType for every array level it has. So, int[][] becomes ArrayType(ArrayType(int)).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ArrayType.ArrayBracketPair
Helper class that stores information about a pair of brackets in a non-recursive way (unlike ArrayType.)static class
ArrayType.Origin
The origin of a pair of array brackets [].-
Nested classes/interfaces inherited from class com.github.javaparser.ast.Node
Node.BreadthFirstIterator, Node.DirectChildrenIterator, Node.ObserverRegistrationMode, Node.ParentsVisitor, Node.Parsedness, Node.PostOrderIterator, Node.PreOrderIterator, Node.TreeTraversal
-
-
Field Summary
-
Fields inherited from class com.github.javaparser.ast.Node
ABSOLUTE_BEGIN_LINE, ABSOLUTE_END_LINE, NODE_BY_BEGIN_POSITION, prettyPrinterNoCommentsConfiguration, SYMBOL_RESOLVER_KEY
-
-
Constructor Summary
Constructors Constructor Description ArrayType(Type type, AnnotationExpr... annotations)
ArrayType(Type componentType, ArrayType.Origin origin, NodeList<AnnotationExpr> annotations)
ArrayType(TokenRange tokenRange, Type componentType, ArrayType.Origin origin, NodeList<AnnotationExpr> annotations)
This constructor is used by the parser and is considered private.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description <R,A>
Raccept(GenericVisitor<R,A> v, A arg)
Accept method for visitor support.<A> void
accept(VoidVisitor<A> v, A arg)
Accept method for visitor support.ArrayType
asArrayType()
String
asString()
ArrayType
clone()
Type
getComponentType()
ArrayTypeMetaModel
getMetaModel()
ArrayType.Origin
getOrigin()
void
ifArrayType(Consumer<ArrayType> action)
boolean
isArrayType()
boolean
remove(Node node)
boolean
replace(Node node, Node replacementNode)
ResolvedArrayType
resolve()
ArrayType
setAnnotations(NodeList<AnnotationExpr> annotations)
ArrayType
setComponentType(Type componentType)
ArrayType
setOrigin(ArrayType.Origin origin)
Optional<ArrayType>
toArrayType()
static Pair<Type,List<ArrayType.ArrayBracketPair>>
unwrapArrayTypes(Type type)
Takes a type that may be an ArrayType.static Type
wrapInArrayTypes(Type type, List<ArrayType.ArrayBracketPair>... arrayBracketPairLists)
Takes lists of arrayBracketPairs, assumes the lists are ordered left to right and the pairs are ordered left to right, mirroring the actual code.-
Methods inherited from class com.github.javaparser.ast.type.ReferenceType
asReferenceType, ifReferenceType, isReferenceType, toReferenceType
-
Methods inherited from class com.github.javaparser.ast.type.Type
asClassOrInterfaceType, asIntersectionType, asPrimitiveType, asTypeParameter, asUnionType, asUnknownType, asVarType, asVoidType, asWildcardType, getAnnotation, getAnnotations, getArrayLevel, getElementType, ifClassOrInterfaceType, ifIntersectionType, ifPrimitiveType, ifTypeParameter, ifUnionType, ifUnknownType, ifVarType, ifVoidType, ifWildcardType, isClassOrInterfaceType, isIntersectionType, isPrimitiveType, isTypeParameter, isUnionType, isUnknownType, isVarType, isVoidType, isWildcardType, toClassOrInterfaceType, toIntersectionType, toPrimitiveType, toTypeParameter, toUnionType, toUnknownType, toVarType, toVoidType, toWildcardType
-
Methods inherited from class com.github.javaparser.ast.Node
addOrphanComment, containsData, customInitialization, equals, findAll, findAll, findCompilationUnit, findFirst, findFirst, findFirst, findRootNode, getAllContainedComments, getChildNodes, getChildNodesByType, getComment, getData, getNodesByType, getOrphanComments, getParentNode, getParentNodeForChildren, getParsed, getRange, getSymbolResolver, getTokenRange, hasComment, hashCode, isRegistered, notifyPropertyChange, register, register, registerForSubtree, remove, removeComment, removeData, removeForced, removeOrphanComment, replace, setAsParentNodeOf, setAsParentNodeOf, setBlockComment, setComment, setData, setLineComment, setParentNode, setParsed, setRange, setTokenRange, stream, stream, toString, toString, tryAddImportToParentCompilationUnit, unregister, walk, walk, walk
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.github.javaparser.HasParentNode
findAncestor, findAncestor, findParent, getAncestorOfType
-
Methods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithAnnotations
addAndGetAnnotation, addAndGetAnnotation, addAnnotation, addAnnotation, addAnnotation, addMarkerAnnotation, addMarkerAnnotation, addSingleMemberAnnotation, addSingleMemberAnnotation, addSingleMemberAnnotation, addSingleMemberAnnotation, getAnnotation, getAnnotationByClass, getAnnotationByName, getAnnotations, isAnnotationPresent, isAnnotationPresent, setAnnotation, tryAddImportToParentCompilationUnit
-
Methods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithRange
containsWithin, getBegin, getEnd, isPositionedAfter, isPositionedBefore
-
-
-
-
Constructor Detail
-
ArrayType
public ArrayType(Type componentType, ArrayType.Origin origin, NodeList<AnnotationExpr> annotations)
-
ArrayType
public ArrayType(Type type, AnnotationExpr... annotations)
-
ArrayType
public ArrayType(TokenRange tokenRange, Type componentType, ArrayType.Origin origin, NodeList<AnnotationExpr> annotations)
This constructor is used by the parser and is considered private.
-
-
Method Detail
-
resolve
public ResolvedArrayType resolve()
- Specified by:
resolve
in interfaceResolvable<ResolvedType>
- Specified by:
resolve
in classType
-
accept
public <R,A> R accept(GenericVisitor<R,A> v, A arg)
Description copied from interface:Visitable
Accept method for visitor support.- Specified by:
accept
in interfaceVisitable
- Type Parameters:
R
- the type of the return value of the visitorA
- the type the user argument passed to the visitor- Parameters:
v
- the visitor implementationarg
- the argument passed to the visitor (of type A)- Returns:
- the result of the visit (of type R)
-
accept
public <A> void accept(VoidVisitor<A> v, A arg)
Description copied from interface:Visitable
Accept method for visitor support.
-
getComponentType
public Type getComponentType()
-
wrapInArrayTypes
@SafeVarargs public static Type wrapInArrayTypes(Type type, List<ArrayType.ArrayBracketPair>... arrayBracketPairLists)
Takes lists of arrayBracketPairs, assumes the lists are ordered left to right and the pairs are ordered left to right, mirroring the actual code. The type gets wrapped in ArrayTypes so that the outermost ArrayType corresponds to the rightmost ArrayBracketPair.
-
unwrapArrayTypes
public static Pair<Type,List<ArrayType.ArrayBracketPair>> unwrapArrayTypes(Type type)
Takes a type that may be an ArrayType. Unwraps ArrayTypes until the element type is found.- Returns:
- a pair of the element type, and the unwrapped ArrayTypes, if any.
-
setAnnotations
public ArrayType setAnnotations(NodeList<AnnotationExpr> annotations)
- Specified by:
setAnnotations
in interfaceNodeWithAnnotations<ArrayType>
- Overrides:
setAnnotations
in classType
-
getOrigin
public ArrayType.Origin getOrigin()
-
setOrigin
public ArrayType setOrigin(ArrayType.Origin origin)
-
remove
public boolean remove(Node node)
- Overrides:
remove
in classReferenceType
-
clone
public ArrayType clone()
- Overrides:
clone
in classReferenceType
-
getMetaModel
public ArrayTypeMetaModel getMetaModel()
- Overrides:
getMetaModel
in classReferenceType
- Returns:
- get JavaParser specific node introspection information.
-
replace
public boolean replace(Node node, Node replacementNode)
- Overrides:
replace
in classReferenceType
-
isArrayType
public boolean isArrayType()
- Overrides:
isArrayType
in classType
-
asArrayType
public ArrayType asArrayType()
- Overrides:
asArrayType
in classType
-
ifArrayType
public void ifArrayType(Consumer<ArrayType> action)
- Overrides:
ifArrayType
in classType
-
toArrayType
public Optional<ArrayType> toArrayType()
- Overrides:
toArrayType
in classType
-
-