code: def from_values(cls, filename, lno, name, kind):
      if kind not in cls.KINDS:
          raise ValueError(f"unsupported kind {kind!r}")
      self = cls(filename, lno, name, kind)
      if self.kind not in ("extern", "capi") and self.api:
          raise NotImplementedError(self)
      elif self.kind == "capi" and not self.api:
          raise NotImplementedError(self)
      return self
  
imports: from collections import namedtuple
  import os.path
  import re
  import textwrap
  from c_common import tables
  from .None import REPO_ROOT
  from ._files import iter_header_files, iter_filenames
label_desc: Use image node_id 3 for calling the BuiltinTypeDecl obj's underlying member method code with example usage: obj.from_values(cls, filename, lno, name, kind) and returns: self