vex-ast 0.2.6__tar.gz → 0.2.7__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.
Files changed (85) hide show
  1. {vex_ast-0.2.6/vex_ast.egg-info → vex_ast-0.2.7}/PKG-INFO +1 -1
  2. {vex_ast-0.2.6 → vex_ast-0.2.7}/pyproject.toml +1 -1
  3. {vex_ast-0.2.6 → vex_ast-0.2.7}/setup.py +1 -1
  4. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/ast/navigator.py +16 -0
  5. {vex_ast-0.2.6 → vex_ast-0.2.7/vex_ast.egg-info}/PKG-INFO +1 -1
  6. {vex_ast-0.2.6 → vex_ast-0.2.7}/LICENSE +0 -0
  7. {vex_ast-0.2.6 → vex_ast-0.2.7}/MANIFEST.in +0 -0
  8. {vex_ast-0.2.6 → vex_ast-0.2.7}/README.md +0 -0
  9. {vex_ast-0.2.6 → vex_ast-0.2.7}/pytest.ini +0 -0
  10. {vex_ast-0.2.6 → vex_ast-0.2.7}/requirements.txt +0 -0
  11. {vex_ast-0.2.6 → vex_ast-0.2.7}/setup.cfg +0 -0
  12. {vex_ast-0.2.6 → vex_ast-0.2.7}/tests/conftest.py +0 -0
  13. {vex_ast-0.2.6 → vex_ast-0.2.7}/tests/test_comprehensive_integration.py +0 -0
  14. {vex_ast-0.2.6 → vex_ast-0.2.7}/tests/test_conditional_expressions.py +0 -0
  15. {vex_ast-0.2.6 → vex_ast-0.2.7}/tests/test_core.py +0 -0
  16. {vex_ast-0.2.6 → vex_ast-0.2.7}/tests/test_integration.py +0 -0
  17. {vex_ast-0.2.6 → vex_ast-0.2.7}/tests/test_literals.py +0 -0
  18. {vex_ast-0.2.6 → vex_ast-0.2.7}/tests/test_navigator.py +0 -0
  19. {vex_ast-0.2.6 → vex_ast-0.2.7}/tests/test_parser.py +0 -0
  20. {vex_ast-0.2.6 → vex_ast-0.2.7}/tests/test_registry.py +0 -0
  21. {vex_ast-0.2.6 → vex_ast-0.2.7}/tests/test_serialization.py +0 -0
  22. {vex_ast-0.2.6 → vex_ast-0.2.7}/tests/test_statements.py +0 -0
  23. {vex_ast-0.2.6 → vex_ast-0.2.7}/tests/test_vex_nodes.py +0 -0
  24. {vex_ast-0.2.6 → vex_ast-0.2.7}/tests/test_visitors.py +0 -0
  25. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/README.md +0 -0
  26. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/READMEAPI.md +0 -0
  27. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/__init__.py +0 -0
  28. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/ast/README.md +0 -0
  29. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/ast/__init__.py +0 -0
  30. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/ast/core.py +0 -0
  31. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/ast/expressions.py +0 -0
  32. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/ast/interfaces.py +0 -0
  33. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/ast/literals.py +0 -0
  34. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/ast/operators.py +0 -0
  35. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/ast/statements.py +0 -0
  36. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/ast/validators.py +0 -0
  37. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/ast/vex_nodes.py +0 -0
  38. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/parser/README.md +0 -0
  39. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/parser/__init__.py +0 -0
  40. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/parser/factory.py +0 -0
  41. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/parser/interfaces.py +0 -0
  42. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/parser/python_parser.py +0 -0
  43. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/parser/strategies.py +0 -0
  44. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/registry/README.md +0 -0
  45. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/registry/__init__.py +0 -0
  46. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/registry/api.py +0 -0
  47. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/registry/categories.py +0 -0
  48. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/registry/functions/__init__.py +0 -0
  49. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/registry/functions/constructors.py +0 -0
  50. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/registry/functions/display.py +0 -0
  51. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/registry/functions/drivetrain.py +0 -0
  52. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/registry/functions/initialize.py +0 -0
  53. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/registry/functions/motor.py +0 -0
  54. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/registry/functions/sensors.py +0 -0
  55. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/registry/functions/timing.py +0 -0
  56. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/registry/language_map.py +0 -0
  57. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/registry/registry.py +0 -0
  58. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/registry/signature.py +0 -0
  59. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/registry/simulation_behavior.py +0 -0
  60. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/registry/validation.py +0 -0
  61. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/serialization/__init__.py +0 -0
  62. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/serialization/json_deserializer.py +0 -0
  63. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/serialization/json_serializer.py +0 -0
  64. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/serialization/schema.py +0 -0
  65. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/types/README.md +0 -0
  66. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/types/__init__.py +0 -0
  67. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/types/base.py +0 -0
  68. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/types/enums.py +0 -0
  69. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/types/objects.py +0 -0
  70. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/types/primitives.py +0 -0
  71. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/types/type_checker.py +0 -0
  72. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/utils/README.md +0 -0
  73. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/utils/__init__.py +0 -0
  74. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/utils/errors.py +0 -0
  75. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/utils/source_location.py +0 -0
  76. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/utils/type_definitions.py +0 -0
  77. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/visitors/README.md +0 -0
  78. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/visitors/__init__.py +0 -0
  79. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/visitors/analyzer.py +0 -0
  80. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/visitors/base.py +0 -0
  81. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/visitors/printer.py +0 -0
  82. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast/visitors/transformer.py +0 -0
  83. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast.egg-info/SOURCES.txt +0 -0
  84. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast.egg-info/dependency_links.txt +0 -0
  85. {vex_ast-0.2.6 → vex_ast-0.2.7}/vex_ast.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vex_ast
3
- Version: 0.2.6
3
+ Version: 0.2.7
4
4
  Summary: A Python package for generating Abstract Syntax Trees for VEX V5 code.
5
5
  Home-page: https://github.com/heartx2/vex_ast
6
6
  Author: Chaze
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "vex_ast"
7
- version = "0.2.6"
7
+ version = "0.2.7"
8
8
  description = "A Python package for generating Abstract Syntax Trees for VEX V5 code."
9
9
  readme = "README.md"
10
10
  authors = [
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='vex_ast',
5
- version='0.2.6',
5
+ version='0.2.7',
6
6
  description='A Python package for generating Abstract Syntax Trees for VEX V5 code.',
7
7
  long_description=open('README.md').read(),
8
8
  long_description_content_type='text/markdown',
@@ -211,6 +211,22 @@ class AstNavigator:
211
211
  if hasattr(access.object, 'name') and getattr(access.object, 'name') == object_name:
212
212
  result.append(access)
213
213
  return result
214
+
215
+ def find_assignments_to(self, variable_name: str) -> List[Assignment]:
216
+ """Find all assignments to a variable.
217
+
218
+ Args:
219
+ variable_name: The variable name
220
+
221
+ Returns:
222
+ List of assignments to the variable
223
+ """
224
+ result = []
225
+ for assignment in self.find_all(Assignment):
226
+ # Check if the target is a simple variable reference
227
+ if hasattr(assignment.target, 'name') and getattr(assignment.target, 'name') == variable_name:
228
+ result.append(assignment)
229
+ return result
214
230
 
215
231
 
216
232
  def create_navigator(ast_node: IAstNode) -> AstNavigator:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vex_ast
3
- Version: 0.2.6
3
+ Version: 0.2.7
4
4
  Summary: A Python package for generating Abstract Syntax Trees for VEX V5 code.
5
5
  Home-page: https://github.com/heartx2/vex_ast
6
6
  Author: Chaze
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