+++ /dev/null
-re.match()
-match = a
-with match() as match:
- match = f"{match}"
-
-re.match()
-match = a
-with match() as match:
- match = f"{match}"
-
-
-def get_grammars(target_versions: Set[TargetVersion]) -> List[Grammar]:
- if not target_versions:
- # No target_version specified, so try all grammars.
- return [
- # Python 3.7+
- pygram.python_grammar_no_print_statement_no_exec_statement_async_keywords,
- # Python 3.0-3.6
- pygram.python_grammar_no_print_statement_no_exec_statement,
- # Python 2.7 with future print_function import
- pygram.python_grammar_no_print_statement,
- # Python 2.7
- pygram.python_grammar,
- ]
-
- match match:
- case case:
- match match:
- case case:
- pass
-
- if all(version.is_python2() for version in target_versions):
- # Python 2-only code, so try Python 2 grammars.
- return [
- # Python 2.7 with future print_function import
- pygram.python_grammar_no_print_statement,
- # Python 2.7
- pygram.python_grammar,
- ]
-
- re.match()
- match = a
- with match() as match:
- match = f"{match}"
-
- def test_patma_139(self):
- x = False
- match x:
- case bool(z):
- y = 0
- self.assertIs(x, False)
- self.assertEqual(y, 0)
- self.assertIs(z, x)
-
- # Python 3-compatible code, so only try Python 3 grammar.
- grammars = []
- if supports_feature(target_versions, Feature.PATTERN_MATCHING):
- # Python 3.10+
- grammars.append(pygram.python_grammar_soft_keywords)
- # If we have to parse both, try to parse async as a keyword first
- if not supports_feature(
- target_versions, Feature.ASYNC_IDENTIFIERS
- ) and not supports_feature(target_versions, Feature.PATTERN_MATCHING):
- # Python 3.7-3.9
- grammars.append(
- pygram.python_grammar_no_print_statement_no_exec_statement_async_keywords
- )
- if not supports_feature(target_versions, Feature.ASYNC_KEYWORDS):
- # Python 3.0-3.6
- grammars.append(pygram.python_grammar_no_print_statement_no_exec_statement)
-
- def test_patma_155(self):
- x = 0
- y = None
- match x:
- case 1e1000:
- y = 0
- self.assertEqual(x, 0)
- self.assertIs(y, None)
-
- x = range(3)
- match x:
- case [y, case as x, z]:
- w = 0
-
- # At least one of the above branches must have been taken, because every Python
- # version has exactly one of the two 'ASYNC_*' flags
- return grammars
-
-
-def lib2to3_parse(src_txt: str, target_versions: Iterable[TargetVersion] = ()) -> Node:
- """Given a string with source, return the lib2to3 Node."""
- if not src_txt.endswith("\n"):
- src_txt += "\n"
-
- grammars = get_grammars(set(target_versions))
-
-
-re.match()
-match = a
-with match() as match:
- match = f"{match}"
-
-re.match()
-match = a
-with match() as match:
- match = f"{match}"