Author: mhutch
Date: 2008-01-02 20:11:42 -0500 (Wed, 02 Jan 2008)
New Revision: 92142
Modified:
trunk/monodevelop/main/src/addins/VBNetBinding/ChangeLog
trunk/monodevelop/main/src/addins/VBNetBinding/Parser/Parser.cs
Log:
* Parser/Parser.cs: Merge some code from C# binding so that VB parser
actually tags classes with the filename in which they're defined.
Fixes CodeBehind grouping and double-clicking on items in the class
pad.
Modified: trunk/monodevelop/main/src/addins/VBNetBinding/ChangeLog
===================================================================
--- trunk/monodevelop/main/src/addins/VBNetBinding/ChangeLog 2008-01-03
01:05:18 UTC (rev 92141)
+++ trunk/monodevelop/main/src/addins/VBNetBinding/ChangeLog 2008-01-03
01:11:42 UTC (rev 92142)
@@ -1,5 +1,11 @@
2008-01-02 Michael Hutchinson <[EMAIL PROTECTED]>
+ * Parser/Parser.cs: Merge some code from C# binding so that VB parser
+ actually tags classes with the filename in which they're defined.
Fixes
+ CodeBehind grouping and double-clicking on items in the class pad.
+
+2008-01-02 Michael Hutchinson <[EMAIL PROTECTED]>
+
* VBNetBinding.mdp, Makefile.am, VBLanguageBinding.cs,
VBCodeGenerator.cs:
Import VB.NET CodeDOM generator from Mono to get partial class support
and keyword escaping support.
Modified: trunk/monodevelop/main/src/addins/VBNetBinding/Parser/Parser.cs
===================================================================
--- trunk/monodevelop/main/src/addins/VBNetBinding/Parser/Parser.cs
2008-01-03 01:05:18 UTC (rev 92141)
+++ trunk/monodevelop/main/src/addins/VBNetBinding/Parser/Parser.cs
2008-01-03 01:11:42 UTC (rev 92142)
@@ -91,36 +91,33 @@
}
}
}
- }
-
- public ICompilationUnitBase Parse(string fileName)
+ }
+
+ public ICompilationUnitBase Parse(string fileName)
+ {
+ using (ICSharpCode.NRefactory.IParser p =
ICSharpCode.NRefactory.ParserFactory.CreateParser (SupportedLanguage.VBNet, new
StreamReader(fileName))) {
+ return Parse (p, fileName);
+ }
+ }
+
+ public ICompilationUnitBase Parse(string fileName, string
fileContent)
+ {
+ using (ICSharpCode.NRefactory.IParser p =
ICSharpCode.NRefactory.ParserFactory.CreateParser (SupportedLanguage.VBNet, new
StringReader(fileContent))) {
+ return Parse (p, fileName);
+ }
+ }
+
+ ICompilationUnit Parse (ICSharpCode.NRefactory.IParser p,
string fileName)
{
- ICSharpCode.NRefactory.IParser p =
ICSharpCode.NRefactory.ParserFactory.CreateParser (SupportedLanguage.VBNet, new
StreamReader(fileName));
-
p.Parse();
VBNetVisitor visitor = new VBNetVisitor();
visitor.VisitCompilationUnit(p.CompilationUnit, null);
- //visitor.Cu.FileName = fileName;
- visitor.Cu.ErrorsDuringCompile = p.Errors.Count > 0;
- RetrieveRegions(visitor.Cu, p.Lexer.SpecialTracker);
-
- AddCommentTags(visitor.Cu, p.Lexer.TagComments);
- return visitor.Cu;
- }
-
- public ICompilationUnitBase Parse(string fileName, string
fileContent)
- {
- ICSharpCode.NRefactory.IParser p =
ICSharpCode.NRefactory.ParserFactory.CreateParser (SupportedLanguage.VBNet, new
StringReader(fileContent));
-
- p.Parse();
-
- VBNetVisitor visitor = new VBNetVisitor();
- visitor.VisitCompilationUnit (p.CompilationUnit, null);
- //visitor.Cu.FileName = fileName;
- visitor.Cu.ErrorsDuringCompile = p.Errors.Count > 0;
+ visitor.Cu.ErrorsDuringCompile = p.Errors.Count > 0;
visitor.Cu.Tag = p.CompilationUnit;
RetrieveRegions(visitor.Cu, p.Lexer.SpecialTracker);
+ foreach (IClass c in visitor.Cu.Classes)
+ c.Region.FileName = fileName;
AddCommentTags(visitor.Cu, p.Lexer.TagComments);
return visitor.Cu;
}
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches