pyVHDLModelTreesitter 0.7.0__tar.gz → 0.7.1__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 (59) hide show
  1. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/PKG-INFO +1 -1
  2. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/pyproject.toml +1 -1
  3. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/Association.py +12 -7
  4. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/Concurrent.py +11 -10
  5. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/Name.py +8 -0
  6. pyvhdlmodeltreesitter-0.7.1/src/pyVHDLModelTreesitter/treesitter/queries/association_element.scm +7 -0
  7. pyvhdlmodeltreesitter-0.7.0/src/pyVHDLModelTreesitter/treesitter/queries/association_element.scm +0 -4
  8. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/.gitignore +0 -0
  9. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/LICENSE +0 -0
  10. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/README.md +0 -0
  11. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/Base.py +0 -0
  12. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/DesignUnit.py +0 -0
  13. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/Expression.py +0 -0
  14. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/Interface.py +0 -0
  15. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/Object.py +0 -0
  16. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/Symbol.py +0 -0
  17. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/_Design.py +0 -0
  18. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/_Document.py +0 -0
  19. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/_Library.py +0 -0
  20. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/__init__.py +0 -0
  21. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/_errors.py +0 -0
  22. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/_parse.py +0 -0
  23. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/cli/__init__.py +0 -0
  24. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/cli/_dump_treesitter_parse.py +0 -0
  25. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/format.py +0 -0
  26. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/py.typed +0 -0
  27. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/__init__.py +0 -0
  28. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/_base_class.py +0 -0
  29. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/_utils.py +0 -0
  30. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/adding_expression.scm +0 -0
  31. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/architecture_definition.scm +0 -0
  32. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/association_elements.scm +0 -0
  33. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/association_list_simple_range.scm +0 -0
  34. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/component_instantiation_statement.scm +0 -0
  35. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/concurrent_simple_signal_assignment.scm +0 -0
  36. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/constant_declaration.scm +0 -0
  37. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/constrained_1d_array.scm +0 -0
  38. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/design_units.scm +0 -0
  39. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/entity_declaration.scm +0 -0
  40. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/function_call.scm +0 -0
  41. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/ignorable_parentheses.scm +0 -0
  42. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/indexed_name.scm +0 -0
  43. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/interface_declaration.scm +0 -0
  44. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/interface_declarations.scm +0 -0
  45. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/library_clauses.scm +0 -0
  46. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/library_namespaces.scm +0 -0
  47. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/logical_expression.scm +0 -0
  48. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/multiplying_expression.scm +0 -0
  49. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/package_declaration.scm +0 -0
  50. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/package_definition.scm +0 -0
  51. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/relational_expression.scm +0 -0
  52. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/selected_names.scm +0 -0
  53. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/shift_expression.scm +0 -0
  54. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/signal_declaration.scm +0 -0
  55. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/simple_subtype.scm +0 -0
  56. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/type_conversion.scm +0 -0
  57. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/unary_expression.scm +0 -0
  58. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/queries/use_clauses.scm +0 -0
  59. {pyvhdlmodeltreesitter-0.7.0 → pyvhdlmodeltreesitter-0.7.1}/src/pyVHDLModelTreesitter/treesitter/query.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyVHDLModelTreesitter
3
- Version: 0.7.0
3
+ Version: 0.7.1
4
4
  Summary: An implementation of pyVHDLModel using treesitter
5
5
  Project-URL: Repository, https://gitlab.com/dawalters/pyVHDLModelTreesitter
6
6
  Author: Dominic Adam Walters
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "pyVHDLModelTreesitter"
7
- version = "0.7.0"
7
+ version = "0.7.1"
8
8
  description = "An implementation of pyVHDLModel using treesitter"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -22,7 +22,7 @@ from pyVHDLModel.Association import (
22
22
  PortAssociationItem as pyVHDLModel_PortAssociationItem,
23
23
  )
24
24
 
25
- from pyVHDLModelTreesitter.Name import parse_name
25
+ from pyVHDLModelTreesitter.Name import OpenName, parse_name
26
26
  from pyVHDLModelTreesitter.Symbol import SimpleObjectOrFunctionCallSymbol
