keep the ResolvedPromiseDefinition class as a subclass of PromiseCreationCall

This commit is contained in:
Erik Krogh Kristensen
2019-11-26 11:16:59 +01:00
parent 9bd6363521
commit b6106f9638
2 changed files with 9 additions and 4 deletions

View File

@@ -25,7 +25,7 @@ module Bluebird {
/**
* A resolved promise created by the bluebird `Promise.resolve` function.
*/
class ResolvedBluebidPromiseDefinition extends PromiseCreationCall {
class ResolvedBluebidPromiseDefinition extends ResolvedPromiseDefinition {
ResolvedBluebidPromiseDefinition() { this = bluebird().getAMemberCall("resolve") }
override DataFlow::Node getValue() { result = getArgument(0) }
@@ -75,7 +75,7 @@ private module ClosurePromise {
/**
* A promise created by a call `goog.Promise.resolve(value)`.
*/
private class ResolvedClosurePromiseDefinition extends PromiseCreationCall {
private class ResolvedClosurePromiseDefinition extends ResolvedPromiseDefinition {
ResolvedClosurePromiseDefinition() {
this = Closure::moduleImport("goog.Promise.resolve").getACall()
}

View File

@@ -152,7 +152,7 @@ private class ES2015PromiseDefinition extends PromiseDefinition, DataFlow::NewNo
}
/**
* A promise that is resolved with the given value.
* A promise that is created and resolved with one or more value.
*/
abstract class PromiseCreationCall extends DataFlow::CallNode {
/**
@@ -161,10 +161,15 @@ abstract class PromiseCreationCall extends DataFlow::CallNode {
abstract DataFlow::Node getValue();
}
/**
* A promise that is created using a `.resolve()` call.
*/
abstract class ResolvedPromiseDefinition extends PromiseCreationCall {}
/**
* A resolved promise created by the standard ECMAScript 2015 `Promise.resolve` function.
*/
class ResolvedES2015PromiseDefinition extends PromiseCreationCall {
class ResolvedES2015PromiseDefinition extends ResolvedPromiseDefinition {
ResolvedES2015PromiseDefinition() {
this = DataFlow::globalVarRef("Promise").getAMemberCall("resolve")
}