private SObject ExecuteImport(ScriptStatement statement) { // import apiClass from "moduleName" var exp = statement.Code; var parts = exp.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); if (parts.Length < 4 || parts[0] != "import" || parts[2] != "from") { return(ErrorHandler.ThrowError(ErrorType.SyntaxError, ErrorHandler.MessageSyntaxInvalidImportStatement)); } var apiClass = parts[1]; var moduleName = exp.Remove(0, exp.IndexOf("\"", StringComparison.Ordinal)); moduleName = moduleName.Trim('\"'); if (!IsValidIdentifier(apiClass)) { return(ErrorHandler.ThrowError(ErrorType.SyntaxError, ErrorHandler.MessageSyntaxMissingVarName)); } var apiUsing = new SApiUsing(apiClass, moduleName); Context.AddApiUsing(apiUsing); return(apiUsing); }
internal void AddApiUsing(SApiUsing apiUsing) { if (!_apiUsings.ContainsKey(apiUsing.ApiClass)) { _apiUsings.Add(apiUsing.ApiClass, apiUsing); } }