mirror of
https://github.com/github/codeql.git
synced 2026-04-28 02:05:14 +02:00
Locatable -> Language::AST
This commit is contained in:
@@ -4,8 +4,6 @@
|
||||
|
||||
import csharp
|
||||
|
||||
class Locatable extends Element { }
|
||||
|
||||
class ArrayInitWithMod extends ArrayInitializer {
|
||||
predicate isInitialized(int entry) { entry in [0 .. this.getNumberOfElements() - 1] }
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ private import TranslatedExpr
|
||||
private import TranslatedStmt
|
||||
private import TranslatedFunction
|
||||
private import semmle.code.csharp.ir.Util
|
||||
private import semmle.code.csharp.ir.internal.IRCSharpLanguage as Language
|
||||
|
||||
TranslatedElement getInstructionTranslatedElement(Instruction instruction) {
|
||||
instruction = MkInstruction(result, _)
|
||||
@@ -34,7 +35,7 @@ cached private module Cached {
|
||||
getTranslatedFunction(callable).hasUserVariable(var, type)
|
||||
}
|
||||
|
||||
cached predicate hasTempVariable(Callable callable, Locatable ast, TempVariableTag tag,
|
||||
cached predicate hasTempVariable(Callable callable, Language::AST ast, TempVariableTag tag,
|
||||
Type type) {
|
||||
exists(TranslatedElement element |
|
||||
element.getAST() = ast and
|
||||
@@ -190,7 +191,7 @@ cached private module Cached {
|
||||
goto.getLocation().getEndLine() < goto.getTarget().getLocation().getStartLine()
|
||||
}
|
||||
|
||||
cached Locatable getInstructionAST(Instruction instruction) {
|
||||
cached Language::AST getInstructionAST(Instruction instruction) {
|
||||
result = getInstructionTranslatedElement(instruction).getAST()
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ private import semmle.code.csharp.ir.implementation.internal.OperandTag
|
||||
private import InstructionTag
|
||||
private import TranslatedElement
|
||||
private import TranslatedExpr
|
||||
private import semmle.code.csharp.ir.Util
|
||||
private import semmle.code.csharp.ir.internal.IRCSharpLanguage as Language
|
||||
|
||||
abstract class ConditionContext extends TranslatedElement {
|
||||
abstract Instruction getChildTrueSuccessor(TranslatedCondition child);
|
||||
@@ -23,7 +23,7 @@ abstract class TranslatedCondition extends TranslatedElement {
|
||||
result = expr.toString()
|
||||
}
|
||||
|
||||
override final Locatable getAST() {
|
||||
override final Language::AST getAST() {
|
||||
result = expr
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ private import InstructionTag
|
||||
private import TranslatedElement
|
||||
private import TranslatedExpr
|
||||
private import TranslatedInitialization
|
||||
private import semmle.code.csharp.ir.internal.IRCSharpLanguage as Language
|
||||
|
||||
/**
|
||||
* Gets the `TranslatedDeclarationEntry` that represents the declaration
|
||||
@@ -40,7 +41,7 @@ abstract class TranslatedDeclarationEntry extends TranslatedElement, TTranslated
|
||||
result = entry.toString()
|
||||
}
|
||||
|
||||
override final Locatable getAST() {
|
||||
override final Language::AST getAST() {
|
||||
result = entry
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ private import TranslatedFunction
|
||||
private import TranslatedStmt
|
||||
private import IRConstruction
|
||||
private import semmle.code.csharp.ir.Util
|
||||
private import semmle.code.csharp.ir.internal.IRCSharpLanguage as Language
|
||||
|
||||
/**
|
||||
* Gets the built-in `int` type.
|
||||
@@ -380,7 +381,7 @@ abstract class TranslatedElement extends TTranslatedElement {
|
||||
/**
|
||||
* Gets the AST node being translated.
|
||||
*/
|
||||
abstract Locatable getAST();
|
||||
abstract Language::AST getAST();
|
||||
|
||||
/**
|
||||
* Get the first instruction to be executed in the evaluation of this element.
|
||||
|
||||
@@ -12,6 +12,7 @@ private import TranslatedFunction
|
||||
private import TranslatedStmt
|
||||
import TranslatedCall
|
||||
private import semmle.code.csharp.ir.Util
|
||||
private import semmle.code.csharp.ir.internal.IRCSharpLanguage as Language
|
||||
|
||||
/**
|
||||
* Gets the TranslatedExpr for the specified expression. If `expr` is a load,
|
||||
@@ -59,7 +60,7 @@ abstract class TranslatedExpr extends TranslatedElement {
|
||||
result = expr.getType()
|
||||
}
|
||||
|
||||
override final Locatable getAST() {
|
||||
override final Language::AST getAST() {
|
||||
result = expr
|
||||
}
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ private import TranslatedElement
|
||||
private import TranslatedExpr
|
||||
private import TranslatedInitialization
|
||||
private import TranslatedStmt
|
||||
private import semmle.code.csharp.ir.internal.IRCSharpLanguage as Language
|
||||
|
||||
//TODO: Reason about constructors and destructors
|
||||
|
||||
@@ -35,7 +36,7 @@ class TranslatedFunction extends TranslatedElement,
|
||||
result = callable.toString()
|
||||
}
|
||||
|
||||
override final Locatable getAST() {
|
||||
override final Language::AST getAST() {
|
||||
result = callable
|
||||
}
|
||||
|
||||
@@ -361,7 +362,7 @@ class TranslatedParameter extends TranslatedElement, TTranslatedParameter {
|
||||
result = param.toString()
|
||||
}
|
||||
|
||||
override final Locatable getAST() {
|
||||
override final Language::AST getAST() {
|
||||
result = param
|
||||
}
|
||||
|
||||
@@ -456,7 +457,7 @@ class TranslatedConstructorInitList extends TranslatedElement,
|
||||
result = "ctor init: " + callable.toString()
|
||||
}
|
||||
|
||||
override Locatable getAST() {
|
||||
override Language::AST getAST() {
|
||||
result = callable
|
||||
}
|
||||
|
||||
@@ -538,7 +539,7 @@ class TranslatedDestructorDestructionList extends TranslatedElement,
|
||||
result = "dtor destruction: " + callable.toString()
|
||||
}
|
||||
|
||||
override Locatable getAST() {
|
||||
override Language::AST getAST() {
|
||||
result = callable
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ private import TranslatedElement
|
||||
private import TranslatedExpr
|
||||
private import TranslatedFunction
|
||||
private import semmle.code.csharp.ir.Util
|
||||
private import IRInternal
|
||||
|
||||
/**
|
||||
* Gets the `TranslatedInitialization` for the expression `expr`.
|
||||
@@ -51,7 +52,7 @@ abstract class TranslatedInitialization extends TranslatedElement, TTranslatedIn
|
||||
result = expr.getEnclosingCallable()
|
||||
}
|
||||
|
||||
override final Locatable getAST() {
|
||||
override final Language::AST getAST() {
|
||||
result = expr
|
||||
}
|
||||
|
||||
@@ -263,7 +264,7 @@ abstract class TranslatedFieldInitialization extends TranslatedElement {
|
||||
result = ast.toString() + "." + field.toString()
|
||||
}
|
||||
|
||||
override final Locatable getAST() {
|
||||
override final Language::AST getAST() {
|
||||
result = ast
|
||||
}
|
||||
|
||||
@@ -455,7 +456,7 @@ abstract class TranslatedElementInitialization extends TranslatedElement {
|
||||
result = initList.toString() + "[" + getElementIndex().toString() + "]"
|
||||
}
|
||||
|
||||
override final Locatable getAST() {
|
||||
override final Language::AST getAST() {
|
||||
result = initList
|
||||
}
|
||||
|
||||
@@ -690,7 +691,7 @@ class TranslatedElementValueInitialization extends TranslatedElementInitializati
|
||||
abstract class TranslatedStructorCallFromStructor extends TranslatedElement, StructorCallContext {
|
||||
Call call;
|
||||
|
||||
override final Locatable getAST() {
|
||||
override final Language::AST getAST() {
|
||||
result = call
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ private import TranslatedElement
|
||||
private import TranslatedExpr
|
||||
private import TranslatedFunction
|
||||
private import TranslatedInitialization
|
||||
private import IRInternal
|
||||
|
||||
TranslatedStmt getTranslatedStmt(Stmt stmt) {
|
||||
result.getAST() = stmt
|
||||
@@ -24,7 +25,7 @@ abstract class TranslatedStmt extends TranslatedElement, TTranslatedStmt {
|
||||
result = stmt.toString()
|
||||
}
|
||||
|
||||
override final Locatable getAST() {
|
||||
override final Language::AST getAST() {
|
||||
result = stmt
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user