File tree Expand file tree Collapse file tree 3 files changed +13
-10
lines changed
lib/semmle/python/frameworks/internal
test/experimental/library-tests/FindSubclass Expand file tree Collapse file tree 3 files changed +13
-10
lines changed Original file line number Diff line number Diff line change @@ -163,12 +163,13 @@ module NotExposed {
163
163
newOrExistingModeling ( spec ) .getASubclass * ( ) .getAValueReachableFromSource ( ) .asExpr ( ) and
164
164
importMember .getScope ( ) = mod and
165
165
loc = importMember .getLocation ( ) and
166
- (
167
- mod .isPackageInit ( ) and
168
- newAliasFullyQualified = mod .getPackageName ( ) + "." + importMember .getName ( )
166
+ exists ( Alias alias , string base |
167
+ mod .isPackageInit ( ) and base = mod .getPackageName ( )
169
168
or
170
- not mod .isPackageInit ( ) and
171
- newAliasFullyQualified = mod .getName ( ) + "." + importMember .getName ( )
169
+ not mod .isPackageInit ( ) and base = mod .getName ( )
170
+ |
171
+ alias .getValue ( ) = importMember and
172
+ newAliasFullyQualified = base + "." + alias .getAsname ( )
172
173
) and
173
174
(
174
175
not hasAllStatement ( mod )
Original file line number Diff line number Diff line change 1
- | Django.Views.View~Subclass | find_subclass_test | Member[View] |
1
+ | Django.Views.View~Subclass | find_subclass_test | Member[clash2] |
2
+ | Django.Views.View~Subclass | find_subclass_test | Member[clash3] |
2
3
| Django.Views.View~Subclass | find_subclass_test | Member[clash] |
3
4
| flask.MethodView~Subclass | find_subclass_test | Member[C] |
4
5
| flask.View~Subclass | find_subclass_test | Member[A] |
7
8
| flask.View~Subclass | find_subclass_test | Member[ViewAliasInTry] |
8
9
| flask.View~Subclass | find_subclass_test | Member[ViewAlias] |
9
10
| flask.View~Subclass | find_subclass_test | Member[View] |
11
+ | flask.View~Subclass | find_subclass_test | Member[clash2] |
10
12
| flask.View~Subclass | find_subclass_test | Member[clash3] |
11
13
| flask.View~Subclass | find_subclass_test | Member[clash] |
12
14
| flask.View~Subclass | find_subclass_test | Member[complete_module_alias] |
Original file line number Diff line number Diff line change @@ -21,18 +21,18 @@ class C(flask.views.MethodView):
21
21
if cond :
22
22
from flask .views import View as clash
23
23
else :
24
- from django .views .generic import View as clash # $ SPURIOUS: View=Django.Views.View~Subclass
24
+ from django .views .generic import View as clash
25
25
26
26
if cond :
27
- from flask .views import View as clash2 # $ MISSING
27
+ from flask .views import View as clash2
28
28
else :
29
- from django .views .generic import View as clash2 # $ MISSING
29
+ from django .views .generic import View as clash2
30
30
print (clash2 )
31
31
32
32
if cond :
33
33
from flask .views import View as clash3
34
34
else :
35
- from django .views .generic import View as clash3 # $ MISSING
35
+ from django .views .generic import View as clash3
36
36
print (clash3 )
37
37
38
38
import flask .views as containing_module_alias # $ MISSING
You can’t perform that action at this time.
0 commit comments