27
27
  from pyVHDLModelTreesitter.treesitter import (
28
28
  TreesitterNodeMixin,
@@ -32,6 +32,7 @@ from pyVHDLModelTreesitter.treesitter import (
32
32
  from pyVHDLModelTreesitter.treesitter.query import AssociationElement
33
33
 
34
34
  if TYPE_CHECKING:
35
+ import pyVHDLModel
35
36
  import tree_sitter
36
37
 
37
38
 
@@ -50,12 +51,16 @@ class AssociationItemMixin(TreesitterNodeMixin, pyVHDLModel_AssociationItem):
50
51
  parse_name(get_node_text(formal_node)),
51
52
  )
52
53
  actual_node = get_node(node, captures, "actual")
53
- # ruff: ignore[import-outside-top-level]
54
- from pyVHDLModelTreesitter._parse import parse_conditional_expression
55
-
56
- actual = parse_conditional_expression(actual_node)
57
- if actual is None:
58
- return []
54
+ actual: pyVHDLModel.Base.ExpressionUnion
55
+ if actual_node.type == "OPEN":
56
+ actual = SimpleObjectOrFunctionCallSymbol(OpenName())
57
+ else:
58
+ # ruff: ignore[import-outside-top-level]
59
+ from pyVHDLModelTreesitter._parse import parse_conditional_expression
60
+
61
+ actual = parse_conditional_expression(actual_node)
62
+ if actual is None:
63
+ return []
59
64
  return [cls(actual, formal, _treesitter_node=node)]
60
65
 
61
66
  def __eq__(self, other: object) -> bool:
@@ -36,6 +36,7 @@ from pyVHDLModelTreesitter.treesitter import (
36
36
  get_node,
37
37
  get_node_text,
38
38
  get_nodes,
39
+ sort_into_text_order,
39
40
  )
40
41
  from pyVHDLModelTreesitter.treesitter.query import (
41
42
  ComponentInstantiationStatement,
@@ -54,16 +55,16 @@ def _parse_instantiation_common(
54
55
  ) -> tuple[str, list[Any], list[Any]]:
55
56
  label_node = get_node(node, captures, "label")
56
57
  label = get_node_text(label_node)
57
- generic_associations = []
58
- for association_node in get_nodes(node, captures, "generics", optional=True):
59
- generic_associations.extend(
60
- GenericAssociationItem.from_treesitter_node(association_node),
61
- )
62
- port_associations = []
63
- for association_node in get_nodes(node, captures, "ports", optional=True):
64
- port_associations.extend(
65
- PortAssociationItem.from_treesitter_node(association_node),
66
- )
58
+ generic_associations = sort_into_text_order(
59
+ association
60
+ for association_node in get_nodes(node, captures, "generics", optional=True)
61
+ for association in GenericAssociationItem.from_treesitter_node(association_node)
62
+ )
63
+ port_associations = sort_into_text_order(
64
+ association
65
+ for association_node in get_nodes(node, captures, "ports", optional=True)
66
+ for association in PortAssociationItem.from_treesitter_node(association_node)
67
+ )
67
68
  return label, generic_associations, port_associations
68
69
 
69
70
 
@@ -6,6 +6,7 @@ __all__ = [
6
6
  "AttributeName",
7
7
  "IndexedName",
8
8
  "Name",
9
+ "OpenName",
9
10
  "SelectedName",
10
11
  "SimpleName",
11
12
  "SlicedName",
@@ -23,6 +24,9 @@ from pyVHDLModel.Name import (
23
24
  from pyVHDLModel.Name import (
24
25
  Name as VHDLModel_Name,
25
26
  )
27
+ from pyVHDLModel.Name import (
28
+ OpenName as VHDLModel_OpenName,
29
+ )
26
30
  from pyVHDLModel.Name import (
27
31
  SelectedName as VHDLModel_SelectedName,
28
32
  )
@@ -86,6 +90,10 @@ class SelectedName(VHDLModel_SelectedName, Name): # ruff: ignore[undocumented-p
86
90
  pass
87
91
 
88
92
 
93
+ class OpenName(VHDLModel_OpenName, Name): # ruff: ignore[undocumented-public-class]
94
+ pass
95
+
96
+
89
97
  class SimpleName(VHDLModel_SimpleName, Name): # ruff: ignore[undocumented-public-class]
90
98
  pass
91
99
 
@@ -0,0 +1,7 @@
1
+ (association_element
2
+ (name)? @formal
3
+ [
4
+ (conditional_expression) @actual
5
+ (OPEN) @actual
6
+ ]
7
+ ) @root
@@ -1,4 +0,0 @@
1
- (association_element
2
- (name)? @formal
3
- (conditional_expression) @actual
4
- ) @root