mirror of
https://github.com/github/codeql.git
synced 2025-12-20 10:46:30 +01:00
Assign preprocessor directives to compilation + make compilation cached
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
*/
|
||||
|
||||
import Element
|
||||
private import semmle.code.csharp.commons.Compilation
|
||||
|
||||
/**
|
||||
* A preprocessor directive, such as `PragmaWarningDirective`, `PragmaChecksumDirective`,
|
||||
@@ -17,9 +18,10 @@ class PreprocessorDirective extends Element, @preprocessor_directive {
|
||||
*/
|
||||
predicate isActive() { preprocessor_directive_active(this, 1) }
|
||||
|
||||
override Location getALocation() {
|
||||
preprocessor_directive_location(this, result) or preprocessor_directive_assembly(this, result)
|
||||
}
|
||||
override Location getALocation() { preprocessor_directive_location(this, result) }
|
||||
|
||||
/** Gets the compilation this directive belongs to, if any. */
|
||||
Compilation getCompilation() { preprocessor_directive_compilation(this, result) }
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -424,9 +424,9 @@ preprocessor_directive_location(
|
||||
unique int id: @preprocessor_directive ref,
|
||||
int loc: @location ref);
|
||||
|
||||
preprocessor_directive_assembly(
|
||||
preprocessor_directive_compilation(
|
||||
unique int id: @preprocessor_directive ref,
|
||||
int loc: @assembly ref);
|
||||
int compilation: @compilation ref);
|
||||
|
||||
preprocessor_directive_active(
|
||||
unique int id: @preprocessor_directive ref,
|
||||
|
||||
Reference in New Issue
Block a user