public OutputWriter Parse(string file) { var dirtyFile = _getDirtyFile(file); var usingDirtyFile = false; if (dirtyFile != null) { dirtyFile = parseDirtyFile(dirtyFile); if (dirtyFile.Trim() != "") { usingDirtyFile = true; file = dirtyFile.Trim(); } } var parser = new NRefactoryParser(); if (_parseLocalVariables) parser.ParseLocalVariables(); var cache = new OutputWriter(new NullResponseWriter()); parser.SetOutputWriter(cache); var fileRef = new FileRef(file, null); parser.ParseFile(fileRef, () => _fileReader(file)); if (usingDirtyFile) _fileRemover(file); cache.BuildTypeIndex(); new TypeResolver(new OutputWriterCacheReader(cache, _globalCache)) .ResolveAllUnresolved(cache); return cache; }
private void createLocalCache() { var sb = new StringBuilder(); Action <string> a = (s) => sb.AppendLine(s); a("using System;"); a(""); a("namespace MyNS"); a("{"); a(" public class MyClass"); a(" {"); a(" private void MyMethod(string word) {"); a(" var str = \"Hello World\";"); a(" Console.WriteLine(str + word);"); a(" var bleh = 15;"); a(" Console.WriteLine(bleh.ToString());"); a(" if (_isValid)"); a(" Console.WriteLine(\"meh\");"); a(" }"); a(" "); a(" private bool _isValid = false;"); a(" }"); a("}"); _fileContent = sb.ToString(); _cache = new OutputWriter(new NullResponseWriter()); _cache.SetTypeVisibility(true); var parser = new NRefactoryParser() .ParseLocalVariables(); parser.SetOutputWriter(_cache); parser.ParseFile(new FileRef("MyFile", null), () => _fileContent); _cache.BuildTypeIndex(); new TypeResolver(new OutputWriterCacheReader(_cache, _globalCache)) .ResolveAllUnresolved(_cache); }
public OutputWriter Parse(string file) { var dirtyFile = _getDirtyFile(file); var usingDirtyFile = false; if (dirtyFile != null) { dirtyFile = parseDirtyFile(dirtyFile); if (dirtyFile.Trim() != "") { usingDirtyFile = true; file = dirtyFile.Trim(); } } var parser = new NRefactoryParser(); if (_parseLocalVariables) { parser.ParseLocalVariables(); } var cache = new OutputWriter(new NullResponseWriter()); parser.SetOutputWriter(cache); var fileRef = new FileRef(file, null); parser.ParseFile(fileRef, () => _fileReader(file)); if (usingDirtyFile) { _fileRemover(file); } cache.BuildTypeIndex(); new TypeResolver(new OutputWriterCacheReader(cache, _globalCache)) .ResolveAllUnresolved(cache); return(cache); }
private void buildCache() { var project1 = new Project("Project1"); _cache.WriteProject(project1); var file = new FileRef("File1", project1); _cache.WriteFile(file); _cache.WriteUsing(new Using(file, "Project1.FirstNamespace", 1, 1)); _cache.WriteNamespace(new Namespce(file, "Project1", 2, 1)); _cache.WriteClass( new Class(file, "Project1", "FirstClass", "public", 5, 1)); _cache.WriteField( new Field(file, "Project1.FirstClass", "FCls", "public", 6, 2, "SecondClass")); _cache.WriteMethod( new Method(file, "Project1.FirstClass", "myMethod", "private", 7, 5, "System.Void", new Parameter[] {})); _cache.WriteVariable( new Variable(file, "Project1.FirstClass.myMethod", "str", "local", 9, 3, "System.String")); var file2 = new FileRef("File2", project1); _cache.WriteFile(file2); _cache.WriteNamespace(new Namespce(file2, "Project1.SecondNamespace", 10, 1)); _cache.WriteClass( new Class(file2, "Project1.SecondNamespace", "ThirdClass", "public", 12, 2)); _cache.WriteClass( new Class(file2, "Project1.SecondNamespace", "SecondClass", "public", 2, 1)); _cache.WriteNamespace(new Namespce(file2, "Project1.FirstNamespace", 1, 1)); _cache.WriteClass( new Class(file2, "Project1.FirstNamespace", "SecondClass", "public", 2, 1)); _cache.WriteField( new Field(file, "Project1.FirstNamespace.SecondClass", "Count", "public", 3, 2, "System.Int32")); var staticField = new Field(file, "Project1.FirstNamespace.SecondClass", "NAME", "public", 3, 2, "System.String"); staticField.AddModifiers(new[] { "static" }); _cache.WriteField(staticField); var project2 = new Project("Project2"); _cache.WriteProject(project2); var system = new FileRef("mscorlib", null); _cache.WriteFile(system); _cache.WriteNamespace(new Namespce(system, "System", 0, 0)); _cache.WriteNamespace(new Namespce(system, "System.More", 0, 0)); _cache.WriteClass( new Class(system, "System", "String", "public", 0, 0)); _cache.WriteMethod( new Method(system, "System.Object", "ToString", "public", 0, 0, "System.String", new Parameter[] {})); _cache.WriteEnum( new EnumType(system, "System.More", "FunnyBool", "public", 0, 0)); _cache.WriteField( new Field(system, "System.More.FunnyBool", "True", "public", 0, 0, "System.Int32").AddModifiers(new[] { "static" })); _cache.BuildTypeIndex(); }
private void createLocalCache() { var sb = new StringBuilder(); Action<string> a = (s) => sb.AppendLine(s); a("using System;"); a(""); a("namespace MyNS"); a("{"); a(" public class MyClass"); a(" {"); a(" private void MyMethod(string word) {"); a(" var str = \"Hello World\";"); a(" Console.WriteLine(str + word);"); a(" var bleh = 15;"); a(" Console.WriteLine(bleh.ToString());"); a(" if (_isValid)"); a(" Console.WriteLine(\"meh\");"); a(" }"); a(" "); a(" private bool _isValid = false;"); a(" }"); a("}"); _fileContent = sb.ToString(); _cache = new OutputWriter(new NullResponseWriter()); _cache.SetTypeVisibility(true); var parser = new NRefactoryParser() .ParseLocalVariables(); parser.SetOutputWriter(_cache); parser.ParseFile(new FileRef("MyFile", null), () => _fileContent); _cache.BuildTypeIndex(); new TypeResolver(new OutputWriterCacheReader(_cache, _globalCache)) .ResolveAllUnresolved(_cache); }