import {PatioDataLayout} from ./types; // == Data ptr values == sum PatioDataPtrValue { variant PatioDataPtrValueDataElement; variant PatioDataPtrValueNull; } struct PatioDataPtrValueDataElement { field name: String; } struct PatioDataPtrValueNull { } // == Int values == /// An int value that is a constant in the compiled program, but may differ /// across targets. sum PatioIntValue { variant PatioIntValueByteOffsetOf; variant PatioIntValueByteSizeOf; variant PatioIntValueLiteral; } /// The offset, in bytes, of an offset in a data layout. struct PatioIntValueByteOffsetOf { field layout: PatioDataLayout; field elementOffsets: List[Int32]; } /// The size, in bytes, of a data layout. struct PatioIntValueByteSizeOf { field layout: PatioDataLayout; } /// An int value that is the same across all targets. struct PatioIntValueLiteral { field value: Int32; }