mirror of
https://github.com/github/codeql.git
synced 2025-12-21 11:16:30 +01:00
Python: More examples of things to handle in find-subclass
This commit is contained in:
@@ -1,4 +1,10 @@
|
||||
| flask.MethodView~Subclass | find_subclass_test | Member[MethodView] |
|
||||
| flask.MethodView~Subclass | find_subclass_test | Member[clash] |
|
||||
| flask.View~Subclass | find_subclass_test | Member[A] |
|
||||
| flask.View~Subclass | find_subclass_test | Member[B] |
|
||||
| flask.View~Subclass | find_subclass_test | Member[ViewAliasInExcept] |
|
||||
| flask.View~Subclass | find_subclass_test | Member[ViewAliasInTry] |
|
||||
| flask.View~Subclass | find_subclass_test | Member[ViewAlias] |
|
||||
| flask.View~Subclass | find_subclass_test | Member[View] |
|
||||
| flask.View~Subclass | find_subclass_test | Member[clash3] |
|
||||
| flask.View~Subclass | find_subclass_test | Member[complete_module_alias] |
|
||||
|
||||
@@ -8,3 +8,35 @@ class B(A):
|
||||
|
||||
|
||||
ViewAlias = View
|
||||
|
||||
try:
|
||||
from flask.views import View as ViewAliasInTry
|
||||
except:
|
||||
from flask.views import View as ViewAliasInExcept
|
||||
|
||||
|
||||
if cond:
|
||||
from flask.views import View as clash # $ MISSING
|
||||
else:
|
||||
from flask.views import MethodView as clash # $ SPURIOUS: MethodView
|
||||
|
||||
if cond:
|
||||
from flask.views import View as clash2 # $ MISSING
|
||||
else:
|
||||
from flask.views import MethodView as clash2 # $ MISSING
|
||||
print(clash2)
|
||||
|
||||
if cond:
|
||||
from flask.views import View as clash3
|
||||
else:
|
||||
from flask.views import MethodView as clash3 # $ MISSING
|
||||
print(clash3)
|
||||
|
||||
import flask.views as containing_module_alias # $ MISSING
|
||||
# now `find_subclass_test.containing_module_alias.View` is an alias of flask.views.View
|
||||
|
||||
# NOTE: this is not valid code, since View is not a module... but it could be in some cases, like for xml.etree.ElementTree, which is actually not a class but a module 😕
|
||||
import flask.views.View as complete_module_alias
|
||||
|
||||
def wrapper():
|
||||
return View # $ MISSING
|
||||
|
||||
Reference in New Issue
Block a user