def enter_class(self, package: Package, src: SourceFile, ctx: PlayParser.ClassDeclarationContext): cls = Class(ctx.IDENTIFIER().getText(), package, src) cls.is_interface = ctx.INTERFACE() is not None cls.is_native = ctx.NATIVE() is not None if cls.is_native and cls.is_interface: raise CompileException('interface {} cannot be native'.format(cls)) Option().nodes[cls] = ctx package.put(cls) SymbolTable().enter_class(cls)