syntax: add PClosureDecl::position
authorJean Privat <jean@pryen.org>
Wed, 15 Jul 2009 15:32:38 +0000 (11:32 -0400)
committerJean Privat <jean@pryen.org>
Wed, 15 Jul 2009 16:19:41 +0000 (12:19 -0400)
Signed-off-by: Jean Privat <jean@pryen.org>

src/syntax/mmbuilder.nit
src/syntax/syntax_base.nit

index dfa7a81..8e8489d 100644 (file)
@@ -1222,6 +1222,8 @@ redef class AParam
 end
 
 redef class AClosureDecl
+       redef readable var _position: Int = 0
+
        redef fun variable: ClosureVariable do return _variable.as(not null)
        var _variable: nullable ClosureVariable
 
@@ -1248,6 +1250,7 @@ redef class AClosureDecl
 
                var clos = new MMClosure(sig, n_kwbreak != null, n_expr != null)
                v.signature_builder = old_signature_builder
+               _position = old_signature_builder.closure_decls.length
                old_signature_builder.closure_decls.add(self)
                _variable = new ClosureVariable(n_id.to_symbol, self, clos)
        end
index 062cebb..b7dad13 100644 (file)
@@ -515,6 +515,9 @@ redef class PParam
 end
 
 redef class PClosureDecl
+       # Position in the signature
+       fun position: Int is abstract
+
        # Associated closure variable
        fun variable: ClosureVariable is abstract
 end