JS(ql): support nullish coalescing operators

This commit is contained in:
Esben Sparre Andreasen
2018-11-26 10:29:06 +01:00
parent a2a798e59c
commit 2d7f09d321
6 changed files with 64 additions and 1 deletions

View File

@@ -1288,6 +1288,15 @@ class LogOrExpr extends @logorexpr, BinaryExpr {
override ControlFlowNode getFirstControlFlowNode() { result = this }
}
/** A nullish coalescing '??' expression. */
class NullishCoalescingExpr extends @nullishcoalescingexpr, BinaryExpr {
override string getOperator() {
result = "??"
}
override ControlFlowNode getFirstControlFlowNode() { result = this }
}
/**
* A logical binary expression, that is, either a logical
* 'or' or a logical 'and' expression.
@@ -1295,7 +1304,8 @@ class LogOrExpr extends @logorexpr, BinaryExpr {
class LogicalBinaryExpr extends BinaryExpr {
LogicalBinaryExpr() {
this instanceof LogAndExpr or
this instanceof LogOrExpr
this instanceof LogOrExpr or
this instanceof NullishCoalescingExpr
}
}