class_docstr: The main top-level class that you instantiate once, or once per module.
  
  Example usage:
  
      ffi = FFI()
      ffi.cdef("""
          int printf(const char *, ...);
      """)
  
      C = ffi.dlopen(None)   # standard library
      -or-
      C = ffi.verify()  # use a C compiler: verify the decl above is right
  
      C.printf("hello, %s!\n", ffi.new("char[]", "world"))
class_docstr_tok: ["The","main","top-level","class","that","you","instantiate","once",",","or","once","per","module",".","Example","usage",":","ffi","=","FFI","(",")","ffi.cdef","(","``","''","''","int","printf","(","const","char","*",",","...",")",";","``","''","''",")","C","=","ffi.dlopen","(","None",")","#","standard","library","-or-","C","=","ffi.verify","(",")","#","use","a","C","compiler",":","verify","the","decl","above","is","right","C.printf","(","``","hello",",","%","s","!","\\n","''",",","ffi.new","(","``","char","[","]","''",",","``","world","''",")",")"]
code: def set_source(
      self, module_name, source, source_extension=".c", **kwds
  ):
      import os
  
      if hasattr(self, "_assigned_source"):
          raise ValueError(
              "set_source() cannot be called several times "
              "per ffi object"
          )
      if not isinstance(module_name, basestring):
          raise TypeError("'module_name' must be a string")
      if os.sep in module_name or (
          os.altsep and os.altsep in module_name
      ):
          raise ValueError(
              "'module_name' must not contain '/': use a dotted "
              "name to make a 'package.module' location"
          )
      self._assigned_source = (
          str(module_name),
          source,
          source_extension,
          kwds,
      )
  
imports: import sys, types
  from .lock import allocate_lock
  from .error import CDefError
  from .None import model
label_desc: Use image node_id 38 for calling the FFI obj's underlying member method code with example usage: obj.set_source(module_name, source, source_extension) without return types