You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
returnf"Graph schema mismatch: expected relationship types {sorted(expected)}, missing {sorted(missing)}. Found on the graph: {sorted(found)}. {generation}"
139
139
140
140
141
+
classSelectorNotInGraph(ValueError):
142
+
"""Raised when a scoping keyword names something the analysed application does not hold.
143
+
144
+
``get_symbol_table(paths=...)``, ``get_classes(module=...)`` and ``get_call_graph(roots=...)``
145
+
all narrow a whole-application enumeration to a caller-supplied selection. A value in that
146
+
selection which matches nothing used to contribute nothing, so a typo'd path and a module that
147
+
genuinely declares no classes were the *same* empty dict — the ambiguous-empty defect the
148
+
query facade exists to remove (D7). Raising makes them different answers.
149
+
150
+
The message names the values that matched nothing and stops there. It deliberately offers no
151
+
near-miss candidates: leg 1.5's E8 puts typo-tolerant matching out of scope "not in the
152
+
resolver, not in the error path", because a suggestion is a guess, and a guess presented as a
153
+
correction is the confident-wrong-answer failure this design exists to prevent.
154
+
155
+
Subclasses :class:`ValueError` because that is what these accessors already document raising
156
+
for a malformed scoping keyword (an empty selection, a ``depth`` below 1) — an unmatched value
157
+
is the same class of caller error, not a new one, and a caller catching ``ValueError`` around a
158
+
scoped call keeps working.
159
+
160
+
Attributes:
161
+
kind (str): Which keyword named them — ``"paths"``, ``"module"`` or ``"roots"``.
162
+
missing (list[str]): The values, as the caller wrote them, that matched nothing.
163
+
requested (int): How many values the keyword carried in total, so a partial miss is
0 commit comments