class Computation(Node, SymbolTableTrait): name: Str connectivities: List[Connectivity] params: List[Union[UField, SparseField]] declarations: Optional[List[Union[TemporaryField, TemporarySparseField]]] stencils: List[Stencil] _validate_symbol_refs = stable_gtc_common.validate_symbol_refs()
class Computation(Node, SymbolTableTrait): name: Str connectivities: List[Connectivity] parameters: List[Union[UField, SparseField]] temporaries: List[Union[Temporary, TemporarySparseField]] kernels: List[Kernel] ctrlflow_ast: List[KernelCall] _validate_symbol_refs = stable_gtc_common.validate_symbol_refs()
class Stencil(LocNode, SymbolTableTrait): name: Str # TODO: fix to be List[Union[ScalarDecl, FieldDecl]] params: List[Decl] vertical_loops: List[VerticalLoop] declarations: List[Temporary] _validate_dtype_is_set = common.validate_dtype_is_set() _validate_symbol_refs = common.validate_symbol_refs()
class Program(LocNode, SymbolTableTrait): name: Str parameters: List[ ApiParamDecl] # in the current implementation these symbols can be accessed by the functor body functors: List[GTFunctor] gt_computation: GTComputationCall # here could be the CtrlFlow region _validate_dtype_is_set = common.validate_dtype_is_set() _validate_symbol_refs = common.validate_symbol_refs()
class Stencil(LocNode, SymbolTableTrait): name: Str # TODO(havogt) deal with gtscript externals params: List[Decl] vertical_loops: List[VerticalLoop] @property def param_names(self) -> List: return [p.name for p in self.params] _validate_symbol_refs = common.validate_symbol_refs()
class Stencil(LocNode, SymbolTableTrait): name: Str api_signature: List[Argument] params: List[Decl] vertical_loops: List[VerticalLoop] externals: Dict[str, Literal] sources: Optional[Dict[str, str]] docstring: Optional[Str] @property def param_names(self) -> List[str]: return [p.name for p in self.params] _validate_symbol_refs = common.validate_symbol_refs() _validate_lvalue_dims = common.validate_lvalue_dims( VerticalLoop, FieldDecl)
class SymbolTableRootNode(eve.Node, eve.SymbolTableTrait): nodes: List[Union[SymbolRefChildNode, SymbolChildNode, AnotherSymbolTable]] _validate_symbol_refs = common.validate_symbol_refs()