问题标签 [oclint]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - OCLint 和 xcode 项目
从昨天开始,我试图让 OCLint 与我的 iOS 项目一起工作。
到目前为止,我所做的是按照这些说明安装 OCLint,然后我按照这些其他说明在 Xcode 中使用它。问题是当我尝试构建 OCLint 聚合目标时,构建过程永远不会结束(我已经等了 30 分钟才停止它)。有人遇到同样的问题吗?我使用的 OCLint 版本是oclint-0.9.dev.3f9355e
ios - oclint:oclint-json-compilation-database 返回“未找到跳过 [路径] 命令行。”
在(看似)使用 oclint-xcodebuild 成功生成 compile_commands.json 之后,oclint-json-compilation-database 无法正确创建 pmd 样式的报告。
该命令如下所示:
它返回:
我正在使用 oclint 0.7。
objective-c - 在 Xcode 中显示超过 x 行的方法的警告
有没有办法检查源代码文件(目标 C)并为超过 x 行的方法/函数显示警告(可以配置 x)。可以集成到 Xcode 中的东西会很棒。
如果它们提供了这样的功能,我已经研究了以下两个用于 C/C++/ObjC 代码的静态分析器,但我找不到文档中提到的任何内容:
- http://clang-analyzer.llvm.org
- http://oclint.org(longMethod 规则)
有什么想法可以进一步研究吗?
json - oclint:错误:违规超过 Jenkins 的阈值
赢不了奥克林特。我真的不知道该怎么做,我尝试在构建脚本中进行一些更改,但没有任何帮助。
脚本:
错误:
c++ - 如何比较 clang 中的两个源位置?
这似乎更像是一个 C++ 问题而不是 Clang 问题......
我必须使用 C++ 来编写 OCLint(静态代码分析器)规则。
我希望比较 Clang 库中类型为“SourceLocation”的两个对象。
此类型提供有关代码中对象(语句、声明等)的位置(基本上是行和列)的信息。
基本上,我想知道语句 A 是在语句 B 之前还是之后开始和结束。
在伪代码中,这意味着我想从以下位置获取布尔值:
( stmt_A->getLocBegin() < stmt_B->getLocBegin() ),例如。当然,这不会编译,因为“<”运算符未在两个“SourceLocation”类型的对象之间定义。
我在 Clang 文档中找到了一个方法,但是由于我不是 C++ 的频繁用户,所以我没有找到使用它的方法,这里是这个方法:
http://clang.llvm.org/doxygen/classclang_1_1BeforeThanCompare_3_01SourceLocation_01_4.html
我不知道如何使用 SourceManager,或者只是如何获得上面的这个布尔值。
c++ - 如何在 C++ 中获取类型的大小?
我正在寻找一个返回类型大小的 C++ 函数。例如 :
我知道 size() 的存在是为了获取字符串的长度,所以我想也有一个函数表明了这一点。
此外,我正在使用 Clang 库,所以我可以获得一个类型(http://clang.llvm.org/doxygen/classclang_1_1Type.html)但我目前不知道比较两种类型并知道它们之间的更大二。
ios - 断言失败: (SourceMgr && "SourceManager not set!") with oclint-json-compilation-database
我正在尝试生成 OCLint 报告。
当我尝试执行命令“oclint-json-compilation-database --debug”时,我收到以下错误:-
编译/Users/tavant/Desktop/TestJenkinsCI/TestJenkinsCI/AppDelegate.m**Assertion failed: (SourceMgr && "SourceManager not set!"),函数getSourceManager,文件/Users/lqi/.jenkins/workspace/oclint-ci/oclint -build-nodes/master/oclint/llvm/tools/clang/include/clang/Basic/Diagnostic.h,第 384 行。**
我正在使用 oclint 0.9(最新版本)。
ios - 分析 iOS 项目时 oclint-json-compilation-database 未运行 (0.9)
我尝试运行 oclint 0.7,它开始通过我的项目,但最终失败了:
一些搜索表明这实际上是 0.7 的一个已知问题,解决方案是升级到开发版本(0.9)。我使用了 oclint 网站上的链接,并运行了与 0.7 工作相同的一组命令。我得到:
而 oclint 只是坐在那里,没有输出(已经这样了一个多小时)。如果我 ctrl+c 我得到这个(如果它有用,我不知道)
有没有人有这个问题或任何想法我可能做错了什么?
ios - 规则“OCLint:ivar assignment outside accessors or init”不存在
我正在尝试集成SonarQube
以生成关于我的报告iOS project
,
我正在使用Objective-C 声纳插件
当我跑步时./run-sonar.sh
OCLint
compile_commands.json
在我的根目录中生成一个文件。
之后出现以下错误
有人可以帮我解决这个问题吗?谢谢 AMR
纳克斯
iphone - xcodebuild 生成空的 compile_commands.json
我正在使用以下命令将 oclint 与 xcode 5- 一起使用
Step1: xcodebuild -target OClintDemo -configuration Debug -scheme OClintDemo -sdk iphonesimulator
Step2: OClintDemo jenkins$ xcodebuild -sdk iphonesimulator | tee xcodebuild.log
Step3: oclint-xcodebuild xcodebuild.log
Step4: oclint-json-compilation-database -- -o=report.html
但我得到 compile_commands.json 空文件,report.html 包含以下内容-OCLint 报告摘要:TotalFiles=0 FilesWithViolations=0 P1=0 P2=0 P3=0 [OCLint ( http://oclint.org ) v0.7 ]