Skip to content

Commit cf4736c

Browse files
authored
Merge pull request #16545 from geoffw0/salvage
Swift: Salvage
2 parents 67b327a + 214db5c commit cf4736c

18 files changed

+726
-7
lines changed

swift/ql/.generated.list

-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

swift/ql/.gitattributes

-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
private import codeql.swift.generated.expr.BooleanLiteralExpr
22

3+
/**
4+
* A boolean literal. For example `true` in:
5+
* ```
6+
* let x = true
7+
* ```
8+
*/
39
class BooleanLiteralExpr extends Generated::BooleanLiteralExpr {
410
override string toString() { result = this.getValue().toString() }
11+
12+
override string getValueString() { result = this.getValue().toString() }
513
}
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
1-
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
21
/**
32
* This module provides a hand-modifiable wrapper around the generated class `BuiltinLiteralExpr`.
43
*/
54

65
private import codeql.swift.generated.expr.BuiltinLiteralExpr
76

8-
class BuiltinLiteralExpr extends Generated::BuiltinLiteralExpr { }
7+
/**
8+
* A Swift literal of a kind that is built in to the Swift language.
9+
*/
10+
class BuiltinLiteralExpr extends Generated::BuiltinLiteralExpr {
11+
/**
12+
* Gets the value of this literal expression (as a string).
13+
*/
14+
string getValueString() { none() }
15+
}

swift/ql/lib/codeql/swift/elements/expr/FloatLiteralExpr.qll

+2
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,6 @@ private import codeql.swift.generated.expr.FloatLiteralExpr
22

33
class FloatLiteralExpr extends Generated::FloatLiteralExpr {
44
override string toString() { result = this.getStringValue() }
5+
6+
override string getValueString() { result = this.getStringValue() }
57
}
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
private import codeql.swift.generated.expr.IntegerLiteralExpr
22

3+
/**
4+
* An integer literal. For example `1` in:
5+
* ```
6+
* let x = 1
7+
* ```
8+
*/
39
class IntegerLiteralExpr extends Generated::IntegerLiteralExpr {
410
override string toString() { result = this.getStringValue() }
11+
12+
override string getValueString() { result = this.getStringValue() }
513
}
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
1-
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
21
/**
32
* This module provides a hand-modifiable wrapper around the generated class `LiteralExpr`.
43
*/
54

65
private import codeql.swift.generated.expr.LiteralExpr
76

7+
/**
8+
* A Swift literal.
9+
*
10+
* This is the root class for all literals.
11+
*/
812
class LiteralExpr extends Generated::LiteralExpr { }
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
private import codeql.swift.generated.expr.MagicIdentifierLiteralExpr
22

3+
/**
4+
* An identifier literal that is expanded at compile time. For example `#file` in:
5+
* ```
6+
* let x = #file
7+
* ```
8+
*/
39
class MagicIdentifierLiteralExpr extends Generated::MagicIdentifierLiteralExpr {
410
override string toString() { result = "#..." }
11+
12+
override string getValueString() { none() } // TODO: value not yet extracted
513
}
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
private import codeql.swift.generated.expr.StringLiteralExpr
22

3+
/**
4+
* A string literal. For example `"abc"` in:
5+
* ```
6+
* let x = "abc"
7+
* ```
8+
*/
39
class StringLiteralExpr extends Generated::StringLiteralExpr {
410
override string toString() { result = this.getValue() }
11+
12+
override string getValueString() { result = this.getValue() }
513
}

0 commit comments

Comments
 (0)