コード例 #1
0
        public override bool Equals(object o)
        {
            if (GetType() != o.GetType())
            {
                return(false);
            }
            PointerToElementValue ptr = o as PointerToElementValue;

            return(arr == ptr.arr && index == ptr.index);
        }
コード例 #2
0
        public override bool IsLessThan(ReferenceValue obj)
        {
            bool result;

            if (obj is PointerToElementValue)
            {
                PointerToElementValue ptr = obj as PointerToElementValue;
                result = arr == ptr.arr && index < ptr.index;
            }
            else
            {
                result = false;
            }

            return(result);
        }
コード例 #3
0
ファイル: Spec.cs プロジェクト: DragonXYZ/cilpe
 protected override void VisitStoreElement(StoreElement downNode, object o)
 {
     StructValue idx = this.state.Stack.Pop() as StructValue;
     ObjectReferenceValue arr = this.state.Stack.Pop() as ObjectReferenceValue;
     PointerValue ptr = new PointerToElementValue(arr.Obj as Array, SpecializingVisitor.toInt(idx));
     this.storeVar(downNode, ptr, o);
 }