public SQDeclaration Parse(ITextBuffer buffer, out bool newversion) { string filepath = SQLanguageServiceEX.GetFileName(buffer); SQDeclaration.SQFile file = (SQDeclaration.SQFile)RegisterFileDeclaration(filepath); if (file != null) { var snapshot = buffer.CurrentSnapshot; int version = snapshot.Version.VersionNumber; int oldversion = file.FileVersion; string src = snapshot.GetText(); if (file.FileVersion < version) { //Compile(src, ref error); file.Parse(src, version); } newversion = oldversion != file.FileVersion; } else { newversion = false; } return(file); }
public SQDeclaration Parse(string buffer, string filepath, out bool newversion) { SQDeclaration.SQFile file = (SQDeclaration.SQFile)RegisterFileDeclaration(filepath); if (file != null) { int version = file.FileVersion; if (file.FileVersion < 0) { //Compile(buffer, ref error); file.Parse(buffer, 1); //TODO! } newversion = version != file.FileVersion; } else { newversion = false; } return(file); }