Rename CharSequence.get to charAt

This is done for JVM interoperability. There's still a member function
String.get() and an extension function "get" on CharSequence

 #KT-1730 Fixed
 #KT-5389 Fixed
This commit is contained in:
Alexander Udalov
2014-11-26 19:57:30 +03:00
parent a7b88e9485
commit 4d95bcfc7e
18 changed files with 95 additions and 33 deletions
+3 -2
View File
@@ -294,7 +294,7 @@ public final class CharRange : kotlin.Range<kotlin.Char>, kotlin.Progression<kot
}
public trait CharSequence {
public abstract fun get(/*0*/ index: kotlin.Int): kotlin.Char
public abstract fun charAt(/*0*/ index: kotlin.Int): kotlin.Char
public abstract fun length(): kotlin.Int
}
@@ -1428,8 +1428,9 @@ public final class ShortRange : kotlin.Range<kotlin.Short>, kotlin.Progression<k
public final class String : kotlin.Comparable<kotlin.String>, kotlin.CharSequence {
/*primary*/ public constructor String()
public open override /*1*/ fun charAt(/*0*/ index: kotlin.Int): kotlin.Char
public open override /*1*/ fun compareTo(/*0*/ other: kotlin.String): kotlin.Int
public open override /*1*/ fun get(/*0*/ index: kotlin.Int): kotlin.Char
public final fun get(/*0*/ index: kotlin.Int): kotlin.Char
public open override /*1*/ fun length(): kotlin.Int
public final fun plus(/*0*/ other: kotlin.Any?): kotlin.String
}
@@ -0,0 +1,4 @@
fun box(): String {
val sb = StringBuilder("OK")
return "${sb.get(0)}${sb[1]}"
}
@@ -4473,7 +4473,7 @@ package java {
public open fun append(/*0*/ p0: kotlin.String!): java.lang.AbstractStringBuilder!
public open fun appendCodePoint(/*0*/ p0: kotlin.Int): java.lang.AbstractStringBuilder!
public open fun capacity(): kotlin.Int
public open fun charAt(/*0*/ p0: kotlin.Int): kotlin.Char
public open override /*1*/ fun charAt(/*0*/ index: kotlin.Int): kotlin.Char
public open fun codePointAt(/*0*/ p0: kotlin.Int): kotlin.Int
public open fun codePointBefore(/*0*/ p0: kotlin.Int): kotlin.Int
public open fun codePointCount(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int): kotlin.Int
@@ -7971,7 +7971,7 @@ package java {
private final var hash: kotlin.Int
private final var hash32: kotlin.Int
private final val value: kotlin.CharArray!
public open fun charAt(/*0*/ p0: kotlin.Int): kotlin.Char
public open override /*1*/ fun charAt(/*0*/ index: kotlin.Int): kotlin.Char
public open fun codePointAt(/*0*/ p0: kotlin.Int): kotlin.Int
public open fun codePointBefore(/*0*/ p0: kotlin.Int): kotlin.Int
public open fun codePointCount(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int): kotlin.Int
@@ -8084,7 +8084,7 @@ package java {
public open override /*1*/ fun append(/*0*/ p0: kotlin.String!): java.lang.StringBuffer!
public open override /*1*/ fun appendCodePoint(/*0*/ p0: kotlin.Int): java.lang.StringBuffer!
public open override /*1*/ fun capacity(): kotlin.Int
public open override /*1*/ fun charAt(/*0*/ p0: kotlin.Int): kotlin.Char
public open override /*2*/ fun charAt(/*0*/ index: kotlin.Int): kotlin.Char
public open override /*1*/ fun codePointAt(/*0*/ p0: kotlin.Int): kotlin.Int
public open override /*1*/ fun codePointBefore(/*0*/ p0: kotlin.Int): kotlin.Int
public open override /*1*/ fun codePointCount(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int): kotlin.Int
@@ -8155,7 +8155,7 @@ package java {
public open override /*1*/ fun append(/*0*/ p0: kotlin.String!): java.lang.StringBuilder!
public open override /*1*/ fun appendCodePoint(/*0*/ p0: kotlin.Int): java.lang.StringBuilder!
public open override /*1*/ /*fake_override*/ fun capacity(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun charAt(/*0*/ p0: kotlin.Int): kotlin.Char
public open override /*2*/ /*fake_override*/ fun charAt(/*0*/ index: kotlin.Int): kotlin.Char
public open override /*1*/ /*fake_override*/ fun codePointAt(/*0*/ p0: kotlin.Int): kotlin.Int
public open override /*1*/ /*fake_override*/ fun codePointBefore(/*0*/ p0: kotlin.Int): kotlin.Int
public open override /*1*/ /*fake_override*/ fun codePointCount(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int): kotlin.Int
@@ -14,8 +14,8 @@ internal final class JSub : java.lang.CharSequence {
internal final class Sub : kotlin.CharSequence {
public constructor Sub()
public abstract override /*1*/ /*fake_override*/ fun charAt(/*0*/ index: kotlin.Int): kotlin.Char
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun get(/*0*/ index: kotlin.Int): kotlin.Char
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun length(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@@ -0,0 +1,24 @@
// KT-1730 Method which has been implemented by Java is recognized to be abstract.
// FILE: C.java
public class C implements java.lang.CharSequence {
@Override
public int length() {
return 3;
}
@Override
public char charAt(int index) {
return 48;
}
@Override
public CharSequence subSequence(int start, int end) {
return "ab";
}
@Override
public String toString() {
return "abc";
}
}
// FILE: T.kt
class T : C()
@@ -0,0 +1,21 @@
package
public open class C : kotlin.CharSequence {
public constructor C()
java.lang.Override() public open override /*1*/ fun charAt(/*0*/ index: kotlin.Int): kotlin.Char
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
java.lang.Override() public open override /*1*/ fun length(): kotlin.Int
java.lang.Override() public open fun subSequence(/*0*/ start: kotlin.Int, /*1*/ end: kotlin.Int): kotlin.CharSequence!
java.lang.Override() public open override /*1*/ fun toString(): kotlin.String!
}
internal final class T : C {
public constructor T()
java.lang.Override() public open override /*1*/ /*fake_override*/ fun charAt(/*0*/ index: kotlin.Int): kotlin.Char
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
java.lang.Override() public open override /*1*/ /*fake_override*/ fun length(): kotlin.Int
java.lang.Override() public open override /*1*/ /*fake_override*/ fun subSequence(/*0*/ start: kotlin.Int, /*1*/ end: kotlin.Int): kotlin.CharSequence!
java.lang.Override() public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String!
}
@@ -4478,7 +4478,7 @@ package java {
public open fun append(/*0*/ p0: kotlin.String!): java.lang.AbstractStringBuilder!
public open fun appendCodePoint(/*0*/ p0: kotlin.Int): java.lang.AbstractStringBuilder!
public open fun capacity(): kotlin.Int
public open fun charAt(/*0*/ p0: kotlin.Int): kotlin.Char
public open override /*1*/ fun charAt(/*0*/ index: kotlin.Int): kotlin.Char
public open fun codePointAt(/*0*/ p0: kotlin.Int): kotlin.Int
public open fun codePointBefore(/*0*/ p0: kotlin.Int): kotlin.Int
public open fun codePointCount(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int): kotlin.Int
@@ -7976,7 +7976,7 @@ package java {
private final var hash: kotlin.Int
private final var hash32: kotlin.Int
private final val value: kotlin.CharArray!
public open fun charAt(/*0*/ p0: kotlin.Int): kotlin.Char
public open override /*1*/ fun charAt(/*0*/ index: kotlin.Int): kotlin.Char
public open fun codePointAt(/*0*/ p0: kotlin.Int): kotlin.Int
public open fun codePointBefore(/*0*/ p0: kotlin.Int): kotlin.Int
public open fun codePointCount(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int): kotlin.Int
@@ -8089,7 +8089,7 @@ package java {
public open override /*1*/ fun append(/*0*/ p0: kotlin.String!): java.lang.StringBuffer!
public open override /*1*/ fun appendCodePoint(/*0*/ p0: kotlin.Int): java.lang.StringBuffer!
public open override /*1*/ fun capacity(): kotlin.Int
public open override /*1*/ fun charAt(/*0*/ p0: kotlin.Int): kotlin.Char
public open override /*2*/ fun charAt(/*0*/ index: kotlin.Int): kotlin.Char
public open override /*1*/ fun codePointAt(/*0*/ p0: kotlin.Int): kotlin.Int
public open override /*1*/ fun codePointBefore(/*0*/ p0: kotlin.Int): kotlin.Int
public open override /*1*/ fun codePointCount(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int): kotlin.Int
@@ -8160,7 +8160,7 @@ package java {
public open override /*1*/ fun append(/*0*/ p0: kotlin.String!): java.lang.StringBuilder!
public open override /*1*/ fun appendCodePoint(/*0*/ p0: kotlin.Int): java.lang.StringBuilder!
public open override /*1*/ /*fake_override*/ fun capacity(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun charAt(/*0*/ p0: kotlin.Int): kotlin.Char
public open override /*2*/ /*fake_override*/ fun charAt(/*0*/ index: kotlin.Int): kotlin.Char
public open override /*1*/ /*fake_override*/ fun codePointAt(/*0*/ p0: kotlin.Int): kotlin.Int
public open override /*1*/ /*fake_override*/ fun codePointBefore(/*0*/ p0: kotlin.Int): kotlin.Int
public open override /*1*/ /*fake_override*/ fun codePointCount(/*0*/ p0: kotlin.Int, /*1*/ p1: kotlin.Int): kotlin.Int