Package com.github.javaparser.ast.expr
Class LongLiteralExpr
- java.lang.Object
-
- com.github.javaparser.ast.Node
-
- com.github.javaparser.ast.expr.Expression
-
- com.github.javaparser.ast.expr.LiteralExpr
-
- com.github.javaparser.ast.expr.LiteralStringValueExpr
-
- com.github.javaparser.ast.expr.LongLiteralExpr
-
- All Implemented Interfaces:
NodeWithRange<Node>
,NodeWithTokenRange<Node>
,Observable
,Visitable
,HasParentNode<Node>
,Cloneable
public class LongLiteralExpr extends LiteralStringValueExpr
All ways to specify a long literal.8934l
0x01L
022l
0B10101010L
99999999L
- Author:
- Julio Vilmar Gesser
-
-
Nested Class Summary
-
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 Modifier and Type Field Description static BigInteger
MAX_63_BIT_UNSIGNED_VALUE_AS_BIG_INTEGER
static String
MAX_63_BIT_UNSIGNED_VALUE_AS_STRING
-
Fields inherited from class com.github.javaparser.ast.expr.LiteralStringValueExpr
value
-
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 LongLiteralExpr()
LongLiteralExpr(long value)
Deprecated.This function is deprecated in favor ofLongLiteralExpr(String)
.LongLiteralExpr(TokenRange tokenRange, String value)
This constructor is used by the parser and is considered private.LongLiteralExpr(String value)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated 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.long
asLong()
Deprecated.This function has issues with corner cases, such as 9223372036854775808L, so please useasNumber()
.LongLiteralExpr
asLongLiteralExpr()
Number
asNumber()
This function returns a representation of the literal value as a number.LongLiteralExpr
clone()
LongLiteralExprMetaModel
getMetaModel()
void
ifLongLiteralExpr(Consumer<LongLiteralExpr> action)
boolean
isLongLiteralExpr()
boolean
remove(Node node)
boolean
replace(Node node, Node replacementNode)
LongLiteralExpr
setLong(long value)
Deprecated.This function is deprecated in favor ofLiteralStringValueExpr.setValue(String)
.Optional<LongLiteralExpr>
toLongLiteralExpr()
-
Methods inherited from class com.github.javaparser.ast.expr.LiteralStringValueExpr
asLiteralStringValueExpr, getValue, ifLiteralStringValueExpr, isLiteralStringValueExpr, setValue, toLiteralStringValueExpr
-
Methods inherited from class com.github.javaparser.ast.expr.LiteralExpr
asLiteralExpr, ifLiteralExpr, isLiteralExpr, toLiteralExpr
-
Methods inherited from class com.github.javaparser.ast.expr.Expression
asAnnotationExpr, asArrayAccessExpr, asArrayCreationExpr, asArrayInitializerExpr, asAssignExpr, asBinaryExpr, asBooleanLiteralExpr, asCastExpr, asCharLiteralExpr, asClassExpr, asConditionalExpr, asDoubleLiteralExpr, asEnclosedExpr, asFieldAccessExpr, asInstanceOfExpr, asIntegerLiteralExpr, asLambdaExpr, asMarkerAnnotationExpr, asMethodCallExpr, asMethodReferenceExpr, asNameExpr, asNormalAnnotationExpr, asNullLiteralExpr, asObjectCreationExpr, asSingleMemberAnnotationExpr, asStringLiteralExpr, asSuperExpr, asSwitchExpr, asTextBlockLiteralExpr, asThisExpr, asTypeExpr, asUnaryExpr, asVariableDeclarationExpr, calculateResolvedType, ifAnnotationExpr, ifArrayAccessExpr, ifArrayCreationExpr, ifArrayInitializerExpr, ifAssignExpr, ifBinaryExpr, ifBooleanLiteralExpr, ifCastExpr, ifCharLiteralExpr, ifClassExpr, ifConditionalExpr, ifDoubleLiteralExpr, ifEnclosedExpr, ifFieldAccessExpr, ifInstanceOfExpr, ifIntegerLiteralExpr, ifLambdaExpr, ifMarkerAnnotationExpr, ifMethodCallExpr, ifMethodReferenceExpr, ifNameExpr, ifNormalAnnotationExpr, ifNullLiteralExpr, ifObjectCreationExpr, ifSingleMemberAnnotationExpr, ifStringLiteralExpr, ifSuperExpr, ifSwitchExpr, ifTextBlockLiteralExpr, ifThisExpr, ifTypeExpr, ifUnaryExpr, ifVariableDeclarationExpr, isAnnotationExpr, isArrayAccessExpr, isArrayCreationExpr, isArrayInitializerExpr, isAssignExpr, isBinaryExpr, isBooleanLiteralExpr, isCastExpr, isCharLiteralExpr, isClassExpr, isConditionalExpr, isDoubleLiteralExpr, isEnclosedExpr, isFieldAccessExpr, isInstanceOfExpr, isIntegerLiteralExpr, isLambdaExpr, isMarkerAnnotationExpr, isMethodCallExpr, isMethodReferenceExpr, isNameExpr, isNormalAnnotationExpr, isNullLiteralExpr, isObjectCreationExpr, isSingleMemberAnnotationExpr, isStringLiteralExpr, isSuperExpr, isSwitchExpr, isTextBlockLiteralExpr, isThisExpr, isTypeExpr, isUnaryExpr, isVariableDeclarationExpr, toAnnotationExpr, toArrayAccessExpr, toArrayCreationExpr, toArrayInitializerExpr, toAssignExpr, toBinaryExpr, toBooleanLiteralExpr, toCastExpr, toCharLiteralExpr, toClassExpr, toConditionalExpr, toDoubleLiteralExpr, toEnclosedExpr, toFieldAccessExpr, toInstanceOfExpr, toIntegerLiteralExpr, toLambdaExpr, toMarkerAnnotationExpr, toMethodCallExpr, toMethodReferenceExpr, toNameExpr, toNormalAnnotationExpr, toNullLiteralExpr, toObjectCreationExpr, toSingleMemberAnnotationExpr, toStringLiteralExpr, toSuperExpr, toSwitchExpr, toTextBlockLiteralExpr, toThisExpr, toTypeExpr, toUnaryExpr, toVariableDeclarationExpr
-
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, getDataKeys, getNodesByType, getOrphanComments, getParentNode, getParentNodeForChildren, getParsed, getRange, getSymbolResolver, getTokenRange, getToStringPrettyPrinterConfiguration, hashCode, isAncestorOf, isRegistered, notifyPropertyChange, register, register, registerForSubtree, remove, removeComment, removeData, removeForced, removeOrphanComment, replace, setAsParentNodeOf, setAsParentNodeOf, setBlockComment, setComment, setData, setLineComment, setParentNode, setParsed, setRange, setTokenRange, setToStringPrettyPrinterConfiguration, 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, isDescendantOf
-
Methods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithRange
containsWithin, containsWithinRange, getBegin, getEnd
-
-
-
-
Field Detail
-
MAX_63_BIT_UNSIGNED_VALUE_AS_STRING
public static final String MAX_63_BIT_UNSIGNED_VALUE_AS_STRING
- See Also:
- Constant Field Values
-
MAX_63_BIT_UNSIGNED_VALUE_AS_BIG_INTEGER
public static final BigInteger MAX_63_BIT_UNSIGNED_VALUE_AS_BIG_INTEGER
-
-
Constructor Detail
-
LongLiteralExpr
public LongLiteralExpr()
-
LongLiteralExpr
public LongLiteralExpr(String value)
-
LongLiteralExpr
public LongLiteralExpr(TokenRange tokenRange, String value)
This constructor is used by the parser and is considered private.
-
LongLiteralExpr
@Deprecated public LongLiteralExpr(long value)
Deprecated.This function is deprecated in favor ofLongLiteralExpr(String)
. Please refer to theasNumber()
function for valid formats and how to construct literals holding negative values.
-
-
Method Detail
-
accept
public <R,A> R accept(GenericVisitor<R,A> v, A arg)
Description copied from interface:Visitable
Accept method for visitor support.- 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.- Type Parameters:
A
- the type the argument passed for the visitor- Parameters:
v
- the visitor implementationarg
- any value relevant for the visitor (of type A)
-
remove
public boolean remove(Node node)
- Overrides:
remove
in classLiteralStringValueExpr
-
asLong
@Deprecated public long asLong()
Deprecated.This function has issues with corner cases, such as 9223372036854775808L, so please useasNumber()
. It will be made private or merged withasNumber()
in future releases- Returns:
- the literal value as an long while respecting different number representations
-
asNumber
public Number asNumber()
This function returns a representation of the literal value as a number. This will return a long, except for the case when the literal has the value9223372036854775808L
. This special literal is only allowed in the expression-9223372036854775808L
which representsLong.MIN_VALUE
). However 9223372036854775808 (2^63) is out of range of long, which is -(2^63) to (2^63)-1 and thus a BigInteger must be returned.Note, that this function will NOT return a negative number if the literal was specified in decimal, since according to the language specification (chapter 3.10.1) an expression such as
-1L
is represented by a unary * expression with a minus operator and the literal1L
. It is however possible to represent negative * numbers in a literal directly, i.e. by using the binary or hexadecimal representation. For example0xffff_ffff_ffff_ffffL
represents the value-1L
.- Returns:
- the literal value as a number while respecting different number representations
-
setLong
@Deprecated public LongLiteralExpr setLong(long value)
Deprecated.This function is deprecated in favor ofLiteralStringValueExpr.setValue(String)
. Please refer to theasNumber()
function for valid formats and how to construct literals holding negative values.
-
clone
public LongLiteralExpr clone()
- Overrides:
clone
in classLiteralStringValueExpr
-
getMetaModel
public LongLiteralExprMetaModel getMetaModel()
- Overrides:
getMetaModel
in classLiteralStringValueExpr
- Returns:
- get JavaParser specific node introspection information.
-
replace
public boolean replace(Node node, Node replacementNode)
- Overrides:
replace
in classLiteralStringValueExpr
-
isLongLiteralExpr
public boolean isLongLiteralExpr()
- Overrides:
isLongLiteralExpr
in classExpression
-
asLongLiteralExpr
public LongLiteralExpr asLongLiteralExpr()
- Overrides:
asLongLiteralExpr
in classExpression
-
ifLongLiteralExpr
public void ifLongLiteralExpr(Consumer<LongLiteralExpr> action)
- Overrides:
ifLongLiteralExpr
in classExpression
-
toLongLiteralExpr
public Optional<LongLiteralExpr> toLongLiteralExpr()
- Overrides:
toLongLiteralExpr
in classExpression
-
-