加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Objective-C头解析

发布时间:2020-12-16 03:21:16 所属栏目:百科 来源:网络整理
导读:我需要解析一些Objective-C头. 我尝试过使用Doxygen并解析XML输出,但是它没有完全支持没有注释的Objective C头文件(它在属性中定义的宏上扼流圈,检查Doxygen not properly recognizing properties) 我也尝试过使用appledoc,但是XML输出不够完整(例如,没有类
我需要解析一些Objective-C头.

>我尝试过使用Doxygen并解析XML输出,但是它没有完全支持没有注释的Objective C头文件(它在属性中定义的宏上扼流圈,检查Doxygen not properly recognizing properties)
>我也尝试过使用appledoc,但是XML输出不够完整(例如,没有类的继承信息),并且它对属性上的宏也有同样的问题.
>我也尝试解析库Objective C元数据的输出(使用otool),但注意到元数据不保留方法上的类型(所以你得到方法:(id)param:(id))

有谁知道做我想要的好工具?我怀疑clang会帮助我,但到目前为止-ast-dump和类似的选项只是试图为我没有的源(只有标题)生成一个AST.

解决方法

您可以使用libclang. libclang是一个编程接口,旨在实现语法突出显示和代码完成等工具.

clang -ast-dump适合我. (请注意,驱动程序不支持-ast-dump,因此您必须做一些额外的工作来传递驱动程序通常处理的标志.您可以使用clang – ### …来查看驱动程序的确切内容做的事情.)

% clang -cc1 -ast-dump -fblocks -x objective-c /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h
[...]
|-ObjCInterfaceDecl 0x1023727c0 <line:50:1,line:96:2> NSObject
| |-ObjCProtocol 0x102371350 'NSObject'
[...]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读