Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
class MultiDimRoot(eve.Node, eve.SymbolTableTrait):
    decls: List[MultiDimDecl]
    loops: List[MultiDimLoop]

    _lvalue_dims_validator = common.validate_lvalue_dims(
        MultiDimLoop, MultiDimDecl)