code: def __init__(self, code: str, ctype: _cuda_types.TypeBase) -> None:
      assert isinstance(code, str)
      assert isinstance(ctype, _cuda_types.TypeBase)
      self.code = code
      self.ctype = ctype
      if not isinstance(ctype, _cuda_types.Unknown):
          try:
              self.__doc__ = f"{str(ctype)} {code}\n{ctype.__doc__}"
          except NotImplementedError:
              self.__doc__ = f"{code}"
  
imports: import functools
  import itertools
  from typing import Any, NoReturn, Optional, Union, TYPE_CHECKING
  from cupyx.jit import _cuda_types
  from cupyx.jit import _cuda_typerules
label_desc: Use image node_id 1 to create a new Data object from inherited base classes: Expr with example: obj = Data(code, ctype)