Skip to content

Commit 4e77a36

Browse files
committed
JS: Avoid having multiple names again
1 parent 9408b96 commit 4e77a36

6 files changed

Lines changed: 30 additions & 29 deletions

File tree

javascript/ql/src/semmle/javascript/Classes.qll

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -220,17 +220,20 @@ class ClassExpr extends @classexpr, ClassDefinition, Expr {
220220
override string getName() {
221221
result = ClassDefinition.super.getName()
222222
or
223-
exists(VarDef vd | this = vd.getSource() | result = vd.getTarget().(VarRef).getName())
224-
or
225-
exists(Property p |
226-
this = p.getInit() and
227-
result = p.getName()
228-
)
229-
or
230-
exists(AssignExpr assign, DotExpr prop |
231-
this = assign.getRhs().getUnderlyingValue() and
232-
prop = assign.getLhs() and
233-
result = prop.getPropertyName()
223+
not exists(getIdentifier()) and
224+
(
225+
exists(VarDef vd | this = vd.getSource() | result = vd.getTarget().(VarRef).getName())
226+
or
227+
exists(Property p |
228+
this = p.getInit() and
229+
result = p.getName()
230+
)
231+
or
232+
exists(AssignExpr assign, DotExpr prop |
233+
this = assign.getRhs().getUnderlyingValue() and
234+
prop = assign.getLhs() and
235+
result = prop.getPropertyName()
236+
)
234237
)
235238
}
236239

javascript/ql/src/semmle/javascript/Functions.qll

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -58,20 +58,23 @@ class Function extends @function, Parameterized, TypeParameterized, StmtContaine
5858
string getName() {
5959
result = getId().getName()
6060
or
61-
exists(VarDef vd | this = vd.getSource() | result = vd.getTarget().(VarRef).getName())
62-
or
63-
exists(Property p |
64-
this = p.getInit() and
65-
result = p.getName()
66-
)
67-
or
68-
exists(AssignExpr assign, DotExpr prop |
69-
this = assign.getRhs().getUnderlyingValue() and
70-
prop = assign.getLhs() and
71-
result = prop.getPropertyName()
61+
not exists(getId()) and
62+
(
63+
exists(VarDef vd | this = vd.getSource() | result = vd.getTarget().(VarRef).getName())
64+
or
65+
exists(Property p |
66+
this = p.getInit() and
67+
result = p.getName()
68+
)
69+
or
70+
exists(AssignExpr assign, DotExpr prop |
71+
this = assign.getRhs().getUnderlyingValue() and
72+
prop = assign.getLhs() and
73+
result = prop.getPropertyName()
74+
)
75+
or
76+
exists(ClassOrInterface c | this = c.getMember(result).getInit())
7277
)
73-
or
74-
exists(ClassOrInterface c | this = c.getMember(result).getInit())
7578
}
7679

7780
/** Gets the variable holding this function. */

javascript/ql/test/library-tests/Functions/tests.expected

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,6 @@ test_getId
104104
| tst.js:1:1:1:15 | function A() {} | tst.js:1:10:1:10 | A | A |
105105
| tst.js:2:1:2:16 | function B(x) {} | tst.js:2:10:2:10 | B | B |
106106
| tst.js:3:1:3:19 | function C(x, y) {} | tst.js:3:10:3:10 | C | C |
107-
| tst.js:7:9:7:23 | function h() {} | tst.js:7:18:7:18 | h | g |
108107
| tst.js:7:9:7:23 | function h() {} | tst.js:7:18:7:18 | h | h |
109108
| tst.js:9:1:9:24 | functio ... nts) {} | tst.js:9:10:9:10 | k | k |
110109
| tst.js:10:1:10:31 | functio ... ents; } | tst.js:10:10:10:10 | l | l |

javascript/ql/test/library-tests/TypeScript/ImportEquals/Resolution.expected

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,4 @@
22
| tst.ts | ESNamedExport1 | esNamedExports.ts | ESNamedExport1 |
33
| tst.ts | ESNamedExport2 | esNamedExports.ts | ESNamedExport2 |
44
| tst.ts | NodeFullExport | nodeFullExport.ts | NodeFullExport |
5-
| tst.ts | NodeFullExport | nodeFullExport.ts | exports |
65
| tst.ts | NodeNamedExport | nodeNamedExport.ts | NodeNamedExport |

javascript/ql/test/library-tests/ppNames/ppClassName.expected

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ getName
22
| tst.js:16:1:19:1 | class C ... ss C"\\n} | C |
33
| tst.js:21:2:23:1 | class D ... lass"\\n} | D |
44
| tst.js:25:11:25:18 | class {} | E |
5-
| tst.js:26:11:29:1 | class G ... ss G"\\n} | F |
65
| tst.js:26:11:29:1 | class G ... ss G"\\n} | G |
76
| tst.js:34:9:34:16 | class {} | Foo |
87
#select

javascript/ql/test/library-tests/ppNames/ppFnName.expected

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,9 @@ getName
33
| tst.js:2:2:2:16 | function g() {} | g |
44
| tst.js:4:9:4:22 | function () {} | h |
55
| tst.js:5:9:5:14 | x => x | k |
6-
| tst.js:6:9:6:23 | function n() {} | m |
76
| tst.js:6:9:6:23 | function n() {} | n |
87
| tst.js:9:6:9:18 | function() {} | p |
98
| tst.js:10:6:10:20 | function f() {} | f |
10-
| tst.js:10:6:10:20 | function f() {} | q |
119
| tst.js:11:8:11:12 | () {} | x |
1210
| tst.js:12:8:12:13 | (v) {} | x |
1311
| tst.js:13:4:13:8 | () {} | m |

0 commit comments

Comments
 (0)