Record Class SynthesisScope
java.lang.Object
java.lang.Record
org.ek9lang.compiler.phase7.synthesis.support.SynthesisScope
- Record Components:
debugInfo- Source location and debug information (may be null for synthetic operators)scopeId- Current scope identifier for ARC memory managementreturnVariable- The name of the body's return variable, or null when it returns nothing
public record SynthesisScope(DebugInfo debugInfo, String scopeId, String returnVariable)
extends Record
Bundles the scope parameters that flow through synthetic operator generation methods.
These two parameters appear together in virtually every synthesis method:
- debugInfo - Source location information for the generated instructions (may be null for synthetic code)
- scopeId - Current scope ID for memory management (SCOPE_REGISTER)
Using this record reduces parameter count and makes method signatures cleaner.
A scope that returns a value also carries the name of its RETURN VARIABLE, so every helper that stores into,
releases or returns it uses the one name the body was set up with - normally rtn, but _rtn when
the construct captures a variable named rtn (see
AbstractSyntheticGenerator.returnVariableNameFor, D37). A scope with no return value has none.
-
Constructor Summary
ConstructorsConstructorDescriptionSynthesisScope(DebugInfo debugInfo, String scopeId) A scope that returns nothing (a void body, or a stage of a larger body).SynthesisScope(DebugInfo debugInfo, String scopeId, String returnVariable) Validate that scopeId is not null. -
Method Summary
Modifier and TypeMethodDescriptionReturns the value of thedebugInforecord component.final booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.The body's return variable - only for a scope set up with one.scopeId()Returns the value of thescopeIdrecord component.final StringtoString()Returns a string representation of this record class.
-
Constructor Details
-
SynthesisScope
-
SynthesisScope
-
-
Method Details
-
returnVariable
The body's return variable - only for a scope set up with one. -
toString
-
hashCode
-
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
debugInfo
-
scopeId
-