Record Class PipelineVarPlan
java.lang.Object
java.lang.Record
org.ek9lang.compiler.phase7.generator.PipelineVarPlan
Per-stage-boundary item variable plan.
varAt[k]/typeAt[k] describe the pipeline
item entering stage k; index stages.size() is what the terminal consumes.
A single fixed-type item variable cannot be reused across a type-changing stage (e.g. flatten:
List of T -> T, or map when input != output type) — storing the produced type back
into a variable declared at the consumed type confuses the JVM verifier at loop/merge points
(and miscompiles in LLVM). Each type-changing stage therefore writes a fresh variable declared at
its produced type; type-preserving stages reuse the same variable (no IR churn).
-
Constructor Summary
ConstructorsConstructorDescriptionPipelineVarPlan(List<String> varAt, List<ISymbol> typeAt) Creates an instance of aPipelineVarPlanrecord class. -
Method Summary
Modifier and TypeMethodDescriptionfinal booleanIndicates whether some other object is "equal to" this one.(package private) ISymbol(package private) StringfinalVar()final inthashCode()Returns a hash code value for this object.(package private) ISymbolinType(int stageIndex) (package private) StringinVar(int stageIndex) (package private) StringoutVar(int stageIndex) (package private) static PipelineVarPlanfinal StringtoString()Returns a string representation of this record class.typeAt()Returns the value of thetypeAtrecord component.varAt()Returns the value of thevarAtrecord component.
-
Constructor Details
-
PipelineVarPlan
-
-
Method Details
-
finalVar
String finalVar() -
finalType
ISymbol finalType() -
inVar
-
outVar
-
inType
-
single
-
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). -
varAt
-
typeAt
-