|
195 | 195 | type_aliases_source_versions, |
196 | 196 | typing_extensions_aliases, |
197 | 197 | ) |
198 | | -from mypy.options import Options |
| 198 | +from mypy.options import TYPE_FORM, Options |
199 | 199 | from mypy.patterns import ( |
200 | 200 | AsPattern, |
201 | 201 | ClassPattern, |
@@ -3701,7 +3701,8 @@ def analyze_lvalues(self, s: AssignmentStmt) -> None: |
3701 | 3701 | ) |
3702 | 3702 |
|
3703 | 3703 | def analyze_rvalue_as_type_form(self, s: AssignmentStmt) -> None: |
3704 | | - self.try_parse_as_type_expression(s.rvalue) |
| 3704 | + if TYPE_FORM in self.options.enable_incomplete_feature: |
| 3705 | + self.try_parse_as_type_expression(s.rvalue) |
3705 | 3706 |
|
3706 | 3707 | def apply_dynamic_class_hook(self, s: AssignmentStmt) -> None: |
3707 | 3708 | if not isinstance(s.rvalue, CallExpr): |
@@ -5451,7 +5452,8 @@ def visit_return_stmt(self, s: ReturnStmt) -> None: |
5451 | 5452 | self.fail('"return" not allowed in except* block', s, serious=True) |
5452 | 5453 | if s.expr: |
5453 | 5454 | s.expr.accept(self) |
5454 | | - self.try_parse_as_type_expression(s.expr) |
| 5455 | + if TYPE_FORM in self.options.enable_incomplete_feature: |
| 5456 | + self.try_parse_as_type_expression(s.expr) |
5455 | 5457 | self.statement = old |
5456 | 5458 |
|
5457 | 5459 | def visit_raise_stmt(self, s: RaiseStmt) -> None: |
@@ -6054,9 +6056,11 @@ def visit_call_expr(self, expr: CallExpr) -> None: |
6054 | 6056 | expr.analyzed.accept(self) |
6055 | 6057 | else: |
6056 | 6058 | # Normal call expression. |
| 6059 | + calculate_type_forms = TYPE_FORM in self.options.enable_incomplete_feature |
6057 | 6060 | for a in expr.args: |
6058 | 6061 | a.accept(self) |
6059 | | - self.try_parse_as_type_expression(a) |
| 6062 | + if calculate_type_forms: |
| 6063 | + self.try_parse_as_type_expression(a) |
6060 | 6064 |
|
6061 | 6065 | if ( |
6062 | 6066 | isinstance(expr.callee, MemberExpr) |
|
0 commit comments