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