更新“应返回该私有数值的副本”准则

master
renfengshan 10 months ago
parent 423d63d4f2
commit 000f2d50e5
  1. 6
      sonar-keyware-plugins-cxx/src/main/java/com/keyware/sonar/cxx/rules/checkers/NumericalCopyChecker.java
  2. 6
      sonar-keyware-plugins-cxx/src/test/resources/com/keyware/sonar/cxx/rules/checkers/NumericalCopyChecker.cc

@ -42,8 +42,10 @@ public class NumericalCopyChecker extends SquidCheck<Grammar> {//当私有数组
for (AstNode ast : descendan) {
List<AstNode> descendants = ast.getDescendants(CxxGrammarImpl.expression);
for (AstNode des : descendants) {
if (lists.contains(des.getTokenValue())) {
getContext().createLineViolation(this, "应返回该私有数值的副本", des);
if ("return".equals(des.getParent().getTokenValue())){
if (lists.contains(des.getTokenValue())) {
getContext().createLineViolation(this, "应返回该私有数值的副本", des);
}
}
}
}

@ -4,8 +4,8 @@ class MyClass {
private:
std::array<int, 10> privateArray;
public:
// 假设初始化已经在构造函数或其他地方完成
// 返回的是私有数组的副本
// 假设初始化已经在构造函数或其他地方完成
// 返回的是私有数组的副本
// const std::array<int, 10> getPrivateArrayRef() const {
// return privateArray;
// }
@ -15,7 +15,7 @@ public:
return privateArray; // error
}
// 返回的是私有数组的指针
// // 返回的是私有数组的指针
int* getPrivateArrayPtr() {
return privateArray.data(); // error
}

Loading…
Cancel
Save