mirror of
https://github.com/github/codeql.git
synced 2026-04-27 17:55:19 +02:00
Ensure interface extends valid expr.
This commit is contained in:
@@ -69,4 +69,9 @@ public class MemberExpression extends Expression
|
||||
public void setSymbol(int symbol) {
|
||||
this.symbol = symbol;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isValidExpression() {
|
||||
return object instanceof ITypeExpression || object instanceof DynamicImport;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,4 +10,6 @@ import com.semmle.js.ast.Literal;
|
||||
* however, some expressions such as {@link Literal} type may occur in a type annotation because the
|
||||
* TypeScript AST does not distinguish <code>null</code> literals from the <code>null</code> type.
|
||||
*/
|
||||
public interface ITypeExpression extends INode, ITypedAstNode {}
|
||||
public interface ITypeExpression extends INode, ITypedAstNode {
|
||||
public default boolean isValidExpression() { return true; }
|
||||
}
|
||||
|
||||
@@ -1907,7 +1907,7 @@ public class TypeScriptASTConverter {
|
||||
}
|
||||
|
||||
private ITypeExpression asType(Node node) {
|
||||
return node instanceof ITypeExpression ? (ITypeExpression) node : null;
|
||||
return node instanceof ITypeExpression && ((ITypeExpression)node).isValidExpression() ? (ITypeExpression) node : null;
|
||||
}
|
||||
|
||||
private List<ITypeExpression> convertChildrenAsTypes(JsonObject node, String child)
|
||||
|
||||
Reference in New Issue
Block a user