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,ConvertibleToUsage,Visitable,HasParentNode<Node>,Resolvable<ResolvedType>,Cloneable
public 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 classArrayType.ArrayBracketPairHelper class that stores information about a pair of brackets in a non-recursive way (unlike ArrayType.)static classArrayType.OriginThe 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
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> voidaccept(VoidVisitor<A> v, A arg)Accept method for visitor support.ArrayTypeasArrayType()StringasString()ArrayTypeclone()ResolvedTypeconvertToUsage(Context context)intgetArrayLevel()returns the array level that is 0 for non array type.TypegetComponentType()TypegetElementType()Finds the element type, meaning: the type without ArrayTypes around it.ArrayTypeMetaModelgetMetaModel()ArrayType.OrigingetOrigin()voidifArrayType(Consumer<ArrayType> action)booleanisArrayType()booleanreplace(Node node, Node replacementNode)ResolvedArrayTyperesolve()ArrayTypesetAnnotations(NodeList<AnnotationExpr> annotations)ArrayTypesetComponentType(Type componentType)ArrayTypesetOrigin(ArrayType.Origin origin)Optional<ArrayType>toArrayType()StringtoDescriptor()static Pair<Type,List<ArrayType.ArrayBracketPair>>unwrapArrayTypes(Type type)Takes a type that may be an ArrayType.static TypewrapInArrayTypes(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, ifClassOrInterfaceType, ifIntersectionType, ifPrimitiveType, ifTypeParameter, ifUnionType, ifUnknownType, ifVarType, ifVoidType, ifWildcardType, isClassOrInterfaceType, isIntersectionType, isPrimitiveType, isTypeParameter, isUnionType, isUnknownType, isVarType, isVoidType, isWildcardType, remove, 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, findByRange, findCompilationUnit, findData, 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, 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 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:
resolvein interfaceResolvable<ResolvedType>- Specified by:
resolvein classType
-
accept
public <R,A> R accept(GenericVisitor<R,A> v, A arg)
Description copied from interface:VisitableAccept method for visitor support.- Specified by:
acceptin 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:VisitableAccept 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 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
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:
setAnnotationsin interfaceNodeWithAnnotations<ArrayType>- Overrides:
setAnnotationsin classType
-
getOrigin
public ArrayType.Origin getOrigin()
-
setOrigin
public ArrayType setOrigin(ArrayType.Origin origin)
-
toDescriptor
public String toDescriptor()
- Specified by:
toDescriptorin classReferenceType
-
clone
public ArrayType clone()
- Overrides:
clonein classReferenceType
-
getMetaModel
public ArrayTypeMetaModel getMetaModel()
- Overrides:
getMetaModelin classReferenceType- Returns:
- get JavaParser specific node introspection information.
-
isArrayType
public boolean isArrayType()
- Overrides:
isArrayTypein classType
-
asArrayType
public ArrayType asArrayType()
- Overrides:
asArrayTypein classType
-
ifArrayType
public void ifArrayType(Consumer<ArrayType> action)
- Overrides:
ifArrayTypein classType
-
toArrayType
public Optional<ArrayType> toArrayType()
- Overrides:
toArrayTypein classType
-
getElementType
public Type getElementType()
Finds the element type, meaning: the type without ArrayTypes around it.In "
int[] a[];", the element type is int.- Overrides:
getElementTypein classType
-
getArrayLevel
public int getArrayLevel()
returns the array level that is 0 for non array type.- Overrides:
getArrayLevelin classType
-
convertToUsage
public ResolvedType convertToUsage(Context context)
- Specified by:
convertToUsagein interfaceConvertibleToUsage
-
-