Class HasFieldsIncludingInherited
java.lang.Object
org.ek9lang.compiler.support.HasFieldsIncludingInherited
- All Implemented Interfaces:
Predicate<IAggregateSymbol>
public final class HasFieldsIncludingInherited
extends Object
implements Predicate<IAggregateSymbol>
THE "does this type have any fields, counting inherited ones?" (Steve, 2026-10-07, Q-COMPONENT-?): its own fields
(
GeneratedOperatorFields - properties and a dynamic class's captures) or any property of a super, all the
way up. Traits hold no properties. It decides both whether a type is set merely by being present (phase 2's
synthesised '?', FieldlessIsSet) and whether a super contributes to a generated '$' / '$$' (phase 7,
AbstractSyntheticGenerator.superContributesRepresentation, defect 7). Use it - never a second walk.
Defensive against a broken hierarchy (a loop is reported by TYPE_HIERARCHY_CHECKS, which may not have run yet).
Was GeneratedOperatorFields.anyIncludingInherited (no-statics lane S3, 2026-10-29).
-
Constructor Details
-
HasFieldsIncludingInherited
public HasFieldsIncludingInherited()
-
-
Method Details
-
test
- Specified by:
testin interfacePredicate<IAggregateSymbol>
-