JS: Do not recursively import javascript into DataFlow:: scope

This commit is contained in:
Asger F
2019-07-22 23:49:48 +01:00
parent 12c906c9de
commit e98061a2e9
16 changed files with 18 additions and 17 deletions

View File

@@ -1,4 +1,4 @@
import javascript
private import javascript
private import semmle.javascript.dataflow.internal.AbstractValuesImpl
private import semmle.javascript.dataflow.InferredTypes
private import semmle.javascript.dataflow.internal.AbstractPropertiesImpl

View File

@@ -38,7 +38,7 @@
* the source of imprecision that caused them to arise.
*/
import javascript
private import javascript
private import semmle.javascript.dataflow.internal.AbstractValuesImpl
private import InferredTypes

View File

@@ -68,7 +68,7 @@
* computed by `onPath`.
*/
import javascript
private import javascript
private import internal.FlowSteps
private import internal.AccessPaths

View File

@@ -8,7 +8,7 @@
* should be part of the standard library.
*/
import javascript
private import javascript
private import internal.AbstractValuesImpl
private import InferredTypes

View File

@@ -14,7 +14,7 @@ private predicate isEscape(DataFlow::Node escape, string cause) {
or
escape = any(ThrowStmt t).getExpr().flow() and cause = "throw"
or
escape = any(DataFlow::GlobalVariable v).getAnAssignedExpr().flow() and cause = "global"
escape = any(GlobalVariable v).getAnAssignedExpr().flow() and cause = "global"
or
escape = any(DataFlow::PropWrite write).getRhs() and cause = "heap"
or

View File

@@ -4,8 +4,8 @@
* parameters.
*/
import javascript
import semmle.javascript.dependencies.Dependencies
private import javascript
private import semmle.javascript.dependencies.Dependencies
/** A data flow node corresponding to an expression. */
class ExprNode extends DataFlow::ValueNode {

View File

@@ -6,7 +6,7 @@
* local tracking within a function.
*/
import javascript
private import javascript
private import semmle.javascript.dataflow.TypeTracking
/**

View File

@@ -3,7 +3,7 @@
* set of data flow nodes.
*/
import javascript
private import javascript
private import internal.FlowSteps as FlowSteps
/**

View File

@@ -25,7 +25,7 @@
* read are marked as indefinite.
*/
import javascript
private import javascript
import AbstractValues
import AbstractProperties
private import InferredTypes

View File

@@ -6,7 +6,7 @@
* a given value came from.
*/
import javascript
private import javascript
private import internal.FlowSteps
private class PropertyName extends string {

View File

@@ -4,6 +4,7 @@
* Provides a representation for abstract values.
*/
private import javascript
import semmle.javascript.dataflow.AbstractValues
private import semmle.javascript.dataflow.InferredTypes
import semmle.javascript.dataflow.CustomAbstractValueDefinitions

View File

@@ -5,7 +5,7 @@
* and property accesses.
*/
import javascript
private import javascript
private import AbstractValuesImpl
private import semmle.javascript.dataflow.InferredTypes

View File

@@ -4,7 +4,7 @@
* Provides classes implementing type inference across imports.
*/
import javascript
private import javascript
private import AbstractValuesImpl
private import semmle.javascript.dataflow.InferredTypes
private import AbstractPropertiesImpl

View File

@@ -4,9 +4,9 @@
* Provides classes implementing type inference across function calls.
*/
import javascript
private import javascript
import AbstractValuesImpl
import semmle.javascript.dataflow.LocalObjects
private import semmle.javascript.dataflow.LocalObjects
/**
* Flow analysis for `this` expressions inside functions.

View File

@@ -4,7 +4,7 @@
* Provides classes implementing type inference for properties.
*/
import javascript
private import javascript
import semmle.javascript.dataflow.AbstractProperties
private import AbstractPropertiesImpl
private import AbstractValuesImpl

View File

@@ -4,7 +4,7 @@
* Provides classes implementing type inference for variables.
*/
import javascript
private import javascript
private import AbstractValuesImpl
private import semmle.javascript.dataflow.InferredTypes
private import semmle.javascript.dataflow.Refinements