internal override ReferenceBTValue FromStack() { ReferenceBTValue val = new ReferenceBTValue(PrimitiveBTValue.PrimitiveType(), this.btType); val.Creators.AddCreators(this.crtrs); return(val); }
internal BTValue ToStack(Type type) { ReferenceBTValue val = this.findLeaf(); if (PrimitiveBTValue.CheckType(type)) { val.addType(PrimitiveBTValue.PrimitiveType()); //!!!!!!!!!!!! return(new PrimitiveBTValue(val.btType)); } else { return(val); } }
public override bool Equals(object o) { if (o is ReferenceBTValue) { ReferenceBTValue val1 = this.findLeaf(); ReferenceBTValue val2 = (o as ReferenceBTValue).findLeaf(); if (val1.btType == BTType.Dynamic && val2.btType == BTType.Dynamic) { return(true); } else if (val1.types.Count == 1 && val1.types[0] == PrimitiveBTValue.PrimitiveType() && val2.types.Count == 1 && val2.types[0] == PrimitiveBTValue.PrimitiveType()) { return(val1.btType == val2.btType); } else { return(val1 == val2); } } else { return(false); } }