Exemple #1
0
        internal override ReferenceBTValue FromStack()
        {
            ReferenceBTValue val = new ReferenceBTValue(PrimitiveBTValue.PrimitiveType(), this.btType);

            val.Creators.AddCreators(this.crtrs);
            return(val);
        }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
 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);
     }
 }