MCPcopy Index your code
hub / github.com/python/mypy / read_parameters

Function read_parameters

mypy/nativeparse.py:561–600  ·  view source on GitHub ↗

Read function/lambda parameters. Return (parameters, has_annotations).

(state: State, data: ReadBuffer)

Source from the content-addressed store, hash-verified

559
560
561def read_parameters(state: State, data: ReadBuffer) -> tuple[list[Argument], bool]:
562 """Read function/lambda parameters.
563
564 Return (parameters, has_annotations).
565 """
566 expect_tag(data, LIST_GEN)
567 n_args = read_int_bare(data)
568 arguments = []
569 has_ann = False
570 for _ in range(n_args):
571 arg_name = read_str(data)
572 arg_kind_int = read_int(data)
573 arg_kind = ARG_KINDS[arg_kind_int]
574 has_type = read_bool(data)
575 if has_type:
576 ann = read_type(state, data)
577 has_ann = True
578 else:
579 ann = None
580 has_default = read_bool(data)
581 if has_default:
582 default = read_expression(state, data)
583 else:
584 default = None
585 pos_only = read_bool(data)
586
587 if state.options.implicit_optional and ann is not None:
588 optional = isinstance(default, NameExpr) and default.name == "None"
589 if isinstance(ann, UnboundType):
590 ann.optional = optional
591
592 var = Var(arg_name, ann)
593 var.is_inferred = False
594 var.is_argument = True
595 arg = Argument(var, ann, default, arg_kind, pos_only)
596 read_loc(data, arg)
597 set_line_column_range(var, arg)
598 arguments.append(arg)
599
600 return arguments, has_ann
601
602
603def read_type_params(state: State, data: ReadBuffer) -> list[TypeParam]:

Callers 2

read_func_defFunction · 0.85
read_expressionFunction · 0.85

Calls 12

read_strFunction · 0.90
read_intFunction · 0.90
VarClass · 0.90
ArgumentClass · 0.90
expect_tagFunction · 0.85
rangeClass · 0.85
read_expressionFunction · 0.85
isinstanceFunction · 0.85
read_locFunction · 0.85
set_line_column_rangeFunction · 0.85
appendMethod · 0.80
read_typeFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…