Locatable -> Language::AST

This commit is contained in:
AndreiDiaconu1
2019-08-05 12:52:36 +01:00
parent 9105641741
commit ffb22bfff8
9 changed files with 23 additions and 18 deletions

View File

@@ -4,8 +4,6 @@
import csharp
class Locatable extends Element { }
class ArrayInitWithMod extends ArrayInitializer {
predicate isInitialized(int entry) { entry in [0 .. this.getNumberOfElements() - 1] }

View File

@@ -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()
}

View File

@@ -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
}

View File

@@ -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
}
}

View File

@@ -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.

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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
}