protected override string Register(StatementCompileTimeServices services) { if (services.ClassProvidedCompileTimeResolver.ResolveClass(className) != null) { throw new ExprValidationException("Class '" + className + "' has already been declared"); } var classProvided = new ClassProvided(classProvidedPrecompileResult.Assembly, className); var visibility = services.ModuleVisibilityRules.GetAccessModifierExpression(Base, className); classProvided.ModuleName = Base.ModuleName; classProvided.Visibility = visibility; classProvided.LoadClasses(services.ParentClassLoader); services.ClassProvidedCompileTimeRegistry.NewClass(classProvided); return className; }
public void RegisterClass(string className, ClassProvided meta) { moduleClassProvideds.Put(className, meta); meta.LoadClasses(parentClassLoader); }