QL code and tests for C#/C++/JavaScript.

This commit is contained in:
Pavel Avgustinov
2018-08-02 17:53:23 +01:00
commit b55526aa58
10684 changed files with 581163 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
| d/tst.js:1:1:1:14 | functio ... s[1];\\n} | 100% of statements in function f are duplicated in $@. | d/tst.js:12:1:12:14 | functio ... s[1];\\n} | function g |
| d/tst.js:1:1:1:14 | functio ... s[1];\\n} | 100% of statements in function f are duplicated in $@. | d/tst.js:23:10:23:21 | functio ... s[1];\\n} | function g2 |
| d/tst.js:12:1:12:14 | functio ... s[1];\\n} | 100% of statements in function g are duplicated in $@. | d/tst.js:1:1:1:14 | functio ... s[1];\\n} | function f |
| d/tst.js:12:1:12:14 | functio ... s[1];\\n} | 100% of statements in function g are duplicated in $@. | d/tst.js:23:10:23:21 | functio ... s[1];\\n} | function g2 |
| d/tst.js:23:10:23:21 | functio ... s[1];\\n} | 100% of statements in function g2 are duplicated in $@. | d/tst.js:1:1:1:14 | functio ... s[1];\\n} | function f |
| d/tst.js:23:10:23:21 | functio ... s[1];\\n} | 100% of statements in function g2 are duplicated in $@. | d/tst.js:12:1:12:14 | functio ... s[1];\\n} | function g |

View File

@@ -0,0 +1 @@
external/DuplicateFunction.ql

View File

@@ -0,0 +1,53 @@
function f() {
if (arguments.length == 0)
return 23;
if (arguments.length % 2 != 0)
return 42;
console.log(arguments[0]);
arguments[0]--;
arguments[1] += 19;
return arguments[0] * arguments[1];
}
function g() {
if (arguments.length == 0)
return 23;
if (arguments.length % 2 != 0)
return 42;
console.log(arguments[0]);
arguments[0]--;
arguments[1] += 19;
return arguments[0] * arguments[1];
}
var g2 = function() {
if (arguments.length == 0)
return 23;
if (arguments.length % 2 != 0)
return 42;
console.log(arguments[0]);
arguments[0]--;
arguments[1] += 19;
return arguments[0] * arguments[1];
}
// OK: only five statements
function h() {
if (arguments.length == 0)
return 23;
if (arguments.length % 2 != 0)
return 42;
console.log(arguments[0]);
arguments[0]--;
arguments[1] += 19;
}
function k() {
if (arguments.length == 0)
return 23;
if (arguments.length % 2 != 0)
return 42;
console.log(arguments[0]);
arguments[0]--;
arguments[1] += 19;
}