[Monodevelop-patches-list] r2567 - in trunk/MonoDevelop/Extras/BooBinding: . Parser
Peter Johanson <latexer@gentoo.org>
pjohanson at mono-cvs.ximian.com
Mon May 30 13:19:48 EDT 2005
Author: pjohanson
Date: 2005-05-30 13:19:48 -0400 (Mon, 30 May 2005)
New Revision: 2567
Modified:
trunk/MonoDevelop/Extras/BooBinding/ChangeLog
trunk/MonoDevelop/Extras/BooBinding/Parser/Resolver.boo
trunk/MonoDevelop/Extras/BooBinding/Parser/TypeMembers.boo
trunk/MonoDevelop/Extras/BooBinding/Parser/Visitor.boo
Log:
Various parser fixups to type resolution stuff.
Modified: trunk/MonoDevelop/Extras/BooBinding/ChangeLog
===================================================================
--- trunk/MonoDevelop/Extras/BooBinding/ChangeLog 2005-05-30 07:19:53 UTC (rev 2566)
+++ trunk/MonoDevelop/Extras/BooBinding/ChangeLog 2005-05-30 17:19:48 UTC (rev 2567)
@@ -1,5 +1,15 @@
-2005-05-27 Peter Johanson <latexer at gentoo.org>
+2005-05-30 Peter Johanson <latexer at gentoo.org>
+ * Parser/Visitor.boo: Only abort parsing on parser
+ errors. We may have type binding errors that should be
+ ignored, since we do the resolving of those ourselves.
+ * Parser/TypeMembers.boo: Constructors should have a fully
+ qualified name of 'ctor', not '#ctor'.
+ * Parser/Resolver.boo: Fix problem with 'super' not always
+ finding the super class.
+
+2005-05-29 Peter Johanson <latexer at gentoo.org>
+
* BooBindingCompilerServices.boo: Redo most of the
compiler stuff to use the Boo API instead of calling
out to booc in a seperate process. Is faster, and removes
Modified: trunk/MonoDevelop/Extras/BooBinding/Parser/Resolver.boo
===================================================================
--- trunk/MonoDevelop/Extras/BooBinding/Parser/Resolver.boo 2005-05-30 07:19:53 UTC (rev 2566)
+++ trunk/MonoDevelop/Extras/BooBinding/Parser/Resolver.boo 2005-05-30 17:19:48 UTC (rev 2567)
@@ -285,7 +285,8 @@
if expression == "self":
returnClass = callingClass
elif expression == "super":
- returnClass = self.ParentClass
+ returnClass = BaseClass(callingClass)
+ //returnClass = self.ParentClass
else:
// try looking if the expression is the name of a class
expressionClass = self.SearchType(expression)
Modified: trunk/MonoDevelop/Extras/BooBinding/Parser/TypeMembers.boo
===================================================================
--- trunk/MonoDevelop/Extras/BooBinding/Parser/TypeMembers.boo 2005-05-30 07:19:53 UTC (rev 2566)
+++ trunk/MonoDevelop/Extras/BooBinding/Parser/TypeMembers.boo 2005-05-30 17:19:48 UTC (rev 2567)
@@ -34,7 +34,7 @@
/////////////////////////////////////
class Constructor(BooAbstractMethod):
def constructor(m as ModifierEnum, region as IRegion, bodyRegion as IRegion):
- FullyQualifiedName = '#ctor'
+ FullyQualifiedName = 'ctor'
self.region = region
self.bodyRegion = bodyRegion
modifiers = m
Modified: trunk/MonoDevelop/Extras/BooBinding/Parser/Visitor.boo
===================================================================
--- trunk/MonoDevelop/Extras/BooBinding/Parser/Visitor.boo 2005-05-30 07:19:53 UTC (rev 2566)
+++ trunk/MonoDevelop/Extras/BooBinding/Parser/Visitor.boo 2005-05-30 17:19:48 UTC (rev 2567)
@@ -46,15 +46,17 @@
[Getter(HadErrors)]
_hadErrors = false
+
+ _parseErrorCodes = ("BCE0043", "BCE0044")
override def Run():
- // If we've had errors up to this point, note it and return
- // immediately.
+ // If we've had an parser errors, we should ignore this
+ // parese attempt. Set _hadErrors and return immediately.
if Errors is not null and Errors.Count > 0:
- //for error in Errors:
- // print "Error ${error}"
- _hadErrors = true
- return
+ for error in Errors:
+ if error.Code in _parseErrorCodes:
+ _hadErrors = true
+ return
try:
Visit(CompileUnit)
More information about the Monodevelop-patches-list
mailing list