Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 8328074

Browse files
C++: Move imports from instantiated pyrameterized modules into separate file
Rather than have IR.qll (which depends on the flavor) import EdgeKind.qll (which does not) with an non-relative import, I've moved these imports into internal.IRImports relative to IR.qll. These imports files can be shared across flavors within one language, but are different between C# and C++ due to the difference in paths.
1 parent 8d8c66f commit 8328074

37 files changed

Lines changed: 118 additions & 60 deletions

cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/IR.qll

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ import Instruction
33
import IRBlock
44
import IRVariable
55
import Operand
6-
import semmle.code.cpp.ir.implementation.EdgeKind
7-
import semmle.code.cpp.ir.implementation.MemoryAccessKind
6+
private import internal.IRImports as Imports
7+
import Imports::EdgeKind
8+
import Imports::MemoryAccessKind
89

910
private newtype TIRPropertyProvider = MkIRPropertyProvider()
1011

cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/IRBlock.qll

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
private import internal.IRInternal
22
import Instruction
3-
import semmle.code.cpp.ir.implementation.EdgeKind
3+
private import internal.IRBlockImports as Imports
4+
import Imports::EdgeKind
45
private import Cached
56

67
/**

cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/IRVariable.qll

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
private import internal.IRInternal
22
import IRFunction
3-
import semmle.code.cpp.ir.implementation.TempVariableTag
4-
private import semmle.code.cpp.ir.internal.IRUtilities
5-
private import semmle.code.cpp.ir.internal.TempVariableTag
6-
private import semmle.code.cpp.ir.internal.TIRVariable
3+
private import internal.IRVariableImports as Imports
4+
import Imports::TempVariableTag
5+
private import Imports::IRUtilities
6+
private import Imports::TTempVariableTag
7+
private import Imports::TIRVariable
78

89
IRUserVariable getIRUserVariable(Language::Function func, Language::Variable var) {
910
result.getVariable() = var and

cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/Instruction.qll

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ import IRFunction
33
import IRBlock
44
import IRVariable
55
import Operand
6-
import semmle.code.cpp.ir.implementation.EdgeKind
7-
import semmle.code.cpp.ir.implementation.MemoryAccessKind
8-
import semmle.code.cpp.ir.implementation.Opcode
9-
private import semmle.code.cpp.ir.implementation.Opcode
10-
private import semmle.code.cpp.ir.internal.OperandTag
6+
private import internal.InstructionImports as Imports
7+
import Imports::EdgeKind
8+
import Imports::MemoryAccessKind
9+
import Imports::Opcode
10+
private import Imports::OperandTag
1111

1212
module InstructionSanity {
1313
/**

cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/Operand.qll

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
private import internal.IRInternal
22
import Instruction
33
import IRBlock
4-
import semmle.code.cpp.ir.implementation.MemoryAccessKind
5-
import semmle.code.cpp.ir.internal.Overlap
6-
private import semmle.code.cpp.ir.internal.OperandTag
4+
private import internal.OperandImports as Imports
5+
import Imports::MemoryAccessKind
6+
import Imports::Overlap
7+
private import Imports::OperandTag
78

89
cached
910
private newtype TOperand =

cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/PrintIR.qll

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
private import semmle.code.cpp.ir.internal.IRLanguageInternal
1+
private import internal.IRInternal
22
private import IR
3-
import semmle.code.cpp.ir.IRConfiguration
4-
private import semmle.code.cpp.Print
3+
private import internal.PrintIRImports as Imports
4+
import Imports::IRConfiguration
55

66
private newtype TPrintIRConfiguration = MkPrintIRConfiguration()
77

@@ -131,7 +131,7 @@ class PrintableIRFunction extends PrintableIRNode, TPrintableIRFunction {
131131
}
132132

133133
override string getLabel() {
134-
result = getIdentityString(irFunc.getFunction())
134+
result = Language::getIdentityString(irFunc.getFunction())
135135
}
136136

137137
override int getOrder() {
@@ -213,7 +213,7 @@ class PrintableInstruction extends PrintableIRNode, TPrintableInstruction {
213213
result = instr.toString()
214214
}
215215

216-
override Location getLocation() {
216+
override Language::Location getLocation() {
217217
result = instr.getLocation()
218218
}
219219

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
import semmle.code.cpp.ir.implementation.EdgeKind as EdgeKind
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
import semmle.code.cpp.ir.implementation.EdgeKind as EdgeKind
2+
import semmle.code.cpp.ir.implementation.MemoryAccessKind as MemoryAccessKind
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import semmle.code.cpp.ir.implementation.TempVariableTag as TempVariableTag
2+
import semmle.code.cpp.ir.internal.IRUtilities as IRUtilities
3+
import semmle.code.cpp.ir.internal.TempVariableTag as TTempVariableTag
4+
import semmle.code.cpp.ir.internal.TIRVariable as TIRVariable
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import semmle.code.cpp.ir.implementation.EdgeKind as EdgeKind
2+
import semmle.code.cpp.ir.implementation.MemoryAccessKind as MemoryAccessKind
3+
import semmle.code.cpp.ir.implementation.Opcode as Opcode
4+
import semmle.code.cpp.ir.internal.OperandTag as OperandTag

0 commit comments

Comments
 (0)