private NameInfo Lookback(string name) { if (Children.ContainsKey(name)) { return(Children[name]); } var copy_info = new CopyFromParentInfo(this, name, Parent.Lookback(name), ForceBack); Children[name] = copy_info; return(copy_info); }
public override void CreateChild(ErrorCollector collector, string name, string root, ref bool success) { if (ForceBack) { Source.CreateChild(collector, name, root, ref success); } if (Source.HasName(name)) { Children[name] = new CopyFromParentInfo(Environment, root + "." + name, Source.Lookup(collector, name, ref success), ForceBack); } else { Children[name] = new OpenNameInfo(Environment, root + "." + name); } }