AA FIR: constant evaluation for String

This commit is contained in:
Jinseong Jeon
2022-08-29 22:13:32 -07:00
committed by Ilya Kirillov
parent 0d1b748cd5
commit 836b6dae9f
17 changed files with 259 additions and 3 deletions
@@ -0,0 +1,4 @@
fun box() {
if (<expr>"a".compareTo("b")</expr> > 0)
TODO("no way!")
}
@@ -0,0 +1,9 @@
expression: "a".compareTo("b")
CONSTANT_EXPRESSION_EVALUATION
constant: -1
constantValueKind: Int
CONSTANT_LIKE_EXPRESSION_EVALUATION
constantLike: -1
constantLikeValueKind: Int
@@ -0,0 +1 @@
const val LENGTH = <expr>"Hello, world".length</expr>
@@ -0,0 +1,9 @@
expression: "Hello, world".length
CONSTANT_EXPRESSION_EVALUATION
constant: 12
constantValueKind: Int
CONSTANT_LIKE_EXPRESSION_EVALUATION
constantLike: 12
constantLikeValueKind: Int
@@ -0,0 +1 @@
const val PASSWORD = <expr>"na" + "na" + "na" + "na" + "na" + "na" + "na" + "na " + "batman"</expr>
@@ -0,0 +1,9 @@
expression: "na" + "na" + "na" + "na" + "na" + "na" + "na" + "na " + "batman"
CONSTANT_EXPRESSION_EVALUATION
constant: "nananananananana batman"
constantValueKind: String
CONSTANT_LIKE_EXPRESSION_EVALUATION
constantLike: "nananananananana batman"
constantLikeValueKind: String
@@ -0,0 +1 @@
const val PASSWORD = <expr>"nananananananana " + "batman"</expr>
@@ -0,0 +1,9 @@
expression: "nananananananana " + "batman"
CONSTANT_EXPRESSION_EVALUATION
constant: "nananananananana batman"
constantValueKind: String
CONSTANT_LIKE_EXPRESSION_EVALUATION
constantLike: "nananananananana batman"
constantLikeValueKind: String
@@ -0,0 +1 @@
const val PASSWORD = <expr>"nananana" + "nananana " + "batman"</expr>
@@ -0,0 +1,9 @@
expression: "nananana" + "nananana " + "batman"
CONSTANT_EXPRESSION_EVALUATION
constant: "nananananananana batman"
constantValueKind: String
CONSTANT_LIKE_EXPRESSION_EVALUATION
constantLike: "nananananananana batman"
constantLikeValueKind: String
@@ -0,0 +1 @@
const val TAG = <expr>"Analysis API".toString()</expr>
@@ -0,0 +1,9 @@
expression: "Analysis API".toString()
CONSTANT_EXPRESSION_EVALUATION
constant: "Analysis API"
constantValueKind: String
CONSTANT_LIKE_EXPRESSION_EVALUATION
constantLike: "Analysis API"
constantLikeValueKind: String