[Monodevelop-patches-list] r2584 - in trunk/MonoDevelop/Extras/BooBinding: . Parser

Peter Johanson <latexer@gentoo.org> pjohanson at mono-cvs.ximian.com
Thu Jun 2 20:54:59 EDT 2005


Author: pjohanson
Date: 2005-06-02 20:54:59 -0400 (Thu, 02 Jun 2005)
New Revision: 2584

Modified:
   trunk/MonoDevelop/Extras/BooBinding/ChangeLog
   trunk/MonoDevelop/Extras/BooBinding/Parser/BooParser.boo
   trunk/MonoDevelop/Extras/BooBinding/Parser/Visitor.boo
Log:
Few more small parser fixes.


Modified: trunk/MonoDevelop/Extras/BooBinding/ChangeLog
===================================================================
--- trunk/MonoDevelop/Extras/BooBinding/ChangeLog	2005-06-02 23:27:38 UTC (rev 2583)
+++ trunk/MonoDevelop/Extras/BooBinding/ChangeLog	2005-06-03 00:54:59 UTC (rev 2584)
@@ -1,3 +1,12 @@
+2005-06-02  Peter Johanson <latexer at gentoo.org>
+
+	* Parser/BooParser.boo: Re-apply change to include
+	ProcessMethodBodies step in the visitor. Problems this change caused
+	have been resolved elsewhere.
+	* Parser/Visitor.boo: Use the region of the property if the region for
+	the getter/setter is null (happens with [Getter()], etc AST
+	attributes).
+
 2005-05-31  Peter Johanson <latexer at gentoo.org>
 
 	* BooBindingCompilerServices.boo: Make sure we

Modified: trunk/MonoDevelop/Extras/BooBinding/Parser/BooParser.boo
===================================================================
--- trunk/MonoDevelop/Extras/BooBinding/Parser/BooParser.boo	2005-06-02 23:27:38 UTC (rev 2583)
+++ trunk/MonoDevelop/Extras/BooBinding/Parser/BooParser.boo	2005-06-03 00:54:59 UTC (rev 2584)
@@ -100,10 +100,10 @@
 		compilePipe = Compile()
 		parsingStep as Boo.Lang.Parser.BooParsingStep = compilePipe[0]
 		parsingStep.TabSize = 1
-		num = compilePipe.Find(typeof(ProcessMethodBodiesWithDuckTyping))
-		// The following resolved issues with '[Property(foo] foo', but breaks other things
-		// reverting for now, as [Property] bug is less common than others cause by this.
-		//num = compilePipe.Find(typeof(StricterErrorChecking))
+		//num = compilePipe.Find(typeof(ProcessMethodBodiesWithDuckTyping))
+		// Include ProcessMethodBodies step now, as it solves issue
+		// with [Propert(foo)] with an untyped 'foo'
+		num = compilePipe.Find(typeof(StricterErrorChecking))
 		visitor = Visitor(LineLength:lineLength)
 		compilePipe[num] = visitor
 		// Remove unneccessary compiler steps

Modified: trunk/MonoDevelop/Extras/BooBinding/Parser/Visitor.boo
===================================================================
--- trunk/MonoDevelop/Extras/BooBinding/Parser/Visitor.boo	2005-06-02 23:27:38 UTC (rev 2583)
+++ trunk/MonoDevelop/Extras/BooBinding/Parser/Visitor.boo	2005-06-03 00:54:59 UTC (rev 2584)
@@ -261,9 +261,11 @@
 			if node.Getter is not null:
 				getter = GetMethod(node.Getter)
 				getRegion = GetRegion(node.Getter)
+				getRegion = GetRegion(node) if getRegion is null
 			if node.Setter is not null:
 				setter = GetMethod(node.Setter)
 				setRegion = GetRegion(node.Setter)
+				setRegion = GetRegion(node) if setRegion is null
 				
 			property = Property(node.FullName, ReturnType.CreateReturnType(node), getter, setter, getRegion, setRegion, GetModifier(node), GetRegion(node), GetClientRegion(node))
 			property.Documentation = node.Documentation




More information about the Monodevelop-patches-list mailing list