We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 1758a5e commit c4bac37Copy full SHA for c4bac37
1 file changed
csharp/ql/src/Likely Bugs/UncheckedCastInEquals.ql
@@ -13,18 +13,12 @@
13
import csharp
14
import semmle.code.csharp.frameworks.System
15
16
-private predicate equalsMethodChild(EqualsMethod equals, Element child) {
17
- child = equals
18
- or
19
- equalsMethodChild(equals, child.getParent())
20
-}
21
-
22
predicate nodeBeforeParameterAccess(ControlFlowNode node) {
23
exists(EqualsMethod equals | equals.getBody().getControlFlowNode() = node)
24
or
25
exists(EqualsMethod equals, Parameter param, ControlFlowNode mid |
26
equals.getParameter(0) = param and
27
- equalsMethodChild(equals, any(ControlFlowElement e | e.getControlFlowNode() = mid)) and
+ equals = mid.getEnclosingCallable() and
28
nodeBeforeParameterAccess(mid) and
29
not param.getAnAccess().getControlFlowNode() = mid and
30
mid.getASuccessor() = node
0 commit comments