[FIR] Implement INCORRECT_CHARACTER_LITERAL, EMPTY_CHARACTER_LITERAL, TOO_MANY_CHARACTERS_IN_CHARACTER_LITERAL, ILLEGAL_ESCAPE, ILLEGAL_ESCAPE_SEQUENCE diagnostics, fix tests
This commit is contained in:
committed by
TeamCityServer
parent
91d42fe345
commit
404c69ded7
@@ -1,13 +1,13 @@
|
||||
fun test(c : Char) {
|
||||
test(<!ILLEGAL_CONST_EXPRESSION!>''<!>)
|
||||
test(<!EMPTY_CHARACTER_LITERAL!>''<!>)
|
||||
test('a')
|
||||
test(<!ILLEGAL_CONST_EXPRESSION!>'aa'<!>)
|
||||
test(<!ILLEGAL_CONST_EXPRESSION!>'a)<!>
|
||||
<!UNRESOLVED_REFERENCE!>test<!>(<!ILLEGAL_CONST_EXPRESSION!>'<!>
|
||||
<!UNRESOLVED_REFERENCE!>test<!>(0<!ILLEGAL_CONST_EXPRESSION!><!SYNTAX!><!>'<!>
|
||||
test(<!TOO_MANY_CHARACTERS_IN_CHARACTER_LITERAL!>'aa'<!>)
|
||||
test(<!INCORRECT_CHARACTER_LITERAL!>'a)<!>
|
||||
<!UNRESOLVED_REFERENCE!>test<!>(<!INCORRECT_CHARACTER_LITERAL!>'<!>
|
||||
<!UNRESOLVED_REFERENCE!>test<!>(0<!INCORRECT_CHARACTER_LITERAL!><!SYNTAX!><!>'<!>
|
||||
<!UNRESOLVED_REFERENCE!>test<!>('\n')
|
||||
test('\\')
|
||||
test(<!ILLEGAL_CONST_EXPRESSION!>''<!><!ILLEGAL_CONST_EXPRESSION, TOO_MANY_ARGUMENTS!><!SYNTAX!><!>''<!>)
|
||||
test(<!EMPTY_CHARACTER_LITERAL!>''<!><!EMPTY_CHARACTER_LITERAL, TOO_MANY_ARGUMENTS!><!SYNTAX!><!>''<!>)
|
||||
test('\'')
|
||||
test('\"')
|
||||
}
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
// KT-451 Incorrect character literals cause assertion failures
|
||||
|
||||
fun ff() {
|
||||
val b = <!ILLEGAL_CONST_EXPRESSION!>''<!>
|
||||
val c = <!ILLEGAL_CONST_EXPRESSION!>'23'<!>
|
||||
val d = <!ILLEGAL_CONST_EXPRESSION!>'a<!>
|
||||
val e = <!ILLEGAL_CONST_EXPRESSION!>'ab<!>
|
||||
val f = <!ILLEGAL_CONST_EXPRESSION!>'\'<!>
|
||||
val b = <!EMPTY_CHARACTER_LITERAL!>''<!>
|
||||
val c = <!TOO_MANY_CHARACTERS_IN_CHARACTER_LITERAL!>'23'<!>
|
||||
val d = <!INCORRECT_CHARACTER_LITERAL!>'a<!>
|
||||
val e = <!INCORRECT_CHARACTER_LITERAL!>'ab<!>
|
||||
val f = <!ILLEGAL_ESCAPE!>'\'<!>
|
||||
}
|
||||
|
||||
fun test() {
|
||||
@@ -19,19 +19,19 @@ fun test() {
|
||||
'\''
|
||||
'\\'
|
||||
'\$'
|
||||
<!ILLEGAL_CONST_EXPRESSION!>'\x'<!>
|
||||
<!ILLEGAL_CONST_EXPRESSION!>'\123'<!>
|
||||
<!ILLEGAL_CONST_EXPRESSION!>'\ra'<!>
|
||||
<!ILLEGAL_CONST_EXPRESSION!>'\000'<!>
|
||||
<!ILLEGAL_CONST_EXPRESSION!>'\000'<!>
|
||||
<!ILLEGAL_ESCAPE!>'\x'<!>
|
||||
<!ILLEGAL_ESCAPE!>'\123'<!>
|
||||
<!ILLEGAL_ESCAPE!>'\ra'<!>
|
||||
<!ILLEGAL_ESCAPE!>'\000'<!>
|
||||
<!ILLEGAL_ESCAPE!>'\000'<!>
|
||||
'\u0000'
|
||||
'\u000a'
|
||||
'\u000A'
|
||||
<!ILLEGAL_CONST_EXPRESSION!>'\u'<!>
|
||||
<!ILLEGAL_CONST_EXPRESSION!>'\u0'<!>
|
||||
<!ILLEGAL_CONST_EXPRESSION!>'\u00'<!>
|
||||
<!ILLEGAL_CONST_EXPRESSION!>'\u000'<!>
|
||||
<!ILLEGAL_CONST_EXPRESSION!>'\u000z'<!>
|
||||
<!ILLEGAL_CONST_EXPRESSION!>'\\u000'<!>
|
||||
<!ILLEGAL_CONST_EXPRESSION!>'\'<!>
|
||||
<!ILLEGAL_ESCAPE!>'\u'<!>
|
||||
<!ILLEGAL_ESCAPE!>'\u0'<!>
|
||||
<!ILLEGAL_ESCAPE!>'\u00'<!>
|
||||
<!ILLEGAL_ESCAPE!>'\u000'<!>
|
||||
<!ILLEGAL_ESCAPE!>'\u000z'<!>
|
||||
<!ILLEGAL_ESCAPE!>'\\u000'<!>
|
||||
<!ILLEGAL_ESCAPE!>'\'<!>
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ fun test(a: Any) {
|
||||
a foo"asd${a}sfsa"
|
||||
a foo"""sdf"""
|
||||
a foo'd'
|
||||
a foo<!ILLEGAL_CONST_EXPRESSION!>''<!>
|
||||
a foo<!EMPTY_CHARACTER_LITERAL!>''<!>
|
||||
|
||||
a foo""foo a
|
||||
a foo"asd"foo a
|
||||
@@ -19,17 +19,17 @@ fun test(a: Any) {
|
||||
a foo"asd${a}sfsa"foo a
|
||||
a foo"""sdf"""foo a
|
||||
a foo'd'foo a
|
||||
a foo<!ILLEGAL_CONST_EXPRESSION!>''<!>foo a
|
||||
a foo<!EMPTY_CHARACTER_LITERAL!>''<!>foo a
|
||||
|
||||
a in"foo"
|
||||
a in"""foo"""
|
||||
a in's'
|
||||
a in<!ILLEGAL_CONST_EXPRESSION!>''<!>
|
||||
a in<!EMPTY_CHARACTER_LITERAL!>''<!>
|
||||
|
||||
a !in"foo"
|
||||
a !in"""foo"""
|
||||
a !in's'
|
||||
a !in<!ILLEGAL_CONST_EXPRESSION!>''<!>
|
||||
a !in<!EMPTY_CHARACTER_LITERAL!>''<!>
|
||||
|
||||
if("s"is Any) {}
|
||||
if("s"is Any) {}
|
||||
@@ -37,4 +37,4 @@ fun test(a: Any) {
|
||||
|
||||
a foo""<!SYNTAX!>1<!>
|
||||
a foo""<!SYNTAX!>1.0<!>
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ annotation class Foo(
|
||||
|
||||
annotation class Bar(
|
||||
val a: Array<String> = [' '],
|
||||
val b: Array<String> = ["", <!ILLEGAL_CONST_EXPRESSION!>''<!>],
|
||||
val b: Array<String> = ["", <!EMPTY_CHARACTER_LITERAL!>''<!>],
|
||||
val c: Array<String> = [1]
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user