internal override void Add(Opcode op) { StringPrefixOpcode opcode = op as StringPrefixOpcode; if (opcode == null) { base.Add(op); } else { StringPrefixBranchOpcode with = new StringPrefixBranchOpcode(); base.prev.Replace(this, with); with.Add(this); with.Add(opcode); } }
internal override void Add(Opcode op) { StringPrefixOpcode opcode = op as StringPrefixOpcode; if (opcode == null) { base.Add(op); } else { StringPrefixBranchOpcode with = new StringPrefixBranchOpcode(); base.prev.Replace(this, with); with.Add(this); with.Add(opcode); } }
internal override void Add(Opcode op) { StringPrefixOpcode prefixOp = op as StringPrefixOpcode; if (null == prefixOp) { base.Add(op); return; } Fx.Assert(null != this.prev, ""); StringPrefixBranchOpcode branch = new StringPrefixBranchOpcode(); this.prev.Replace(this, branch); branch.Add(this); branch.Add(prefixOp); }