Class GetJavaStaticField
java.lang.Object
org.jfuncmachine.compiler.model.SourceElement
org.jfuncmachine.compiler.model.expr.Expression
org.jfuncmachine.compiler.model.expr.javainterop.GetJavaStaticField
An expression to retrieve a static Java field value
-
Field Summary
FieldsModifier and TypeFieldDescriptionfinal StringThe name of the class containing the fieldfinal StringThe name of the fieldfinal TypeThe type of the fieldFields inherited from class org.jfuncmachine.compiler.model.SourceElement
filename, lineNumber -
Constructor Summary
ConstructorsConstructorDescriptionGetJavaStaticField(String className, String fieldName, Type fieldType) Create a Java static field get expressionGetJavaStaticField(String className, String fieldName, Type fieldType, String filename, int lineNumber) Create a Java static field get expression -
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 generator, 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
-
className
The name of the class containing the field -
fieldName
The name of the field -
fieldType
The type of the field
-
-
Constructor Details
-
GetJavaStaticField
Create a Java static field get expression- Parameters:
className- The name of the class containing the fieldfieldName- The name of the fieldfieldType- The type of the field
-
GetJavaStaticField
public GetJavaStaticField(String className, String fieldName, Type fieldType, String filename, int lineNumber) Create a Java static field get expression- Parameters:
className- The name of the class containing the fieldfieldName- The name of the fieldfieldType- The type of the fieldfilename- 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:
generator- 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
-