public override CstNode GenerateTreeFromCode( FileInfo codeFile, Encoding encoding = null, bool throwingParseError = DefaultThrowingParseError) { var time = codeFile.LastWriteTime.ToString(); foreach (var invalidChar in Path.GetInvalidFileNameChars()) { time = time.Replace(invalidChar, '_'); } var cacheFileInfo = new FileInfo( codeFile.FullName + time + Code2XmlConstants.SyntaxTreeCacheExtension); if (cacheFileInfo.Exists) { Console.WriteLine("Cached"); return(CstNode.Deserialize(cacheFileInfo)); } var tree = DelegatingCstGenerator.GenerateTreeFromCode( codeFile, encoding, throwingParseError); tree.Serialize(cacheFileInfo); Console.WriteLine("Saved"); return(tree); }
public override CstNode GenerateTreeFromCode( FileInfo codeFile, Encoding encoding = null, bool throwingParseError = DefaultThrowingParseError) { var id = codeFile.FullName + codeFile.LastWriteTime; if (Path2Element.ContainsKey(id)) { return(Path2Element[id]); } var tree = DelegatingCstGenerator.GenerateTreeFromCode( codeFile, encoding, throwingParseError); Path2Element[id] = tree; return(tree); }
public override CstNode GenerateTreeFromCodeFragment(TextReader codeReader) { return(DelegatingCstGenerator.GenerateTreeFromCodeFragment(codeReader)); }
public override CstNode GenerateTreeFromCodeFragmentText(string code) { return(DelegatingCstGenerator.GenerateTreeFromCodeFragmentText(code)); }
public override CstNode GenerateTreeFromCode( TextReader codeReader, bool throwingParseError = DefaultThrowingParseError) { return(DelegatingCstGenerator.GenerateTreeFromCode(codeReader, throwingParseError)); }
public override CstNode GenerateTreeFromCodeText( string code, bool throwingParseError = DefaultThrowingParseError) { return(DelegatingCstGenerator.GenerateTreeFromCodeText(code, throwingParseError)); }