internal override LiteralRelationOpcode ValidateOpcode(Opcode opcode)
        {
            NumberIntervalOpcode opcode2 = opcode as NumberIntervalOpcode;

            if (opcode2 != null)
            {
                return(opcode2);
            }
            return(null);
        }
예제 #2
0
        internal override LiteralRelationOpcode ValidateOpcode(Opcode opcode)
        {
            NumberIntervalOpcode numOp = opcode as NumberIntervalOpcode;

            if (null != numOp)
            {
                return(numOp);
            }

            return(null);
        }
        internal override void Add(Opcode op)
        {
            NumberIntervalOpcode opcode = op as NumberIntervalOpcode;

            if (opcode == null)
            {
                base.Add(op);
            }
            else
            {
                NumberIntervalBranchOpcode with = new NumberIntervalBranchOpcode();
                base.prev.Replace(this, with);
                with.Add(this);
                with.Add(opcode);
            }
        }
예제 #4
0
        internal override void Add(Opcode op)
        {
            NumberIntervalOpcode intervalOp = op as NumberIntervalOpcode;

            if (null == intervalOp)
            {
                base.Add(op);
                return;
            }

            Fx.Assert(null != this.prev, "");

            NumberIntervalBranchOpcode branch = new NumberIntervalBranchOpcode();

            this.prev.Replace(this, branch);
            branch.Add(this);
            branch.Add(intervalOp);
        }