org.extendj.ast
node type DoubleLiteral

General Info

Production
DoubleLiteral : NumericLiteral;
Type Hierarchy:
java.lang.Object
  extended by beaver.Symbol
      extended by org.extendj.ast.ASTNode<ASTNode>
          extended by org.extendj.ast.Expr
              extended by org.extendj.ast.PrimaryExpr
                  extended by org.extendj.ast.Literal
                      extended by org.extendj.ast.NumericLiteral
                          extended by org.extendj.ast.DoubleLiteral
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>, org.jastadd.util.PrettyPrintable

Description

Java double-precision floating point literal. Can store any value representable as an IEEE 754 64-bit double-precision floating point number.
Source
Declared in /home/jesper/git/extendj/java7/grammar/Literals.ast at line 67

Member Filters

API level:

Aspect:

Constructors

public DoubleLiteral()
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 1
public DoubleLiteral(java.lang.String p0)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 12
public DoubleLiteral(beaver.Symbol p0)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 15

Attributes

Overrides:type in class NumericLiteral
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 302
Aspect
TypeAnalysis
Returns:
true if this floating point literal is equivalent to a zero literal
Source
Declared in /home/jesper/git/extendj/java7/frontend/Literals.jrag at line 60
Aspect
Java7Literals
@ASTNodeAnnotation.Attribute
syn org.extendj.ast.Constant constant()
Overrides:constant in class Literal
Source
Declared in /home/jesper/git/extendj/java4/frontend/ConstantExpression.jrag at line 37
Aspect
ConstantExpression
Utility attribute for literal rewriting. Any of the NumericLiteral subclasses have already been rewritten and/or parsed, and should not be rewritten again.
Overrides:needsRewrite in class NumericLiteral
Returns:
true if this literal is a "raw", not-yet-parsed NumericLiteral
Source
Declared in /home/jesper/git/extendj/java7/frontend/Literals.jrag at line 373
Aspect
Java7Literals

Methods

public void typeCheck()
Overrides:typeCheck in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeCheck.jrag at line 678
Aspect
TypeCheck
public static void push(org.extendj.ast.CodeGeneration gen,
                        double value)
Source
Declared in /home/jesper/git/extendj/java4/backend/CodeGeneration.jrag at line 130
Aspect
CodeGeneration
public void emitPushConstant(org.extendj.ast.CodeGeneration gen)
Overrides:emitPushConstant in class Literal
Source
Declared in /home/jesper/git/extendj/java4/backend/CodeGeneration.jrag at line 197
Aspect
CodeGeneration
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.
Overrides:init$Children in class NumericLiteral
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class NumericLiteral
Source
Declared in /home/jesper/git/extendj/ASTNode at line 21
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class NumericLiteral
Source
Declared in /home/jesper/git/extendj/ASTNode at line 27
public void flushAttrCache()
Overrides:flushAttrCache in class NumericLiteral
Source
Declared in /home/jesper/git/extendj/ASTNode at line 33
public void flushCollectionCache()
Overrides:flushCollectionCache in class NumericLiteral
Source
Declared in /home/jesper/git/extendj/ASTNode at line 42
public void flushRewriteCache()
Overrides:flushRewriteCache in class NumericLiteral
Source
Declared in /home/jesper/git/extendj/ASTNode at line 48
public DoubleLiteral clone()
                    throws java.lang.CloneNotSupportedException
Overrides:clone in class NumericLiteral
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 54
public DoubleLiteral copy()
Overrides:copy in class NumericLiteral
Source
Declared in /home/jesper/git/extendj/ASTNode at line 61
@Deprecated
public DoubleLiteral fullCopy()
Deprecated. Please use treeCopy or treeCopyNoTransform instead

Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.

Overrides:fullCopy in class NumericLiteral
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 80
public DoubleLiteral treeCopyNoTransform()
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
Overrides:treeCopyNoTransform in class NumericLiteral
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 90
public DoubleLiteral treeCopy()
Create a deep copy of the AST subtree at this node. The subtree of this node is traversed to trigger rewrites before copy. The copy is dangling, i.e. has no parent.
Overrides:treeCopy in class NumericLiteral
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 110
protected boolean is$Equal(ASTNode node)
Overrides:is$Equal in class NumericLiteral
Source
Declared in /home/jesper/git/extendj/ASTNode at line 117
public void setLITERAL(java.lang.String value)
Replaces the lexeme LITERAL.
Overrides:setLITERAL in class NumericLiteral
Parameters:
value - The new value for the lexeme LITERAL.
public void setLITERAL(beaver.Symbol symbol)
JastAdd-internal setter for lexeme LITERAL using the Beaver parser.
Overrides:setLITERAL in class NumericLiteral
Parameters:
symbol - Symbol containing the new value for the lexeme LITERAL
@ASTNodeAnnotation.Token(name="LITERAL")
public java.lang.String getLITERAL()
Retrieves the value for the lexeme LITERAL.
Overrides:getLITERAL in class NumericLiteral
Returns:
The value for the lexeme LITERAL.
public void prettyPrint(org.jastadd.util.PrettyPrinter out)
Defer pretty printing to superclass.
Specified by:prettyPrint in interface org.jastadd.util.PrettyPrintableOverrides:prettyPrint in class Literal
Source
Declared in /home/jesper/git/extendj/java7/frontend/Literals.jrag at line 138
Aspect
Java7Literals
Overrides:rewriteTo in class NumericLiteral

Fields

protected boolean type_computed
protected boolean isZero_computed
protected boolean isZero_value
protected boolean constant_computed
protected org.extendj.ast.Constant constant_value

Inherited Members

Attributes inherited from org.extendj.ast.NumericLiteral

Attributes inherited from org.extendj.ast.Literal

Attributes inherited from org.extendj.ast.Expr

Attributes inherited from org.extendj.ast.ASTNode

Methods inherited from class org.extendj.ast.NumericLiteral

Methods inherited from class org.extendj.ast.Literal

Methods inherited from class org.extendj.ast.Expr

Methods inherited from class org.extendj.ast.ASTNode

Methods inherited from class beaver.Symbol

getColumn
getEnd
getId
getLine
getStart
makePosition

Methods inherited from class java.lang.Object

equals
finalize
getClass
hashCode
notify
notifyAll
wait
wait
wait

Fields inherited from org.extendj.ast.NumericLiteral

Fields inherited from org.extendj.ast.Literal

Fields inherited from org.extendj.ast.Expr

Fields inherited from org.extendj.ast.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value