Files
codeql/javascript/ql/lib/semmle/javascript/frameworks/Emscripten.qll
2024-01-22 09:11:35 +01:00

48 lines
1.3 KiB
Plaintext

/**
* Provides classes for working with Emscripten-generated code.
*/
import javascript
import semmle.javascript.GeneratedCode
/**
* An Emscripten marker comment.
*/
abstract class EmscriptenMarkerComment extends GeneratedCodeMarkerComment { }
/**
* An `EMSCRIPTEN_START_ASM` marker comment.
*/
class EmscriptenStartAsmComment extends EmscriptenMarkerComment {
EmscriptenStartAsmComment() { this.getText().trim() = "EMSCRIPTEN_START_ASM" }
}
/**
* An `EMSCRIPTEN_START_FUNCS` marker comment.
*/
class EmscriptenStartFuncsComment extends EmscriptenMarkerComment {
EmscriptenStartFuncsComment() { this.getText().trim() = "EMSCRIPTEN_START_FUNCS" }
}
/**
* An `EMSCRIPTEN_END_ASM` marker comment.
*/
class EmscriptenEndAsmComment extends EmscriptenMarkerComment {
EmscriptenEndAsmComment() { this.getText().trim() = "EMSCRIPTEN_END_ASM" }
}
/**
* An `EMSCRIPTEN_END_FUNCS` marker comment.
*/
class EmscriptenEndFuncsComment extends EmscriptenMarkerComment {
EmscriptenEndFuncsComment() { this.getText().trim() = "EMSCRIPTEN_END_FUNCS" }
}
/**
* A toplevel that was generated by Emscripten as indicated
* by an Emscripten marker comment.
*/
class EmscriptenGeneratedToplevel extends TopLevel {
EmscriptenGeneratedToplevel() { exists(EmscriptenMarkerComment emc | this = emc.getTopLevel()) }
}