public static void AddType <T>(string alias) { Requires.NotNullOrEmpty(alias, "alias"); AssemblyManager.AddType(alias, typeof(T)); }
public static Type GetType(string name) { return(AssemblyManager.GetType(name)); }
public static bool HasType(string name) { return(AssemblyManager.HasType(name)); }
public static void Initialize(ScriptConfiguration configuration) { if (IsInitialized) { return; } if (Parser == null) { Parser = new Parser.FastGrammar.LRParser(); } Lock(); try { _configuration = configuration; if (Binder == null) { Binder = new DefaultObjectBinding(); } if (Activator == null) { Activator = new ObjectActivator(); } InitializeSettingItems(); RegisterOperators(); if (ScopeFactory == null) { ScopeFactory = Activator.CreateInstance(GetNativeType(GetSettingsItem <string>(ConfigSchema.ScopeFactoryAttribute))) as IScopeFactory; } RegisterScopes(); if (AssemblyManager == null) { AssemblyManager = new DefaultAssemblyManager(); } OnInitializingTypes(AssemblyManager); AssemblyManager.Initialize(_configuration); if (!string.IsNullOrEmpty(_configuration.Initialization)) { _initializationScript = Script.Compile(_configuration.Initialization); } RegisterOperatorHandler("+=", new EventOperatorHandler(true)); RegisterOperatorHandler("-=", new EventOperatorHandler(false)); SSharp.Parser.Ast.ScriptExpr.HandleOperator += HandleOperator; } finally { IsInitialized = true; UnLock(); } }