File tree Expand file tree Collapse file tree
semmle/javascript/frameworks Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -47,7 +47,7 @@ import semmle.javascript.NodeJS
4747import semmle.javascript.NPM
4848import semmle.javascript.Paths
4949import semmle.javascript.Promises
50- import semmle.javascript.CanonicalNames
50+ deprecated import semmle.javascript.CanonicalNames
5151import semmle.javascript.RangeAnalysis
5252import semmle.javascript.Regexp
5353import semmle.javascript.Routing
Original file line number Diff line number Diff line change 33 */
44
55import javascript
6+ private import semmle.javascript.internal.NameResolution
7+ private import semmle.javascript.internal.TypeResolution
8+ private import semmle.javascript.internal.UnderlyingTypes
69
710/**
811 * Provides predicates for reasoning about sanitization via the `class-validator` library.
@@ -50,7 +53,10 @@ module ClassValidator {
5053
5154 pragma [ noinline]
5255 private ClassDefinition getClassReferencedByPropRead ( DataFlow:: PropRead read ) {
53- read .getBase ( ) .asExpr ( ) .getType ( ) .unfold ( ) .( ClassType ) .getClass ( ) = result
56+ exists ( NameResolution:: Node type |
57+ TypeResolution:: valueHasType ( read .getBase ( ) .asExpr ( ) , type ) and
58+ UnderlyingTypes:: nodeHasUnderlyingClassType ( type , result .flow ( ) )
59+ )
5460 }
5561
5662 /**
You can’t perform that action at this time.
0 commit comments