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
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
Modifier and TypeClassDescriptionstatic class
Helper class that stores information about a pair of brackets in a non-recursive way (unlike ArrayType.)static class
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, LINE_SEPARATOR_KEY, NODE_BY_BEGIN_POSITION, PHANTOM_KEY, prettyPrinterNoCommentsConfiguration, PRINTER_KEY, SYMBOL_RESOLVER_KEY
-
Constructor Summary
ConstructorDescriptionArrayType(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
Modifier and TypeMethodDescription<R, A> R
accept(GenericVisitor<R,A> v, A arg)
Accept method for visitor support.<A> void
accept(VoidVisitor<A> v, A arg)
Accept method for visitor support.asString()
clone()
void
ifArrayType(Consumer<ArrayType> action)
boolean
boolean
boolean
resolve()
setAnnotations(NodeList<AnnotationExpr> annotations)
setComponentType(Type componentType)
setOrigin(ArrayType.Origin origin)
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 outer to inner and the pairs are ordered left to right.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, createDefaultPrinter, createDefaultPrinter, customInitialization, equals, findAll, findAll, findAll, findCompilationUnit, findFirst, findFirst, findFirst, findRootNode, getAllContainedComments, getChildNodes, getChildNodesByType, getComment, getData, getDataKeys, getDefaultPrinterConfiguration, getLineEndingStyle, getLineEndingStyleOrDefault, getNodesByType, getOrphanComments, getParentNode, getParentNodeForChildren, getParsed, getPrinter, getPrinter, getRange, getSymbolResolver, getTokenRange, hashCode, hasScope, isAncestorOf, isPhantom, 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, hasParentNode, isDescendantOf
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, containsWithinRange, getBegin, getEnd, hasRange
-
Constructor Details
-
ArrayType
public ArrayType(Type componentType, ArrayType.Origin origin, NodeList<AnnotationExpr> annotations) -
ArrayType
-
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 Details
-
resolve
- Specified by:
resolve
in interfaceResolvable<ResolvedType>
- Specified by:
resolve
in classType
-
accept
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
Description copied from interface:Visitable
Accept method for visitor support. -
getComponentType
-
setComponentType
-
wrapInArrayTypes
@SafeVarargs public static Type wrapInArrayTypes(Type type, List<ArrayType.ArrayBracketPair>... arrayBracketPairLists)Takes lists of arrayBracketPairs, assumes the lists are ordered outer to inner and the pairs are ordered left to right. The type gets wrapped in ArrayTypes so that the outermost ArrayType corresponds to the leftmost ArrayBracketPair in the first list. -
unwrapArrayTypes
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
- Specified by:
setAnnotations
in interfaceNodeWithAnnotations<ArrayType>
- Overrides:
setAnnotations
in classType
-
getOrigin
-
setOrigin
-
remove
- Overrides:
remove
in classReferenceType
-
asString
-
toDescriptor
- Specified by:
toDescriptor
in classReferenceType
-
clone
- Overrides:
clone
in classReferenceType
-
getMetaModel
- Overrides:
getMetaModel
in classReferenceType
- Returns:
- get JavaParser specific node introspection information.
-
replace
- Overrides:
replace
in classReferenceType
-
isArrayType
public boolean isArrayType()- Overrides:
isArrayType
in classType
-
asArrayType
- Overrides:
asArrayType
in classType
-
ifArrayType
- Overrides:
ifArrayType
in classType
-
toArrayType
- Overrides:
toArrayType
in classType
-