From ae43e90a675fa28a002cd6ec1276dd8dcb41e98e Mon Sep 17 00:00:00 2001 From: Esben Sparre Andreasen Date: Tue, 3 Mar 2020 14:00:48 +0100 Subject: [PATCH] JS: model `process` as an EventEmitter --- .../ql/src/semmle/javascript/frameworks/NodeJSLib.qll | 9 +++++++++ .../library-tests/frameworks/EventEmitter/test.expected | 2 ++ 2 files changed, 11 insertions(+) diff --git a/javascript/ql/src/semmle/javascript/frameworks/NodeJSLib.qll b/javascript/ql/src/semmle/javascript/frameworks/NodeJSLib.qll index 9a5fe815d55..d10e219a001 100644 --- a/javascript/ql/src/semmle/javascript/frameworks/NodeJSLib.qll +++ b/javascript/ql/src/semmle/javascript/frameworks/NodeJSLib.qll @@ -935,6 +935,15 @@ module NodeJSLib { ImportedNodeJSEventEmitter() { this = getAnEventEmitterImport().getAnInstantiation() } } + /** + * The NodeJS `process` object as an EventEmitter subclass. + */ + private class ProcessAsNodeJSEventEmitter extends NodeJSEventEmitter { + ProcessAsNodeJSEventEmitter() { + this = process() + } + } + /** * A class that extends EventEmitter. */ diff --git a/javascript/ql/test/library-tests/frameworks/EventEmitter/test.expected b/javascript/ql/test/library-tests/frameworks/EventEmitter/test.expected index c8526d5eecf..34a042bf626 100644 --- a/javascript/ql/test/library-tests/frameworks/EventEmitter/test.expected +++ b/javascript/ql/test/library-tests/frameworks/EventEmitter/test.expected @@ -12,3 +12,5 @@ | tst.js:28:17:28:22 | "blab" | tst.js:25:16:25:20 | event | | tst.js:34:18:34:22 | "BOH" | tst.js:33:17:33:17 | x | | tst.js:40:20:40:27 | "yabity" | tst.js:39:19:39:19 | x | +| tst.js:46:28:46:38 | 'FirstData' | tst.js:43:45:43:49 | first | +| tst.js:47:29:47:40 | 'SecondData' | tst.js:44:37:44:42 | second |