pyVHDLModelTreesitter 0.3.1__tar.gz → 0.4.0__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.
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/PKG-INFO +1 -5
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/README.md +0 -4
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/pyproject.toml +1 -1
- pyvhdlmodeltreesitter-0.4.0/src/pyVHDLModelTreesitter/Association.py +36 -0
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/Base.py +5 -5
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/DesignUnit.py +6 -6
- pyvhdlmodeltreesitter-0.4.0/src/pyVHDLModelTreesitter/Expression.py +711 -0
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/Interface.py +77 -91
- pyvhdlmodeltreesitter-0.4.0/src/pyVHDLModelTreesitter/Name.py +63 -0
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/Symbol.py +61 -80
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/_Design.py +2 -2
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/_Document.py +4 -10
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/_Library.py +2 -2
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/__init__.py +2 -1
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/_errors.py +35 -6
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/treesitter/__init__.py +2 -2
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/treesitter/_base_class.py +2 -2
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/treesitter/_utils.py +4 -4
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/treesitter/queries/adding_expression.scm +1 -1
- pyvhdlmodeltreesitter-0.4.0/src/pyVHDLModelTreesitter/treesitter/queries/association_elements.scm +3 -0
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/treesitter/queries/constrained_1d_array.scm +2 -2
- pyvhdlmodeltreesitter-0.4.0/src/pyVHDLModelTreesitter/treesitter/queries/function_call.scm +33 -0
- pyvhdlmodeltreesitter-0.4.0/src/pyVHDLModelTreesitter/treesitter/queries/ignorable_parentheses.scm +11 -0
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/treesitter/queries/interface_declaration.scm +2 -2
- pyvhdlmodeltreesitter-0.4.0/src/pyVHDLModelTreesitter/treesitter/queries/multiplying_expression.scm +5 -0
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/treesitter/queries/simple_subtype.scm +2 -2
- pyvhdlmodeltreesitter-0.4.0/src/pyVHDLModelTreesitter/treesitter/queries/type_conversion.scm +30 -0
- pyvhdlmodeltreesitter-0.4.0/src/pyVHDLModelTreesitter/treesitter/query.py +180 -0
- pyvhdlmodeltreesitter-0.3.1/src/pyVHDLModelTreesitter/Expression.py +0 -347
- pyvhdlmodeltreesitter-0.3.1/src/pyVHDLModelTreesitter/Name.py +0 -69
- pyvhdlmodeltreesitter-0.3.1/src/pyVHDLModelTreesitter/treesitter/query.py +0 -105
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/.gitignore +0 -0
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/LICENSE +0 -0
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/py.typed +0 -0
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/treesitter/queries/design_units.scm +0 -0
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/treesitter/queries/entity_declaration.scm +0 -0
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/treesitter/queries/interface_declarations.scm +0 -0
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/treesitter/queries/library_clauses.scm +0 -0
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/treesitter/queries/library_namespaces.scm +0 -0
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/treesitter/queries/selected_names.scm +0 -0
- {pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/treesitter/queries/use_clauses.scm +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyVHDLModelTreesitter
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
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
|
|
@@ -44,10 +44,6 @@ Description-Content-Type: text/markdown
|
|
|
44
44
|
> Disclaimer: This project is in early development and only implements a
|
|
45
45
|
fraction of the features of [`pyVHDLModel`][pyVHDLModel-github].
|
|
46
46
|
|
|
47
|
-
## Dependencies
|
|
48
|
-
|
|
49
|
-
- Python 3.10 or newer.
|
|
50
|
-
|
|
51
47
|
## Installation
|
|
52
48
|
|
|
53
49
|
### `pip`
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"""Submodule mirroring modified aspects of pyVHDLModel.Association."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
__all__ = [
|
|
6
|
+
"AssociationItem",
|
|
7
|
+
]
|
|
8
|
+
|
|
9
|
+
from typing import cast
|
|
10
|
+
|
|
11
|
+
import pyVHDLModel
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class AssociationItem(pyVHDLModel.Association.AssociationItem): # noqa: D101
|
|
15
|
+
def __eq__(self, other: object) -> bool: # noqa: D105
|
|
16
|
+
if not isinstance(other, AssociationItem):
|
|
17
|
+
return False
|
|
18
|
+
# Required for LSP completions
|
|
19
|
+
other = cast("AssociationItem", other) # type: ignore[redundant-cast]
|
|
20
|
+
return self._formal == other._formal and self._actual == other._actual
|
|
21
|
+
|
|
22
|
+
def __hash__(self) -> int: # noqa: D105
|
|
23
|
+
return hash(
|
|
24
|
+
(
|
|
25
|
+
self._formal,
|
|
26
|
+
self._actual,
|
|
27
|
+
),
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
def __repr__(self) -> str: # noqa: D105
|
|
31
|
+
return (
|
|
32
|
+
f"{self.__class__.__name__}("
|
|
33
|
+
f"_formal={self._formal!r}, "
|
|
34
|
+
f"_actual={self._actual!r}, "
|
|
35
|
+
")"
|
|
36
|
+
)
|
{pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/Base.py
RENAMED
|
@@ -21,7 +21,7 @@ from pyVHDLModelTreesitter._errors import (
|
|
|
21
21
|
NotImplementedWarning,
|
|
22
22
|
)
|
|
23
23
|
from pyVHDLModelTreesitter.Expression import parse_simple_expression
|
|
24
|
-
from pyVHDLModelTreesitter.treesitter import
|
|
24
|
+
from pyVHDLModelTreesitter.treesitter import TreesitterNodeMixin
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
def parse_as_direction(string: str) -> pyVHDLModel.Base.Direction | None:
|
|
@@ -67,7 +67,7 @@ def parse_as_mode(string: str) -> pyVHDLModel.Base.Mode | None:
|
|
|
67
67
|
return None
|
|
68
68
|
|
|
69
69
|
|
|
70
|
-
class Range(
|
|
70
|
+
class Range(TreesitterNodeMixin, pyVHDLModel.Base.Range): # noqa: D101
|
|
71
71
|
@classmethod
|
|
72
72
|
def from_treesitter_node( # noqa: C901, PLR0912
|
|
73
73
|
cls,
|
|
@@ -98,7 +98,7 @@ class Range(BaseTreesitterNode, pyVHDLModel.Base.Range): # noqa: D101
|
|
|
98
98
|
if left is None:
|
|
99
99
|
raise NodeMissingChildError(node, "first-child")
|
|
100
100
|
if left.type != "simple_expression":
|
|
101
|
-
NotImplementedWarning.warn_child_type(left
|
|
101
|
+
NotImplementedWarning.warn_child_type(left)
|
|
102
102
|
return None
|
|
103
103
|
if left.text is None or len(left.text) == 0:
|
|
104
104
|
raise NodeTextIsNoneError(left)
|
|
@@ -106,7 +106,7 @@ class Range(BaseTreesitterNode, pyVHDLModel.Base.Range): # noqa: D101
|
|
|
106
106
|
if direction_node is None:
|
|
107
107
|
raise NodeMissingChildError(node, "second-child")
|
|
108
108
|
if len(direction_node.type) == 0:
|
|
109
|
-
NotImplementedWarning.warn_child_type(direction_node
|
|
109
|
+
NotImplementedWarning.warn_child_type(direction_node)
|
|
110
110
|
return None
|
|
111
111
|
if direction_node.text is None or len(direction_node.text) == 0:
|
|
112
112
|
raise NodeTextIsNoneError(direction_node)
|
|
@@ -115,7 +115,7 @@ class Range(BaseTreesitterNode, pyVHDLModel.Base.Range): # noqa: D101
|
|
|
115
115
|
if right is None:
|
|
116
116
|
raise NodeMissingChildError(node, "third-child")
|
|
117
117
|
if right.type != "simple_expression":
|
|
118
|
-
NotImplementedWarning.warn_child_type(right
|
|
118
|
+
NotImplementedWarning.warn_child_type(right)
|
|
119
119
|
return None
|
|
120
120
|
if right.text is None or len(right.text) == 0:
|
|
121
121
|
raise NodeTextIsNoneError(right)
|
{pyvhdlmodeltreesitter-0.3.1 → pyvhdlmodeltreesitter-0.4.0}/src/pyVHDLModelTreesitter/DesignUnit.py
RENAMED
|
@@ -11,8 +11,8 @@ __all__ = [
|
|
|
11
11
|
from typing import TYPE_CHECKING, Self, cast
|
|
12
12
|
|
|
13
13
|
import pyVHDLModel
|
|
14
|
-
from pyVHDLModel.DesignUnit import LibraryClause as
|
|
15
|
-
from pyVHDLModel.DesignUnit import UseClause as
|
|
14
|
+
from pyVHDLModel.DesignUnit import LibraryClause as VHDLModel_LibraryClause
|
|
15
|
+
from pyVHDLModel.DesignUnit import UseClause as VHDLModel_UseClause
|
|
16
16
|
|
|
17
17
|
from pyVHDLModelTreesitter._errors import NodeExtraChildError, NodeTextIsNoneError
|
|
18
18
|
from pyVHDLModelTreesitter.Interface import (
|
|
@@ -22,7 +22,7 @@ from pyVHDLModelTreesitter.Interface import (
|
|
|
22
22
|
from pyVHDLModelTreesitter.Name import SelectedName, SimpleName
|
|
23
23
|
from pyVHDLModelTreesitter.Symbol import LibraryReferenceSymbol, PackageReferenceSymbol
|
|
24
24
|
from pyVHDLModelTreesitter.treesitter import (
|
|
25
|
-
|
|
25
|
+
TreesitterNodeMixin,
|
|
26
26
|
get_node_or_raise,
|
|
27
27
|
get_nodes_or_raise,
|
|
28
28
|
sort_into_text_order,
|
|
@@ -42,7 +42,7 @@ if TYPE_CHECKING:
|
|
|
42
42
|
import tree_sitter
|
|
43
43
|
|
|
44
44
|
|
|
45
|
-
class LibraryClause(
|
|
45
|
+
class LibraryClause(TreesitterNodeMixin, VHDLModel_LibraryClause): # noqa: D101
|
|
46
46
|
@classmethod
|
|
47
47
|
def from_treesitter_node(
|
|
48
48
|
cls,
|
|
@@ -96,7 +96,7 @@ class LibraryClause(BaseTreesitterNode, BaseLibraryClause): # noqa: D101
|
|
|
96
96
|
return f"{self.__class__.__name__}(_symbols={self._symbols!r}, )"
|
|
97
97
|
|
|
98
98
|
|
|
99
|
-
class UseClause(
|
|
99
|
+
class UseClause(TreesitterNodeMixin, VHDLModel_UseClause): # noqa: D101
|
|
100
100
|
@classmethod
|
|
101
101
|
def from_treesitter_node(
|
|
102
102
|
cls,
|
|
@@ -159,7 +159,7 @@ class UseClause(BaseTreesitterNode, BaseUseClause): # noqa: D101
|
|
|
159
159
|
return f"{self.__class__.__name__}(_symbols={self._symbols!r}, )"
|
|
160
160
|
|
|
161
161
|
|
|
162
|
-
class Entity(
|
|
162
|
+
class Entity(TreesitterNodeMixin, pyVHDLModel.Entity): # noqa: D101
|
|
163
163
|
@classmethod
|
|
164
164
|
def from_treesitter_node(
|
|
165
165
|
cls,
|