I used objective-c runtime to introspects elements inside a class such as protocol, property, and. Also I used clang to walking through interface, implementation, protocol, propert, & … declaration.