public static object Parse(SeekableStreamReader reader, SourceFile sourceFile, ModuleContainer module, ParserSession session, Report report, int lineModifier = 0, int colModifier = 0) { var file = new CompilationSourceFile(module, sourceFile); module.AddTypeContainer(file); object parser = null; if (sourceFile.FileType == SourceFileType.CSharp) { CSharpParser csParser = new CSharpParser(reader, file, report, session); csParser.Lexer.Line += lineModifier; csParser.Lexer.Column += colModifier; csParser.Lexer.sbag = new SpecialsBag(); csParser.parse(); parser = csParser; } else { PlayScriptParser psParser = new PlayScriptParser(reader, file, report, session); psParser.parsing_playscript = sourceFile.PsExtended; psParser.Lexer.Line += lineModifier; psParser.Lexer.Column += colModifier; psParser.Lexer.sbag = new SpecialsBag(); psParser.parse(); parser = psParser; } return(parser); }
public Evaluator (CompilerContext ctx) { this.ctx = ctx; module = new ModuleContainer (ctx); module.Evaluator = this; source_file = new CompilationSourceFile (module, null); module.AddTypeContainer (source_file); startup_files = ctx.SourceFiles.Count; // FIXME: Importer needs this assembly for internalsvisibleto module.SetDeclaringAssembly (new AssemblyDefinitionDynamic (module, "evaluator")); importer = new ReflectionImporter (module, ctx.BuiltinTypes); InteractiveBaseClass = typeof (InteractiveBase); fields = new Dictionary<string, Tuple<FieldSpec, FieldInfo>> (); }
public Evaluator(CompilerContext ctx) { this.ctx = ctx; module = new ModuleContainer(ctx); module.Evaluator = this; source_file = new CompilationSourceFile(module, null); module.AddTypeContainer(source_file); startup_files = ctx.SourceFiles.Count; // FIXME: Importer needs this assembly for internalsvisibleto module.SetDeclaringAssembly(new AssemblyDefinitionDynamic(module, "evaluator")); importer = new ReflectionImporter(module, ctx.BuiltinTypes); InteractiveBaseClass = typeof(InteractiveBase); fields = new Dictionary <string, Tuple <FieldSpec, FieldInfo> > (); }
public static object Parse (SeekableStreamReader reader, SourceFile sourceFile, ModuleContainer module, ParserSession session, Report report, int lineModifier = 0, int colModifier = 0) { var file = new CompilationSourceFile (module, sourceFile); module.AddTypeContainer(file); object parser = null; if (sourceFile.FileType == SourceFileType.CSharp) { CSharpParser csParser = new CSharpParser (reader, file, report, session); csParser.Lexer.Line += lineModifier; csParser.Lexer.Column += colModifier; csParser.Lexer.sbag = new SpecialsBag (); csParser.parse (); parser = csParser; } else { PlayScriptParser psParser = new PlayScriptParser (reader, file, report, session); psParser.parsing_playscript = sourceFile.PsExtended; psParser.Lexer.Line += lineModifier; psParser.Lexer.Column += colModifier; psParser.Lexer.sbag = new SpecialsBag (); psParser.parse (); parser = psParser; } return parser; }