case classStructTag(isComplete: Boolean, fields: ConditionalTypeMap, scope: Int, id: Option[Id] = None) extends Product with Serializable
for struct and union
ConditionalTypeMap represents for the fields of the struct
structs do not need to be defined, but they can be complete (with fields) or incomplete
we store whether a structure with this name is complete (FeatureExpr).
a redeclaration in an inner scope may reduce completeness again
we do not distinguish between alternative structures. fields are merged in
one ConditionalTypeMap entry, but by construction they cannot overlap if
the structure declarations do not overlap variant-wise
the structEnv maps a tag name to a conditional tuple (isComplete, fields, scope)
Linear Supertypes
Serializable, Serializable, Product, Equals, AnyRef, Any
for struct and union ConditionalTypeMap represents for the fields of the struct
structs do not need to be defined, but they can be complete (with fields) or incomplete
we store whether a structure with this name is complete (FeatureExpr). a redeclaration in an inner scope may reduce completeness again
we do not distinguish between alternative structures. fields are merged in one ConditionalTypeMap entry, but by construction they cannot overlap if the structure declarations do not overlap variant-wise
the structEnv maps a tag name to a conditional tuple (isComplete, fields, scope)