Example #1
0
    def VisitInterfaceDecl(self, node):
        node.env.Update(self.ForkVisit(node.env, node.method_decls))
        self.PassVisit(node.env, node.extends_interface)

        env = Environment()
        env.AddClassOrInterface(node.name.lexeme, node)
        return env
Example #2
0
    def VisitClassDecl(self, node):
        self.PassVisit(node.env, node.extends)
        self.PassVisit(node.env, node.interfaces)
        node.env.Update(self.ForkVisit(node.env, node.method_decls))
        node.env.Update(self.ForkVisit(node.env, node.constructor_decls))
        node.env.Update(self.ForkVisit(node.env, node.field_decls))

        env = Environment()
        env.AddClassOrInterface(node.name.lexeme, node)
        return env