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() _validate_lvalue_dims = common.validate_lvalue_dims(VerticalLoop, FieldDecl)
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() _validate_lvalue_dims = common.validate_lvalue_dims(VerticalLoop, FieldDecl)
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 MultiDimRoot(eve.Node, eve.SymbolTableTrait): decls: List[MultiDimDecl] loops: List[MultiDimLoop] _lvalue_dims_validator = common.validate_lvalue_dims( MultiDimLoop, MultiDimDecl)