← 输入框|github.com|刷新
Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions javascript/ql/lib/semmle/javascript/AST.qll
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ class AstNode extends @ast_node, NodeInStmtContainer {
AstNode getParent() { Stages::Ast::ref() and this = result.getAChild() }

/** Gets the first control flow node belonging to this syntactic entity. */
pragma[no_dynamic_join_order]
ControlFlowNode getFirstControlFlowNode() { result = this }

/** Holds if this syntactic entity belongs to an externs file. */
Expand Down
1 change: 1 addition & 0 deletions javascript/ql/lib/semmle/javascript/RangeAnalysis.qll
Original file line number Diff line number Diff line change
Expand Up @@ -289,6 +289,7 @@ module RangeAnalysis {
/**
* Holds if the given container has a comment or identifier mentioning `NaN`.
*/
pragma[no_dynamic_join_order]
predicate hasNaNIndicator(StmtContainer container) {
exists(Comment comment |
comment.getText().regexpMatch("(?s).*N[aA]N.*") and
Expand Down
1 change: 1 addition & 0 deletions javascript/ql/lib/semmle/javascript/Regexp.qll
Original file line number Diff line number Diff line change
Expand Up @@ -1092,6 +1092,7 @@ predicate isInterpretedAsRegExp(DataFlow::Node source) {
* as a part of a regular expression.
*/
overlay[global]
pragma[no_dynamic_join_order]
private DataFlow::Node regExpSource(DataFlow::Node re, DataFlow::TypeBackTracker t) {
t.start() and
re = result and
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1803,6 +1803,7 @@ module DataFlow {
* Holds if there is a step from `pred` to `succ` through a field accessed through `this` in a class.
*/
overlay[global]
pragma[no_dynamic_join_order]
predicate localFieldStep(DataFlow::Node pred, DataFlow::Node succ) {
exists(ClassNode cls, string prop |
pred = AccessPath::getAnAssignmentTo(cls.getADirectSuperClass*().getAReceiverNode(), prop) or
Expand Down
1 change: 1 addition & 0 deletions javascript/ql/lib/semmle/javascript/dataflow/Nodes.qll
Original file line number Diff line number Diff line change
Expand Up @@ -1739,6 +1739,7 @@ class RegExpCreationNode extends DataFlow::SourceNode {

/** Gets a data flow node referring to this regular expression. */
overlay[global]
pragma[no_dynamic_join_order]
private DataFlow::SourceNode getAReference(DataFlow::TypeTracker t) {
t.start() and
result = this
Expand Down
1 change: 1 addition & 0 deletions javascript/ql/src/Statements/LabelInCase.ql
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@

import javascript

pragma[no_dynamic_join_order]
from LabeledStmt l, Case c
where
l = c.getAChildStmt+() and
Expand Down
Loading