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>
,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.-
Nested classes/interfaces inherited from class com.github.javaparser.ast.Node
Node.ObserverRegistrationMode, Node.Parsedness
-
-
Field Summary
-
Fields inherited from class com.github.javaparser.ast.Node
ABSOLUTE_BEGIN_LINE, ABSOLUTE_END_LINE, NODE_BY_BEGIN_POSITION, prettyPrinterNoCommentsConfiguration
-
-
Constructor Summary
Constructors Constructor Description ArrayType(Type type, AnnotationExpr... annotations)
ArrayType(Type componentType, NodeList<AnnotationExpr> annotations)
ArrayType(TokenRange tokenRange, Type componentType, 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.String
asString()
ArrayType
clone()
Type
getComponentType()
ArrayTypeMetaModel
getMetaModel()
List<NodeList<?>>
getNodeLists()
The list of NodeLists owned by this node.boolean
remove(Node node)
boolean
replace(Node node, Node replacementNode)
ArrayType
setAnnotations(NodeList<AnnotationExpr> annotations)
ArrayType
setComponentType(Type componentType)
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.Type
getAnnotation, getAnnotations, getArrayLevel, getElementType
-
Methods inherited from class com.github.javaparser.ast.Node
addOrphanComment, customInitialization, equals, getAllContainedComments, getChildNodes, getChildNodesByType, getComment, getData, getNodesByType, getOrphanComments, getParentNode, getParentNodeForChildren, getParsed, getRange, getTokenRange, hasComment, hashCode, isRegistered, notifyPropertyChange, register, register, registerForSubtree, remove, removeComment, removeForced, removeOrphanComment, replace, setAsParentNodeOf, setAsParentNodeOf, setBlockComment, setComment, setData, setLineComment, setParentNode, setParsed, setRange, setTokenRange, toString, toString, tryAddImportToParentCompilationUnit, unregister
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.github.javaparser.HasParentNode
getAncestorOfType
-
Methods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithAnnotations
addAndGetAnnotation, addAndGetAnnotation, addAnnotation, addAnnotation, addAnnotation, addMarkerAnnotation, addMarkerAnnotation, 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, NodeList<AnnotationExpr> annotations)
-
ArrayType
public ArrayType(Type type, AnnotationExpr... annotations)
-
ArrayType
@Generated("com.github.javaparser.generator.core.node.MainConstructorGenerator") public ArrayType(TokenRange tokenRange, Type componentType, NodeList<AnnotationExpr> annotations)
This constructor is used by the parser and is considered private.
-
-
Method Detail
-
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
@Generated("com.github.javaparser.generator.core.node.PropertyGenerator") public Type getComponentType()
-
setComponentType
@Generated("com.github.javaparser.generator.core.node.PropertyGenerator") public ArrayType setComponentType(Type componentType)
-
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
-
getNodeLists
@Generated("com.github.javaparser.generator.core.node.GetNodeListsGenerator") public List<NodeList<?>> getNodeLists()
Description copied from class:Node
The list of NodeLists owned by this node.- Overrides:
getNodeLists
in classNode
-
remove
@Generated("com.github.javaparser.generator.core.node.RemoveMethodGenerator") public boolean remove(Node node)
- Overrides:
remove
in classReferenceType
-
clone
@Generated("com.github.javaparser.generator.core.node.CloneGenerator") public ArrayType clone()
- Overrides:
clone
in classReferenceType
-
getMetaModel
@Generated("com.github.javaparser.generator.core.node.GetMetaModelGenerator") public ArrayTypeMetaModel getMetaModel()
- Overrides:
getMetaModel
in classReferenceType
- Returns:
- get JavaParser specific node introspection information.
-
replace
@Generated("com.github.javaparser.generator.core.node.ReplaceMethodGenerator") public boolean replace(Node node, Node replacementNode)
- Overrides:
replace
in classReferenceType
-
-