Example #1
0
        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);
        }
Example #2
0
 internal void AddApiUsing(SApiUsing apiUsing)
 {
     if (!_apiUsings.ContainsKey(apiUsing.ApiClass))
     {
         _apiUsings.Add(apiUsing.ApiClass, apiUsing);
     }
 }