public override object Clone(CloneInfo info) { if (info.BackQuote) { var clone = new SymbolNode(); BaseClone(clone); clone.Name = Name; return(clone); } else { if (info.LocalIdentifiers.Contains(Name) || !info.StackFrame.Scope.ContainsSymbol(Name)) { var clone = new SymbolNode(); BaseClone(clone); clone.Name = Name; return(clone); } else { var clone = new SymbolSnapshotNode(); BaseClone(clone); clone.staticSymbol = new Symbol(); clone.StaticSymbol.Value = info.StackFrame.Scope.GetSymbol(Name).Value; clone.Name = Name; return(clone); } } }
public override object Clone(CloneInfo info) { if (info.BackQuote) { var clone = new SymbolNode(); BaseClone(clone); clone.Name = Name; return clone; } else { if (info.LocalIdentifiers.Contains(Name) || !info.StackFrame.Scope.ContainsSymbol(Name)) { var clone = new SymbolNode(); BaseClone(clone); clone.Name = Name; return clone; } else { var clone = new SymbolSnapshotNode(); BaseClone(clone); clone.staticSymbol = new Symbol(); clone.StaticSymbol.Value = info.StackFrame.Scope.GetSymbol(Name).Value; clone.Name = Name; return clone; } } }
public override object Clone(CloneInfo info) { var clone = new SymbolSnapshotNode(); BaseClone(clone); clone.staticSymbol = new Symbol(); clone.StaticSymbol.Value = StaticSymbol.Value; clone.Name = Name; return clone; }
public override object Clone(CloneInfo info) { var clone = new SymbolSnapshotNode(); BaseClone(clone); clone.staticSymbol = new Symbol(); clone.StaticSymbol.Value = StaticSymbol.Value; clone.Name = Name; return(clone); }