def __call__(self, source, filename, symbol) -> CodeRunner: # type: ignore return_mode = self.return_mode if self.quiet_trailing_semicolon and should_quiet(source): return_mode = None code_runner = CodeRunner( source, mode=symbol, filename=filename, return_mode=return_mode, flags=self.flags, ).compile() for feature in _features: if code_runner.code.co_flags & feature.compiler_flag: self.flags |= feature.compiler_flag return code_runner
def __call__(self, source, filename, symbol) -> CodeRunner: # type: ignore return_mode = self.return_mode try: if self.quiet_trailing_semicolon and should_quiet(source): return_mode = None except (TokenError, SyntaxError): # Invalid code, let the Python parser throw the error later. pass code_runner = CodeRunner( source, mode=symbol, filename=filename, return_mode=return_mode, flags=self.flags, ).compile() for feature in _features: if code_runner.code.co_flags & feature.compiler_flag: self.flags |= feature.compiler_flag return code_runner