Skip to content
Snippets Groups Projects
Commit 4c225c82 authored by Stephan Seitz's avatar Stephan Seitz
Browse files

Add AssignmentCollection.{free_fields,bound_fields}

parent 0a8c16b0
No related branches found
No related tags found
1 merge request!57Add AssignmentCollection.{free_fields,bound_fields}
...@@ -111,6 +111,15 @@ class AssignmentCollection: ...@@ -111,6 +111,15 @@ class AssignmentCollection:
"Not in SSA form - same symbol assigned multiple times" "Not in SSA form - same symbol assigned multiple times"
return bound_symbols_set return bound_symbols_set
def free_fields(self):
"""All fields accessed in the assignment collection, which do not occur as left hand sides in any assignment."""
return {s.field for s in self.free_symbols if hasattr(s, 'field')}
@property
def bound_fields(self):
"""All field accessed on the left hand side of a main assignment or a subexpression."""
return {s.field for s in self.bound_symbols if hasattr(s, 'field')}
@property @property
def defined_symbols(self) -> Set[sp.Symbol]: def defined_symbols(self) -> Set[sp.Symbol]:
"""All symbols which occur as left-hand-sides of one of the main equations""" """All symbols which occur as left-hand-sides of one of the main equations"""
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment