sflkit 0.3.4__tar.gz → 0.3.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sflkit-0.3.4/src/sflkit.egg-info → sflkit-0.3.5}/PKG-INFO +1 -1
- {sflkit-0.3.4 → sflkit-0.3.5}/pyproject.toml +1 -1
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/config.py +1 -1
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/language/python/extract.py +2 -5
- {sflkit-0.3.4 → sflkit-0.3.5/src/sflkit.egg-info}/PKG-INFO +1 -1
- {sflkit-0.3.4 → sflkit-0.3.5}/tests/test_visitors.py +2 -2
- {sflkit-0.3.4 → sflkit-0.3.5}/LICENSE +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/README.md +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/setup.cfg +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/__init__.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/analysis/__init__.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/analysis/analysis_type.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/analysis/analyzer.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/analysis/factory.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/analysis/mapping.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/analysis/predicate.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/analysis/similarity.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/analysis/spectra.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/analysis/suggestion.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/cli.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/color.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/evaluation.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/events/__init__.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/events/event_file.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/events/mapping.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/features/__init__.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/features/handler.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/features/value.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/features/vector.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/instrumentation/__init__.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/instrumentation/dir_instrumentation.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/instrumentation/file_instrumentation.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/language/__init__.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/language/extract.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/language/finder.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/language/java/__init__.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/language/java/extract.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/language/java/factory.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/language/java/finder.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/language/java/visitor.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/language/language.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/language/meta.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/language/python/__init__.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/language/python/factory.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/language/python/finder.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/language/python/visitor.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/language/visitor.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/logger.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/model/__init__.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/model/model.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/model/scope.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/runners/__init__.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/runners/run.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/weights/__init__.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/weights/analyzer.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit/weights/models.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit.egg-info/SOURCES.txt +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit.egg-info/dependency_links.txt +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit.egg-info/entry_points.txt +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit.egg-info/requires.txt +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/src/sflkit.egg-info/top_level.txt +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/tests/test_analysis_objects.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/tests/test_analyzer.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/tests/test_cli.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/tests/test_color.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/tests/test_config.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/tests/test_coverage.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/tests/test_dependency_weights.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/tests/test_evaluation.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/tests/test_events.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/tests/test_execution.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/tests/test_instrumentation.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/tests/test_language.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/tests/test_predicates.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/tests/test_runner.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/tests/test_runner_pytest_versions.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/tests/test_scope.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/tests/test_spectra.py +0 -0
- {sflkit-0.3.4 → sflkit-0.3.5}/tests/test_suggestions.py +0 -0
|
@@ -54,11 +54,8 @@ class PythonVarExtract(ast.NodeVisitor, VariableExtract):
|
|
|
54
54
|
def visit_Attribute(self, node: ast.Attribute) -> Any:
|
|
55
55
|
variables = self.visit(node.value)
|
|
56
56
|
if self.check_Attribute(node):
|
|
57
|
-
return (variables if self.use else {}) | OrderedSet(
|
|
58
|
-
|
|
59
|
-
for variable in variables
|
|
60
|
-
if variable not in self.current_ignores
|
|
61
|
-
)
|
|
57
|
+
return (variables if self.use else {}) | OrderedSet([
|
|
58
|
+
ast.unparse(node)])
|
|
62
59
|
else:
|
|
63
60
|
return variables
|
|
64
61
|
|
|
@@ -53,9 +53,9 @@ class VarExtractionTest(unittest.TestCase):
|
|
|
53
53
|
|
|
54
54
|
def test_attribute(self):
|
|
55
55
|
self._test_extract("x.y", ["x", "x.y"], ["y"])
|
|
56
|
-
self._test_extract("x.y.z", ["x", "x.y", "x.y.z"], ["y", "z", "y.z"])
|
|
56
|
+
self._test_extract("x.y.z", ["x", "x.y", "x.y.z"], ["y", "z", "y.z", "x.z"])
|
|
57
57
|
self._test_extract("x.y", ["x.y"], ["x", "y"], use=False)
|
|
58
|
-
self._test_extract("x.y.z", ["x.y.z"], ["x", "x.y", "y", "z", "y.z"], use=False)
|
|
58
|
+
self._test_extract("x.y.z", ["x.y.z"], ["x", "x.y", "y", "z", "y.z", "x.z"], use=False)
|
|
59
59
|
self._test_extract(
|
|
60
60
|
"x.f().z", ["x", "x.f"], ["f()", "z", "x.f()", "x.f().z", "f().z"]
|
|
61
61
|
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|