Example #1
0
 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
Example #2
0
    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