Class ExternFootprint

java.lang.Object
org.ek9lang.compiler.support.ExternFootprint
All Implemented Interfaces:
Function<String, OptionalInt>

public final class ExternFootprint extends Object implements Function<String, OptionalInt>
The native footprint of a field-bearing extern base (Exception, Money, ...), or empty for a user type or a field-less extern type. Such a super declares its state as Java/C struct fields, not EK9 properties, so in the flat field layout (FieldSlots) it contributes this many slots and the walk stops there (InheritedSlotCount). Was FieldSlots.externFootprint (no-statics lane S3, 2026-10-29).
  • Field Details

    • FOOTPRINTS

      public static final Map<String,Integer> FOOTPRINTS
      Fully-qualified extern type name -> its native footprint in 8-byte slots after the object header: (sizeof(C struct) - 32) / 8, clang-measured against the real org_ek9_lang_* structs and held by ExternBaseLayoutDriftTest on the native branch. A FOOTPRINT, not a field count (Money is __int128 + int8_t + char* = 4 slots). Field-less open extern types (Aspect, FileSystem) are absent: 0. Immutable - the native branch's drift test holds it against the C structs (was FieldSlots.externFootprints()).
  • Constructor Details

    • ExternFootprint

      public ExternFootprint()
  • Method Details