mirror of
https://github.com/davidhalter/parso.git
synced 2026-01-12 22:42:40 +08:00
Handle 3.9>= f-string errors
This commit is contained in:
@@ -163,7 +163,7 @@ class Rule(object):
|
||||
def get_node(self, node):
|
||||
return node
|
||||
|
||||
def _get_message(self, message):
|
||||
def _get_message(self, message, node):
|
||||
if message is None:
|
||||
message = self.message
|
||||
if message is None:
|
||||
@@ -176,7 +176,7 @@ class Rule(object):
|
||||
if code is None:
|
||||
raise ValueError("The error code on the class is not set.")
|
||||
|
||||
message = self._get_message(message)
|
||||
message = self._get_message(message, node)
|
||||
|
||||
self._normalizer.add_issue(node, code, message)
|
||||
|
||||
|
||||
@@ -444,8 +444,8 @@ class ErrorFinder(Normalizer):
|
||||
class IndentationRule(Rule):
|
||||
code = 903
|
||||
|
||||
def _get_message(self, message):
|
||||
message = super(IndentationRule, self)._get_message(message)
|
||||
def _get_message(self, message, node):
|
||||
message = super(IndentationRule, self)._get_message(message, node)
|
||||
return "IndentationError: " + message
|
||||
|
||||
|
||||
@@ -469,8 +469,10 @@ class ErrorFinderConfig(NormalizerConfig):
|
||||
class SyntaxRule(Rule):
|
||||
code = 901
|
||||
|
||||
def _get_message(self, message):
|
||||
message = super(SyntaxRule, self)._get_message(message)
|
||||
def _get_message(self, message, node):
|
||||
message = super(SyntaxRule, self)._get_message(message, node)
|
||||
if search_ancestor(node, "fstring") and self._normalizer.version >= (3, 9):
|
||||
message = "f-string: " + message
|
||||
return "SyntaxError: " + message
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user