MCPcopy Create free account
hub / github.com/NVIDIAGameWorks/Falcor / ClassStubsGenerator

Class ClassStubsGenerator

build_scripts/pybind11_stubgen.py:712–859  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

710
711
712class ClassStubsGenerator(StubsGenerator):
713 ATTRIBUTES_BLACKLIST = (
714 "__class__",
715 "__module__",
716 "__qualname__",
717 "__dict__",
718 "__weakref__",
719 "__annotations__",
720 )
721 PYBIND11_ATTRIBUTES_BLACKLIST = ("__entries",)
722 METHODS_BLACKLIST = ("__dir__", "__sizeof__")
723 BASE_CLASS_BLACKLIST = ("pybind11_object", "object")
724 CLASS_NAME_BLACKLIST = ("pybind11_type",)
725
726 def __init__(
727 self,
728 klass,
729 attributes_blacklist=ATTRIBUTES_BLACKLIST,
730 pybind11_attributes_blacklist=PYBIND11_ATTRIBUTES_BLACKLIST,
731 base_class_blacklist=BASE_CLASS_BLACKLIST,
732 methods_blacklist=METHODS_BLACKLIST,
733 class_name_blacklist=CLASS_NAME_BLACKLIST,
734 ):
735 self.klass = klass
736 assert inspect.isclass(klass)
737 assert klass.__name__.isidentifier()
738
739 self.doc_string = None # type: Optional[str]
740
741 self.classes = [] # type: List[ClassStubsGenerator]
742 self.fields = [] # type: List[AttributeStubsGenerator]
743 self.properties = [] # type: List[PropertyStubsGenerator]
744 self.methods = [] # type: List[ClassMemberStubsGenerator]
745 self.alias = []
746
747 self.base_classes = []
748 self.involved_modules_names = set() # Set[str]
749
750 self.attributes_blacklist = attributes_blacklist
751 self.pybind11_attributes_blacklist = pybind11_attributes_blacklist
752 self.base_class_blacklist = base_class_blacklist
753 self.methods_blacklist = methods_blacklist
754 self.class_name_blacklist = class_name_blacklist
755
756 def get_involved_modules_names(self):
757 return self.involved_modules_names
758
759 def parse(self):
760 if self.klass in _visited_objects:
761 return
762 _visited_objects.append(self.klass)
763
764 bases = inspect.getmro(self.klass)[1:]
765
766 def is_base_member(name, member):
767 for base in bases:
768 if hasattr(base, name) and getattr(base, name) is member:
769 return True

Callers 2

parseMethod · 0.85
parseMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected