File tree Expand file tree Collapse file tree
python/ql/test/experimental/dataflow/ApiGraphs Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2222
2323abcd = abc .d #$ use=moduleImport("a").getMember("b").getMember("c").getMember("d")
2424
25- x5 = abcd () #$ use=moduleImport("a").getMember("b").getMember("c").getMember("d").getReturn()
25+ x5 = abcd . method () #$ use=moduleImport("a").getMember("b").getMember("c").getMember("d").getMember("method ").getReturn()
2626
27- y5 = x5 .method () #$ use=moduleImport("a").getMember("b").getMember("c").getMember("d").getReturn().getMember("method").getReturn()
27+ from a6 import m6 #$ use=moduleImport("a6").getMember("m6")
28+
29+ x6 = m6 ().foo ().bar () #$ use=moduleImport("a6").getMember("m6").getReturn().getMember("foo").getReturn().getMember("bar").getReturn()
2830
2931
3032# Relative imports. These are ignored
3133
3234from .foo import bar
3335
34- from ..foobar import baz
36+ from ..foobar import baz
37+
38+
39+ # Use of imports across scopes
40+
41+ def use_m4 ():
42+ x = m4 .blah4 #$ use=moduleImport("a4").getMember("b4").getMember("c4").getMember("blah4")
43+
44+ def local_import_use ():
45+ from foo import bar #$ use=moduleImport("foo").getMember("bar")
46+
47+ x = bar () #$ use=moduleImport("foo").getMember("bar").getReturn()
48+
49+ from eggs import ham as spam #$ use=moduleImport("eggs").getMember("ham")
50+
51+ def bbb ():
52+ f = spam #$ use=moduleImport("eggs").getMember("ham")
53+
54+ from danger import SOURCE #$ use=moduleImport("danger").getMember("SOURCE")
55+
56+ foo = SOURCE #$ use=moduleImport("danger").getMember("SOURCE")
57+
58+ def change_foo ():
59+ global foo
60+ foo = SOURCE #$ use=moduleImport("danger").getMember("SOURCE")
61+
62+ def f ():
63+ global foo
64+ sink (foo ) #$ use=moduleImport("danger").getMember("SOURCE")
65+ foo = NONSOURCE
66+ change_foo ()
67+ sink (foo ) #$ MISSING: use=moduleImport("danger").getMember("SOURCE")
You can’t perform that action at this time.
0 commit comments