Merge "check-flagged-apis: make interfaces inherit from java/lang/Object" into main
This commit is contained in:
@@ -120,6 +120,26 @@ class CheckFlaggedApisTest {
|
|||||||
assertEquals(expected, actual)
|
assertEquals(expected, actual)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testParseApiSignatureInterfacesInheritFromJavaLangObject() {
|
||||||
|
val apiSignature =
|
||||||
|
"""
|
||||||
|
// Signature format: 2.0
|
||||||
|
package android {
|
||||||
|
@FlaggedApi("android.flag.foo") public interface Interface {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
.trim()
|
||||||
|
val expected =
|
||||||
|
setOf(
|
||||||
|
Pair(
|
||||||
|
Symbol.createClass("android/Interface", "java/lang/Object", setOf()),
|
||||||
|
Flag("android.flag.foo")))
|
||||||
|
val actual = parseApiSignature("in-memory", apiSignature.byteInputStream())
|
||||||
|
assertEquals(expected, actual)
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testParseFlagValues() {
|
fun testParseFlagValues() {
|
||||||
val expected: Map<Flag, Boolean> =
|
val expected: Map<Flag, Boolean> =
|
||||||
|
@@ -205,7 +205,11 @@ internal fun parseApiSignature(path: String, input: InputStream): Set<Pair<Symbo
|
|||||||
val symbol =
|
val symbol =
|
||||||
Symbol.createClass(
|
Symbol.createClass(
|
||||||
cls.baselineElementId(),
|
cls.baselineElementId(),
|
||||||
cls.superClass()?.baselineElementId(),
|
if (cls.isInterface()) {
|
||||||
|
"java/lang/Object"
|
||||||
|
} else {
|
||||||
|
cls.superClass()?.baselineElementId()
|
||||||
|
},
|
||||||
cls.allInterfaces()
|
cls.allInterfaces()
|
||||||
.map { it.baselineElementId() }
|
.map { it.baselineElementId() }
|
||||||
.filter { it != cls.baselineElementId() }
|
.filter { it != cls.baselineElementId() }
|
||||||
|
Reference in New Issue
Block a user