예제 #1
0
 internal DebugInfo Merge(DebugInfo syms)
 {
     Scopes.AddRange(syms.Scopes);
     Lines.AddRange(syms.Lines);
     Vars.AddRange(syms.Vars);
     Functions.AddRange(syms.Functions);
     return this;
 }
예제 #2
0
 internal DebugWriter()
 {
     Symbols = new DebugInfo();
     scopes = new FastStack<ScopeSym>();
     funs = new FastStack<FunSym>();
     var glob = new ScopeSym(0, 0, 0, 0, 0) { EndOffset = Int32.MaxValue };
     scopes.Push(glob);
     Symbols.Scopes.Add(glob);
 }
예제 #3
0
 internal DebugInfo Clone()
 {
     var di = new DebugInfo();
     di.Scopes = Scopes.Clone();
     di.Lines = Lines.Clone();
     di.Vars = Vars.Clone();
     di.Functions = Functions.Clone();
     di.File = File;
     return di;
 }