解读代码检查规则语言CodeNavi的表达式节点和属性
本文分享自华为云社区《CodeNavi 中代码表达式的节点和节点属性》,作者: Uncle_Tom。 根据代码检查中的一些痛点,提出了希望寻找一种适合编写静态分析规则的语言。 可以满足用户对代码检查不断增加的各种需求; 使用户能够通过增加或减少对检查约束条件的控制,实现快速调整检查中出现的误报和漏报; 这种检查语言能够有较低的使用门槛,使用户更专注于检查业务,而不需要关注工具是如何实现的。 我们称这种检查规则语言为:CodeNavi。本文将继续介绍 CodeNavi 检查规则语言如何描述代码中的表达式。这些节点主要包括: 3.1. 对象创建表达式(objectCreationExpression) 3.2. 强制类型转换(castExpression) 3.3. 类型判断表达式(instanceofExpression) 3.4. 一元表达式(unaryOperation) 3.5. 二元表达式(binaryOperation) 3.6. 条件表达式/三目运算(ternaryOperation) 3.7. 方法引用表达式(methodReferenceExpression) 3.8. ...