Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion fprime_python_model/fpp_ast/fpp_locations.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

@dataclass
class Location:
path: Path
file: Path
pos: str
including_loc: Optional["Location"]

Expand Down
4 changes: 2 additions & 2 deletions fprime_python_model/semantics/analysis.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from dataclasses import dataclass, field
from typing import Optional, Set, List, Dict, Tuple
from fprime_python_model.fpp_ast.fpp_ast_node import AstId
from fprime_python_model.fpp_ast.fpp_ast_node import AstId, AstNode
from fprime_python_model.fpp_ast.fpp_ast import Ident, SpecLocKind, SpecLoc
from fprime_python_model.semantics.symbol import (
Symbol,
Expand Down Expand Up @@ -55,7 +55,7 @@ class Analysis:

input_file_set: Set[Path] = field(default_factory=set)
included_file_set: Set[Path] = field(default_factory=set)
location_specifier_map: Dict[Tuple[SpecLocKind, QualifiedName], SpecLoc] = field(
location_specifier_map: Dict[Tuple[SpecLocKind, QualifiedName], AstNode[SpecLoc]] = field(
default_factory=dict
)
parent_symbol_map: Dict[AstId, Symbol] = field(default_factory=dict)
Expand Down
20 changes: 19 additions & 1 deletion fprime_python_model/semantics/component.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,12 +57,18 @@ class Component:
:type port_interface: PortInterface
:param command_map: The map from command opcodes to commands
:type command_map: Dict[CommandOpcode, Command]
:param default_opcode: The next default opcode
:type default_opcode: int
:param tlm_channel_map: The map from telemetry channel IDs to channels
:type tlm_channel_map: Dict[TlmChannelId, TlmChannel]
:param tlm_channel_name_map: The map from telemetry channel names to channels
:type tlm_channel_name_map: Dict[UnqualifiedName, TlmChannel]
:param default_tlm_channel_id: The next default telemetry channel ID
:type default_tlm_channel_id: int
:param event_map: The map from event IDs to events
:type event_map: Dict[EventId, Event]
:param default_event_id: The next default event ID
:type default_event_id: int
:param param_map: The map from parameter IDs to parameters
:type param_map: Dict[ParamId, Param]
:param spec_port_matching_list: The list of port matching specifiers
Expand All @@ -71,22 +77,31 @@ class Component:
:type state_machine_instance_map: Dict[UnqualifiedName, StateMachineInstance]
:param port_matching_list: The list of port matching constraints
:type port_matching_list: List[PortMatching]
:param constainer_map: The map from container IDs to containers
:param default_param_id: The next default parameter ID
:type default_param_id: int
:param container_map: The map from container IDs to containers
:type container_map: Dict[ContainerId, Container]
:param default_container_id: The next default container ID
:type default_container_id: int
:param record_map: The map from record IDs to records
:type record_map: Dict[RecordId, Record]
:param default_record_id: The next default record ID
:type default_record_id: int
"""

a_node: fpp_ast.Annotated[AstNode[fpp_ast.DefComponent]]
port_interface: PortInterface = field(
default_factory=lambda: PortInterface("component")
)
command_map: Dict[CommandOpcode, Command] = field(default_factory=dict)
default_opcode: int = 0
tlm_channel_map: Dict[TlmChannelId, TlmChannel] = field(default_factory=dict)
tlm_channel_name_map: Dict[UnqualifiedName, TlmChannel] = field(
default_factory=dict
)
default_tlm_channel_id: int = 0
event_map: Dict[EventId, Event] = field(default_factory=dict)
default_event_id: int = 0
param_map: Dict[ParamId, Param] = field(default_factory=dict)
spec_port_matching_list: List[
fpp_ast.Annotated[AstNode[fpp_ast.SpecPortMatching]]
Expand All @@ -95,8 +110,11 @@ class Component:
default_factory=dict
)
port_matching_list: List[PortMatching] = field(default_factory=list)
default_param_id: int = 0
container_map: Dict[ContainerId, Container] = field(default_factory=dict)
default_container_id: int = 0
record_map: Dict[RecordId, Record] = field(default_factory=dict)
default_record_id: int = 0

@property
def port_map(self) -> Dict[UnqualifiedName, PortInstance]:
Expand Down
Loading