public MRepr WithStructuralClass(MStructuralClass structuralClass) { Contract.Requires(!IsAny); Contract.Requires(structuralClass != null); return(new MRepr(type, structuralClass)); }
public MRepr(MType type, MStructuralClass structuralClass) { Contract.Requires(type == null || structuralClass != null); Contract.Assert(structuralClass != MStructuralClass.Array, "Non-full arrays unsupported."); this.type = type; this.structuralClass = structuralClass; }
public MRepr(MType type) { this.type = type; structuralClass = type == null ? null : MStructuralClass.FullArray; }