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
{{ message }}
Repository navigation
Commit 4bbcd10
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: plugins/axiomcode/skills/axiomcode/reference/changed-and-tests.md
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,6 +23,14 @@ What to pass, and what the answer says when the question cannot be answered the
23
23
| a file the base does not have | (any) | one line, `added <file> — new file, N declaration(s)`, plus each new declaration something outside the file already calls, with its impact target. Never its parameters or docstring words |
24
24
| fixtures, case data, a schema | (any) | named as `outside every indexed language`, never "no change"; test-impact lists the test files whose text names them (the path, the file name, or a quoted directory), as a `[text]` tier, and says when no test names them |
25
25
26
+
**A lambda is part of what encloses it.** Every lambda a front end declares carries one name (`<lambda>`), so it is never
27
+
the declaration an edit is charged to: an edit inside a lambda in a method is that method's `body` change, and one inside a
28
+
field's initializer is that field's. A lambda nothing encloses (an entry in a module-level table) is its own `body`
29
+
change, named by where it is, `module.<lambda@L15>` or `Owner.method.<lambda@L42>`, and its target is `file:line`; that
30
+
name is also a target `impact` and `path` accept. Its parameter list is read from the lambda's own header, so an unchanged
31
+
header is never reported as a parameter change. `impact <file>:<line>` on a field, a property, a constant or a type
32
+
header line answers for that declaration; a callable written on the line still wins.
33
+
26
34
`test-impact` also lists an edited or new **test file** as one to run, and adds it to the command. Code that is also run as a
27
35
program (`if __name__ == '__main__'`, `static void main`, `Main`) is looked for by name in the tests, since a test that starts
28
36
it as a subprocess or drives it from case data has no call edge to it; when no test names it the answer says the selection is
forrinself.g.q(f"SELECT e.callee_method_id m, s.file f, s.display d FROM call_edges e JOIN symbols s ON s.id = e.caller_id WHERE e.callee_method_id IN ({q})", *mids):
0 commit comments