Beispiel #1
0
        protected virtual bool declareVariable(Association <ESBindingReference, FileInfo> association)
        {
            var file = association.Value;
            var name = ESFileUtility.filenameWithoutExtensionsFrom(file);

            if (IsVerbose)
            {
                Console.WriteLine("Declaring variable: " + name + " in: " + ThisNamespace.NameString);
            }
            var binding = ThisNamespace.declareVariable(name, DefaultVariableAccessPrivilege, null);

            if (binding == null)
            {
                Console.WriteLine("Name binding collision: " + name + " in: " + ThisNamespace.QualifiedName);
                return(false);
            }
            association.Key = binding;
            return(true);
        }
Beispiel #2
0
        public EssenceSharpOptions(IDictionary <string, object> options) : base(options)
        {
            essenceSharpPath       = GetOption(options, essenceSharpPathKey, ESFileUtility.defaultEssenceSharpPath());
            assemblyNameBindings   = getStringMapOption(options, assemblyNameBindingsKey);
            assemblyPathBindings   = getStringMapOption(options, assemblyPathBindingsKey);
            loadLibrariesVerbosely = GetOption(options, loadLibrariesVerboselyKey, false);
            reportTimings          = GetOption(options, reportTimingsKey, false);

            var pathNamesList = GetOption(options, librarySearchPathsKey, new ReadOnlyCollection <String>(new String[0]));

            foreach (var name in pathNamesList)
            {
                librarySearchPaths.Add(name);
            }

            var libraryNamesList = GetOption(options, libraryNamesKey, new ReadOnlyCollection <String>(new String[0]));

            foreach (var name in libraryNamesList)
            {
                libraryNames.Add(name);
            }
        }
Beispiel #3
0
        protected void bindToLanguageOptions(Dictionary <String, Object> protoOptions)
        {
            var searchPathBuilder = new StringBuilder();
            var userPathnames     = LanguageOptions.GetSearchPathsOption(protoOptions);

            if (userPathnames != null)
            {
                foreach (var pathname in userPathnames)
                {
                    searchPathBuilder.Append(Environment.ExpandEnvironmentVariables(pathname));
                    searchPathBuilder.Append(Path.PathSeparator);
                }
            }
            ObjectSpace.EssenceSharpPath = LanguageOptions.GetOption(protoOptions, EssenceSharpOptions.essenceSharpPathKey, ESFileUtility.defaultEssenceSharpPath());
            searchPathBuilder.Append(ObjectSpace.SharedScriptsPath);
            protoOptions[EssenceSharpOptions.scriptSearchPathsKey] = searchPathBuilder.ToString();

            options = new EssenceSharpOptions(protoOptions);
            options.assemblyNameBindingsDo((qualifiedNsName, assemblyName) => ObjectSpace.bindNamespaceToAssemblyNamed(qualifiedNsName, assemblyName));
            options.assemblyPathBindingsDo((qualifiedNsName, assemblyPath) => ObjectSpace.bindNamespaceToAssemblyAt(qualifiedNsName, new FileInfo(assemblyPath)));

            foreach (var pathnamePrefix in options.LibrarySearchPaths)
            {
                ObjectSpace.LibraryPathBinder.searchPathAddLastIfAbsent(pathnamePrefix);
            }

            foreach (var pathnamePrefix in options.SearchPaths)
            {
                ObjectSpace.ScriptPathBinder.searchPathAddLastIfAbsent(pathnamePrefix);
            }
        }