Beispiel #1
0
 public PersistentHost(CompilationInput input)
 {
     if (!SourceContext.TryCreate(input, out _context))
     {
         throw new ArgumentException("Failed to initialize context with given compiler arguments");
     }
 }
Beispiel #2
0
        public bool ApplyExtraInput(CompilationInput input)
        {
            if (CompilationInput == input)
            {
                return(true);
            }
            lock (_syncRoot)
            {
                CompilationInput.Packages         = CompilationInput.Packages.Union(input.Packages, _directoryComparer).ToArray();
                CompilationInput.ExtraSourceFiles = CompilationInput.ExtraSourceFiles.Union(input.ExtraSourceFiles, _fileComparer).ToArray();

                return(LoadPackagesAndExtraSourceFiles());
            }
        }
Beispiel #3
0
 private SourceContext(CompilationInput compilationInput) : base(new GlobalScope(), compilationInput)
 {
 }
Beispiel #4
0
 public static bool TryCreate(CompilationInput compilationInput, out SourceContext sourceContext)
 {
     sourceContext = new SourceContext(compilationInput);
     return(sourceContext.LoadPackagesAndExtraSourceFiles());
 }
Beispiel #5
0
 protected Context(GlobalScope globalScope, CompilationInput compilationInput)
 {
     GlobalScope      = globalScope;
     CompilationInput = compilationInput;
 }
Beispiel #6
0
 public CompilationContext(GlobalScope globalScope, CompilationInput compilationInput) : base(globalScope, compilationInput)
 {
 }
Beispiel #7
0
 public (bool Success, float[] Result) Evaluate(CompilationInput input, string expression) =>
Beispiel #8
0
 public bool Parse(CompilationInput input) => _context.ApplyExtraInput(input);