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