public NameFixupToken() { _names = new List <string>(); _nameScopeDictionaryList = new List <INameScopeDictionary>(); Target = new FixupTarget(); Target.TemporaryCollectionIndex = -1; Target.InstanceIsOnTheStack = true; }
public void AddEndOfParseDependency(object childThatHasUnresolvedChildren, FixupTarget parentObject) { NameFixupToken token = new NameFixupToken { Target = parentObject, FixupType = FixupType.UnresolvedChildren, ReferencedObject = childThatHasUnresolvedChildren }; AddToMultiDict <object>(this._dependenciesByParentObject, parentObject.Instance, token); }
public void AddEndOfParseDependency(object childThatHasUnresolvedChildren, FixupTarget parentObject) { NameFixupToken token = new NameFixupToken(); token.Target = parentObject; token.FixupType = FixupType.UnresolvedChildren; token.ReferencedObject = childThatHasUnresolvedChildren; AddToMultiDict(_dependenciesByParentObject, parentObject.Instance, token); // We don't add to the _dependenciesByChildObject, because at end-of-parse, a single // child object can be a dependency of multiple parents }
private void CompleteDeferredInitialization(FixupTarget target) { this.ExecutePendingAdds(target.InstanceType, target.Instance); if (!target.InstanceWasGotten) { IAddLineInfo lineInfo = this.Runtime.LineInfo; this.Runtime.LineInfo = target; try { this.Runtime.InitializationGuard(target.InstanceType, target.Instance, false); } finally { this.Runtime.LineInfo = lineInfo; } this.OnAfterEndInit(target.Instance); } }