/// <summary> /// Default ctor /// </summary> private BoxInfo(XTypeReferenceKind metadataType, ClassReference boxedClass, PrimitiveType primitiveType, string unboxMethodName, RCode convertAfterCode) { this.metadataType = metadataType; this.boxedClass = boxedClass; this.primitiveType = primitiveType; this.unboxMethodName = unboxMethodName; this.convertAfterCode = convertAfterCode; }
/// <summary> /// Is other equal to this? /// </summary> public bool Equals(PrimitiveType other) { return (other != null) && (TypeDescriptor == other.TypeDescriptor); }
/// <summary> /// Create a conversion code sequence. /// </summary> private RLRange ConvX(ISourceLocation sequencePoint, RCode code, PrimitiveType type, RLRange arg) { if (code == RCode.Nop) return new RLRange(this.Add(sequencePoint, code), arg.Result); var r = frame.AllocateTemp(type); return new RLRange(this.Add(sequencePoint, code, r, arg.Result), r); }