typeOf static method

PointerType typeOf(
  1. SegmentView segmentView
)

Implementation

static PointerType typeOf(SegmentView segmentView) {
  assert(segmentView.lengthInWords == Pointer.lengthInWords);
  final rawType = segmentView.getUInt8(0) & 0x3;
  switch (rawType) {
    case 0x00:
      return PointerType.struct;
    case 0x01:
      return PointerType.list;
    case 0x02:
      return PointerType.interSegment;
    case 0x03:
      throw StateError('Capability pointers are not yet supported.');
    default:
      throw FormatException("Unsigned 2-bit number can't be outside 0 – 3.");
  }
}