interpreter: interpret `with` statement
[nit.git] / src / parser_util.nit
index 17aa012..1e11840 100644 (file)
@@ -85,11 +85,11 @@ redef class ToolContext
 
        # Parse a super class declaration
        # Fatal error if the `string` is not a syntactically correct super class declaration
-       fun parse_superclass(string: String): ASuperclass
+       fun parse_superclass(string: String): APropdef
        do
                var mod_string = "class Dummy\nsuper {string}\nend"
                var nclassdef = parse_classdef(mod_string).as(AStdClassdef)
-               var nsuperclasses = nclassdef.n_superclasses
+               var nsuperclasses = nclassdef.n_propdefs
                if nsuperclasses.length != 1 then
                        self.fatal_error(null, "Fatal Error: not a super class declaration")
                        abort
@@ -222,10 +222,15 @@ redef class ToolContext
        end
 end
 
+# A modified lexer that feed tokens before and after the real tokens.
 class InjectedLexer
        super Lexer
 
+       # The tokens to use before the real tokens (in order).
        var injected_before = new List[Token]
+
+       # The tokens to use after the real tokens (in order).
+       # The real EOF token is produced after these tokens.
        var injected_after = new List[Token]
        private var is_finished = false