Generate super classes and overridden functions in proper scope

Such references require proper scope so that local symbols are bound.
Example:

```
fun <T> outer() {
    abstract class ALocal<S : T> {
        abstract fun bar()
    }

    class Local<S : T> : ALocal<S>() {
        override fun bar() {}
    }
}
```

Here local classes have type parameters with upper bounds depending on
function type parameters, and members overriding members in other local
classes.
This commit is contained in:
Dmitry Petrov
2018-02-22 10:00:02 +03:00
parent 8fef0f0535
commit e89047d2cc
54 changed files with 2463 additions and 79 deletions
+4
View File
@@ -1,7 +1,11 @@
FILE fqName:<root> fileName:/builtinMap.kt
FUN name:plus visibility:public modality:FINAL <K, V> ($receiver:kotlin.collections.Map<out K, V>, pair:kotlin.Pair<K, V>) returnType:Map<K, V> flags:
TYPE_PARAMETER name:K index:0 variance: upperBounds:[kotlin.Any?]
superClassifiers:
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
TYPE_PARAMETER name:V index:1 variance: upperBounds:[kotlin.Any?]
superClassifiers:
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
$receiver: VALUE_PARAMETER name:<this> type:kotlin.collections.Map<out K, V> flags:
VALUE_PARAMETER name:pair index:0 type:kotlin.Pair<K, V> flags:
BLOCK_BODY
@@ -0,0 +1,125 @@
MODULE_FRAGMENT name:<built-ins module>
EXTERNAL_PACKAGE_FRAGMENT fqName:kotlin
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:kotlin.Any flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
EXTERNAL_PACKAGE_FRAGMENT fqName:kotlin.collections
CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:MutableMap modality:ABSTRACT visibility:public flags:
superClasses:
UNBOUND: interface Map<K, out V>
TYPE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:K index:0 variance: upperBounds:[kotlin.Any?]
TYPE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:V index:1 variance: upperBounds:[kotlin.Any?]
FUN IR_EXTERNAL_DECLARATION_STUB name:remove visibility:public modality:OPEN <> (key:K, value:V) returnType:Boolean flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:key index:0 type:K flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:value index:1 type:V flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:getOrDefault visibility:public modality:OPEN <> (key:K, defaultValue:V) returnType:V flags:
overridden:
UNBOUND: fun getOrDefault(key: K, defaultValue: V): V
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:key index:0 type:K flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:defaultValue index:1 type:V flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:clear visibility:public modality:ABSTRACT <> () returnType:Unit flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:put visibility:public modality:ABSTRACT <> (key:K, value:V) returnType:V? flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:key index:0 type:K flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:value index:1 type:V flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:putAll visibility:public modality:ABSTRACT <> (from:kotlin.collections.Map<out K, V>) returnType:Unit flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:from index:0 type:kotlin.collections.Map<out K, V> flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:remove visibility:public modality:ABSTRACT <> (key:K) returnType:V? flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:key index:0 type:K flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:containsKey visibility:public modality:ABSTRACT <> (key:K) returnType:Boolean flags:
overridden:
UNBOUND: fun containsKey(key: K): kotlin.Boolean
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:key index:0 type:K flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:containsValue visibility:public modality:ABSTRACT <> (value:V) returnType:Boolean flags:
overridden:
UNBOUND: fun containsValue(value: V): kotlin.Boolean
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:value index:0 type:V flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:get visibility:public modality:ABSTRACT <> (key:K) returnType:V? flags:
overridden:
UNBOUND: operator fun get(key: K): V?
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:key index:0 type:K flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:isEmpty visibility:public modality:ABSTRACT <> () returnType:Boolean flags:
overridden:
UNBOUND: fun isEmpty(): kotlin.Boolean
PROPERTY IR_EXTERNAL_DECLARATION_STUB name:size type:kotlin.Int visibility:public modality:ABSTRACT flags:val
FUN IR_EXTERNAL_DECLARATION_STUB name:<get-size> visibility:public modality:ABSTRACT <> () returnType:Int flags:
overridden:
UNBOUND: fun <get-size>(): kotlin.Int
PROPERTY IR_EXTERNAL_DECLARATION_STUB name:entries type:kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<K, V>> visibility:public modality:ABSTRACT flags:val
FUN IR_EXTERNAL_DECLARATION_STUB name:<get-entries> visibility:public modality:ABSTRACT <> () returnType:MutableSet<MutableEntry<K, V>> flags:
overridden:
UNBOUND: fun <get-entries>(): kotlin.collections.Set<kotlin.collections.Map.Entry<K, V>>
PROPERTY IR_EXTERNAL_DECLARATION_STUB name:keys type:kotlin.collections.MutableSet<K> visibility:public modality:ABSTRACT flags:val
FUN IR_EXTERNAL_DECLARATION_STUB name:<get-keys> visibility:public modality:ABSTRACT <> () returnType:MutableSet<K> flags:
overridden:
UNBOUND: fun <get-keys>(): kotlin.collections.Set<K>
PROPERTY IR_EXTERNAL_DECLARATION_STUB name:values type:kotlin.collections.MutableCollection<V> visibility:public modality:ABSTRACT flags:val
FUN IR_EXTERNAL_DECLARATION_STUB name:<get-values> visibility:public modality:ABSTRACT <> () returnType:MutableCollection<V> flags:
overridden:
UNBOUND: fun <get-values>(): kotlin.collections.Collection<V>
CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:MutableEntry modality:ABSTRACT visibility:public flags:
superClasses:
UNBOUND: interface Entry<out K, out V>
TYPE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:K index:0 variance: upperBounds:[kotlin.Any?]
TYPE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:V index:1 variance: upperBounds:[kotlin.Any?]
FUN IR_EXTERNAL_DECLARATION_STUB name:setValue visibility:public modality:ABSTRACT <> (newValue:V) returnType:V flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:newValue index:0 type:V flags:
PROPERTY IR_EXTERNAL_DECLARATION_STUB name:key type:K visibility:public modality:ABSTRACT flags:val
FUN IR_EXTERNAL_DECLARATION_STUB name:<get-key> visibility:public modality:ABSTRACT <> () returnType:K flags:
overridden:
UNBOUND: fun <get-key>(): K
PROPERTY IR_EXTERNAL_DECLARATION_STUB name:value type:V visibility:public modality:ABSTRACT flags:val
FUN IR_EXTERNAL_DECLARATION_STUB name:<get-value> visibility:public modality:ABSTRACT <> () returnType:V flags:
overridden:
UNBOUND: fun <get-value>(): V
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
overridden:
UNBOUND: fun equals(other: kotlin.Any?): kotlin.Boolean
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
overridden:
UNBOUND: fun hashCode(): kotlin.Int
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
overridden:
UNBOUND: fun toString(): kotlin.String
FUN IR_EXTERNAL_DECLARATION_STUB name:compute visibility:public modality:OPEN <> (p0:K, p1:java.util.function.BiFunction<in K, in V?, out V?>) returnType:V? flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p0 index:0 type:K flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p1 index:1 type:java.util.function.BiFunction<in K, in V?, out V?> flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:computeIfAbsent visibility:public modality:OPEN <> (p0:K, p1:java.util.function.Function<in K, out V>) returnType:V flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p0 index:0 type:K flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p1 index:1 type:java.util.function.Function<in K, out V> flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:computeIfPresent visibility:public modality:OPEN <> (p0:K, p1:java.util.function.BiFunction<in K, in V, out V?>) returnType:V? flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p0 index:0 type:K flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p1 index:1 type:java.util.function.BiFunction<in K, in V, out V?> flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:merge visibility:public modality:OPEN <> (p0:K, p1:V, p2:java.util.function.BiFunction<in V, in V, out V?>) returnType:V? flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p0 index:0 type:K flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p1 index:1 type:V flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p2 index:2 type:java.util.function.BiFunction<in V, in V, out V?> flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:putIfAbsent visibility:public modality:OPEN <> (p0:K, p1:V) returnType:V? flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p0 index:0 type:K flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p1 index:1 type:V flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:replace visibility:public modality:OPEN <> (p0:K, p1:V) returnType:V? flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p0 index:0 type:K flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p1 index:1 type:V flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:replace visibility:public modality:OPEN <> (p0:K, p1:V, p2:V) returnType:Boolean flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p0 index:0 type:K flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p1 index:1 type:V flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p2 index:2 type:V flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:replaceAll visibility:public modality:OPEN <> (p0:java.util.function.BiFunction<in K, in V, out V>) returnType:Unit flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p0 index:0 type:java.util.function.BiFunction<in K, in V, out V> flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
overridden:
UNBOUND: fun equals(other: kotlin.Any?): kotlin.Boolean
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:forEach visibility:public modality:OPEN <> (p0:java.util.function.BiConsumer<in K, in V>) returnType:Unit flags:
overridden:
UNBOUND: fun forEach(p0: java.util.function.BiConsumer<in K, in V>): kotlin.Unit
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:p0 index:0 type:java.util.function.BiConsumer<in K, in V> flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
overridden:
UNBOUND: fun hashCode(): kotlin.Int
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
overridden:
UNBOUND: fun toString(): kotlin.String
File diff suppressed because it is too large Load Diff
@@ -8,18 +8,36 @@ MODULE_FRAGMENT name:<test-module>
ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:THREE
ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:TWO
FUN IR_EXTERNAL_DECLARATION_STUB name:clone visibility:protected modality:FINAL <> () returnType:Any flags:
overridden:
UNBOUND: fun clone(): kotlin.Any
FUN IR_EXTERNAL_DECLARATION_STUB name:finalize visibility:protected/*protected and package*/ modality:FINAL <> () returnType:Unit flags:
overridden:
UNBOUND: fun finalize(): kotlin.Unit
FUN IR_EXTERNAL_DECLARATION_STUB name:getDeclaringClass visibility:public modality:FINAL <> () returnType:(java.lang.Class<(JEnum..JEnum?)>..java.lang.Class<(JEnum..JEnum?)>?) flags:
overridden:
UNBOUND: fun getDeclaringClass(): java.lang.Class<E!>!
FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:FINAL <> (other:JEnum!) returnType:Int flags:
overridden:
UNBOUND: fun compareTo(other: E): kotlin.Int
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:JEnum! flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:FINAL <> (other:kotlin.Any?) returnType:Boolean flags:
overridden:
UNBOUND: fun equals(other: kotlin.Any?): kotlin.Boolean
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:FINAL <> () returnType:Int flags:
overridden:
UNBOUND: fun hashCode(): kotlin.Int
PROPERTY IR_EXTERNAL_DECLARATION_STUB name:name type:kotlin.String visibility:public modality:FINAL flags:val
FUN IR_EXTERNAL_DECLARATION_STUB name:<get-name> visibility:public modality:FINAL <> () returnType:String flags:
overridden:
UNBOUND: fun <get-name>(): kotlin.String
PROPERTY IR_EXTERNAL_DECLARATION_STUB name:ordinal type:kotlin.Int visibility:public modality:FINAL flags:val
FUN IR_EXTERNAL_DECLARATION_STUB name:<get-ordinal> visibility:public modality:FINAL <> () returnType:Int flags:
overridden:
UNBOUND: fun <get-ordinal>(): kotlin.Int
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
overridden:
UNBOUND: fun toString(): kotlin.String
FUN IR_EXTERNAL_DECLARATION_STUB name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:JEnum flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:value index:0 type:kotlin.String flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:values visibility:public modality:FINAL <> () returnType:Array<JEnum> flags:
@@ -15,10 +15,22 @@ MODULE_FRAGMENT name:<test-module>
FIELD IR_EXTERNAL_DECLARATION_STUB name:z type:kotlin.Int visibility:public
FUN IR_EXTERNAL_DECLARATION_STUB name:foo visibility:public modality:OPEN <> () returnType:Unit flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
overridden:
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
+10
View File
@@ -0,0 +1,10 @@
// !DUMP_DEPENDENCIES
// FILE: J.java
public class J {
public void bar() {}
}
// FILE: javaMethod.kt
fun test(j: J) = j.bar()
+7
View File
@@ -0,0 +1,7 @@
FILE fqName:<root> fileName:/javaMethod.kt
FUN name:test visibility:public modality:FINAL <> (j:J) returnType:Unit flags:
VALUE_PARAMETER name:j index:0 type:J flags:
BLOCK_BODY
RETURN type=kotlin.Nothing from='test(J): Unit'
CALL 'bar(): Unit' type=kotlin.Unit origin=null
$this: GET_VAR 'value-parameter j: J' type=J origin=null
@@ -0,0 +1,17 @@
MODULE_FRAGMENT name:<test-module>
EXTERNAL_PACKAGE_FRAGMENT fqName:<root>
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:J modality:OPEN visibility:public flags:
superClasses:
UNBOUND: class Any
CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:J flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:bar visibility:public modality:OPEN <> () returnType:Unit flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
overridden:
UNBOUND: operator fun equals(other: kotlin.Any?): kotlin.Boolean
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
overridden:
UNBOUND: fun hashCode(): kotlin.Int
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
overridden:
UNBOUND: fun toString(): kotlin.String
@@ -10,11 +10,23 @@ MODULE_FRAGMENT name:<test-module>
CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:J.JJ flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:foo visibility:public modality:OPEN <> () returnType:Unit flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
overridden:
UNBOUND: operator fun equals(other: kotlin.Any?): kotlin.Boolean
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
overridden:
UNBOUND: fun hashCode(): kotlin.Int
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
overridden:
UNBOUND: fun toString(): kotlin.String
FUN IR_EXTERNAL_DECLARATION_STUB name:bar visibility:public modality:OPEN <> () returnType:Unit flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
overridden:
UNBOUND: operator fun equals(other: kotlin.Any?): kotlin.Boolean
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
overridden:
UNBOUND: fun hashCode(): kotlin.Int
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
overridden:
UNBOUND: fun toString(): kotlin.String
+10
View File
@@ -0,0 +1,10 @@
// !DUMP_DEPENDENCIES
// FILE: J.java
public class J {
public static void bar() {}
}
// FILE: javaStaticMethod.kt
fun test() = J.bar()
@@ -0,0 +1,5 @@
FILE fqName:<root> fileName:/javaStaticMethod.kt
FUN name:test visibility:public modality:FINAL <> () returnType:Unit flags:
BLOCK_BODY
RETURN type=kotlin.Nothing from='test(): Unit'
CALL 'bar(): Unit' type=kotlin.Unit origin=null
@@ -0,0 +1,17 @@
MODULE_FRAGMENT name:<test-module>
EXTERNAL_PACKAGE_FRAGMENT fqName:<root>
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:J modality:OPEN visibility:public flags:
superClasses:
UNBOUND: class Any
CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> () returnType:J flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
overridden:
UNBOUND: operator fun equals(other: kotlin.Any?): kotlin.Boolean
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
overridden:
UNBOUND: fun hashCode(): kotlin.Int
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
overridden:
UNBOUND: fun toString(): kotlin.String
FUN IR_EXTERNAL_DECLARATION_STUB name:bar visibility:public modality:OPEN <> () returnType:Unit flags:
@@ -39,9 +39,15 @@ MODULE_FRAGMENT name:<built-ins module>
PROPERTY IR_EXTERNAL_DECLARATION_STUB name:MIN_VALUE type:kotlin.Int visibility:public modality:FINAL flags:constmval
FUN IR_EXTERNAL_DECLARATION_STUB name:<get-MIN_VALUE> visibility:public modality:FINAL <> () returnType:Int flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
overridden:
UNBOUND: operator fun equals(other: kotlin.Any?): kotlin.Boolean
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
overridden:
UNBOUND: fun hashCode(): kotlin.Int
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
overridden:
UNBOUND: fun toString(): kotlin.String
FUN IR_EXTERNAL_DECLARATION_STUB name:inv visibility:public modality:FINAL <> () returnType:Int flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:and visibility:public modality:FINAL <> (other:kotlin.Int) returnType:Int flags:
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int flags:
@@ -126,15 +132,40 @@ MODULE_FRAGMENT name:<built-ins module>
FUN IR_EXTERNAL_DECLARATION_STUB name:unaryMinus visibility:public modality:FINAL <> () returnType:Int flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:unaryPlus visibility:public modality:FINAL <> () returnType:Int flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:compareTo visibility:public modality:OPEN <> (other:kotlin.Int) returnType:Int flags:
overridden:
UNBOUND: operator fun compareTo(other: T): kotlin.Int
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Int flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:toByte visibility:public modality:OPEN <> () returnType:Byte flags:
overridden:
UNBOUND: fun toByte(): kotlin.Byte
FUN IR_EXTERNAL_DECLARATION_STUB name:toChar visibility:public modality:OPEN <> () returnType:Char flags:
overridden:
UNBOUND: fun toChar(): kotlin.Char
FUN IR_EXTERNAL_DECLARATION_STUB name:toDouble visibility:public modality:OPEN <> () returnType:Double flags:
overridden:
UNBOUND: fun toDouble(): kotlin.Double
FUN IR_EXTERNAL_DECLARATION_STUB name:toFloat visibility:public modality:OPEN <> () returnType:Float flags:
overridden:
UNBOUND: fun toFloat(): kotlin.Float
FUN IR_EXTERNAL_DECLARATION_STUB name:toInt visibility:public modality:OPEN <> () returnType:Int flags:
overridden:
UNBOUND: fun toInt(): kotlin.Int
FUN IR_EXTERNAL_DECLARATION_STUB name:toLong visibility:public modality:OPEN <> () returnType:Long flags:
overridden:
UNBOUND: fun toLong(): kotlin.Long
FUN IR_EXTERNAL_DECLARATION_STUB name:toShort visibility:public modality:OPEN <> () returnType:Short flags:
overridden:
UNBOUND: fun toShort(): kotlin.Short
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
overridden:
UNBOUND: fun equals(other: kotlin.Any?): kotlin.Boolean
UNBOUND: fun equals(other: kotlin.Any?): kotlin.Boolean
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
overridden:
UNBOUND: fun hashCode(): kotlin.Int
UNBOUND: fun hashCode(): kotlin.Int
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
overridden:
UNBOUND: fun toString(): kotlin.String
UNBOUND: fun toString(): kotlin.String