static bool ProcessScopes(IdContainer Container, List <Identifier> Out) { var RetValue = true; if (Container.IsNotLoadedAssemblyScope()) { if (Container is NonCodeScope) { var Scope = Container as NonCodeScope; if (!Scope.ProcessScope()) { RetValue = false; } if (Scope is IdentifierScope) { var IdScope = Scope as IdentifierScope; Out.Add(IdScope.Identifier); } Scope.GetMTProcIds(Out); } for (var i = 0; i < Container.Children.Count; i++) { if (!ProcessScopes(Container.Children[i], Out)) { RetValue = false; } } } return(RetValue); }
static bool ProcessStructureIdentifiers(IdContainer Container) { var RetValue = true; if (Container.IsNotLoadedAssemblyScope()) { if (Container is StructuredScope) { var Scope = Container as StructuredScope; if (!Scope.ProcessIdentifiers()) { RetValue = false; } } for (var i = 0; i < Container.Children.Count; i++) { if (!ProcessStructureIdentifiers(Container.Children[i])) { RetValue = false; } } } return(RetValue); }
static bool ProcessClassBases(IdContainer Container) { var RetValue = true; if (Container.IsNotLoadedAssemblyScope()) { var Scope = Container as StructuredScope; if (Scope != null && !Scope.ProcessBase()) { RetValue = false; } for (var i = 0; i < Container.Children.Count; i++) { if (!ProcessClassBases(Container.Children[i])) { RetValue = false; } } } return(RetValue); }