code: def call_const(self, env, dtype, size, alignment=None):
      name = env.get_fresh_variable_name(prefix="_smem")
      ctype = _cuda_typerules.to_ctype(dtype)
      var = Data(name, _cuda_types.SharedMem(ctype, size, alignment))
      env.decls[name] = var
      env.locals[name] = var
      return Data(name, _cuda_types.Ptr(ctype))
  
imports: from typing import Any, Mapping
  import warnings
  import cupy
  from cupy_backends.cuda.api import runtime
  from cupy.cuda import device
  from cupyx.jit import _cuda_types
  from cupyx.jit import _cuda_typerules
  from cupyx.jit._internal_types import BuiltinFunc
  from cupyx.jit._internal_types import Data
  from cupyx.jit._internal_types import Constant
  from cupyx.jit._internal_types import Range
  from cupyx.jit import _compile
  from functools import reduce
label_desc: Use image node_id 2 for calling the SharedMemory obj's underlying member method code with example usage: obj.call_const(env, dtype, size, alignment) and returns: Data