Class IntConstant
java.lang.Object
org.jfuncmachine.compiler.model.SourceElement
org.jfuncmachine.compiler.model.expr.Expression
org.jfuncmachine.compiler.model.expr.constants.IntConstant
An int constant expression
-
Field Summary
FieldsFields inherited from class org.jfuncmachine.compiler.model.SourceElement
filename, lineNumber -
Constructor Summary
ConstructorsConstructorDescriptionIntConstant(int value) Create an int constantIntConstant(int value, String filename, int lineNumber) Create an int constant -
Method Summary
Modifier and TypeMethodDescriptionconvertToFullTailCalls(boolean inTailPosition) Converts this expression to one that is compatible with full tail call optimizationvoidfindCaptured(Environment env) Search for local variables that would be captured by a lambda.voidgenerate(ClassGenerator gen, Environment env, boolean inTailPosition) Generate the bytecode for this expressiongetType()Get the type returned by this expressionMethods inherited from class org.jfuncmachine.compiler.model.expr.Expression
resetMethods inherited from class org.jfuncmachine.compiler.model.SourceElement
generateException
-
Field Details
-
value
public final int valueThe constant value
-
-
Constructor Details
-
IntConstant
public IntConstant(int value) Create an int constant- Parameters:
value- The constant value
-
IntConstant
Create an int constant- Parameters:
value- The constant valuefilename- The source filename this expression is associated withlineNumber- The source line number this expression is associated with
-
-
Method Details
-
getType
Description copied from class:ExpressionGet the type returned by this expression- Specified by:
getTypein classExpression- Returns:
- The type of this expression
-
findCaptured
Description copied from class:ExpressionSearch for local variables that would be captured by a lambda. Each expression has its own implementation of this, because each subexpression must be searched.- Specified by:
findCapturedin classExpression- Parameters:
env- The environment chain to search
-
convertToFullTailCalls
Description copied from class:ExpressionConverts this expression to one that is compatible with full tail call optimization- Specified by:
convertToFullTailCallsin classExpression- Parameters:
inTailPosition- True if this expression is called from the tail position- Returns:
- A version of this expression whose types are compatible with full tail call optimization
-
generate
Description copied from class:ExpressionGenerate the bytecode for this expression- Specified by:
generatein classExpression- Parameters:
gen- The generator for generating instructions and additional declarationsenv- The environment containing the local variables currently visible to this expressioninTailPosition- True if this expression is being generated from the tail position of the method
-