mirror of
https://github.com/github/codeql.git
synced 2026-05-01 11:45:14 +02:00
Merge pull request #9405 from smowton/smowton/fix/restore-wildcard-types
Kotlin: Introduce / restore implied wildcard types
This commit is contained in:
@@ -19,7 +19,11 @@ import org.jetbrains.kotlin.ir.expressions.*
|
||||
import org.jetbrains.kotlin.ir.symbols.*
|
||||
import org.jetbrains.kotlin.ir.types.*
|
||||
import org.jetbrains.kotlin.ir.util.*
|
||||
import org.jetbrains.kotlin.load.java.sources.JavaSourceElement
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaClass
|
||||
import org.jetbrains.kotlin.load.java.structure.JavaTypeParameter
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.types.Variance
|
||||
import org.jetbrains.kotlin.util.OperatorNameConventions
|
||||
import java.io.Closeable
|
||||
import java.util.*
|
||||
@@ -171,7 +175,7 @@ open class KotlinFileExtractor(
|
||||
}
|
||||
}
|
||||
|
||||
fun extractTypeParameter(tp: IrTypeParameter, apparentIndex: Int): Label<out DbTypevariable>? {
|
||||
fun extractTypeParameter(tp: IrTypeParameter, apparentIndex: Int, javaTypeParameter: JavaTypeParameter?): Label<out DbTypevariable>? {
|
||||
with("type parameter", tp) {
|
||||
val parentId = getTypeParameterParentLabel(tp) ?: return null
|
||||
val id = tw.getLabelFor<DbTypevariable>(getTypeParameterLabel(tp))
|
||||
@@ -183,10 +187,21 @@ open class KotlinFileExtractor(
|
||||
val locId = tw.getLocation(tp)
|
||||
tw.writeHasLocation(id, locId)
|
||||
|
||||
// Annoyingly, we have no obvious way to pair up the bounds of an IrTypeParameter and a JavaTypeParameter
|
||||
// because JavaTypeParameter provides a Collection not an ordered list, so we can only do our best here:
|
||||
fun tryGetJavaBound(idx: Int) =
|
||||
when(tp.superTypes.size) {
|
||||
1 -> javaTypeParameter?.upperBounds?.singleOrNull()
|
||||
else -> (javaTypeParameter?.upperBounds as? List)?.getOrNull(idx)
|
||||
}
|
||||
|
||||
tp.superTypes.forEachIndexed { boundIdx, bound ->
|
||||
if(!(bound.isAny() || bound.isNullableAny())) {
|
||||
tw.getLabelFor<DbTypebound>("@\"bound;$boundIdx;{$id}\"") {
|
||||
tw.writeTypeBounds(it, useType(bound).javaResult.id.cast<DbReftype>(), boundIdx, id)
|
||||
// Note we don't look for @JvmSuppressWildcards here because it doesn't seem to have any impact
|
||||
// on kotlinc adding wildcards to type parameter bounds.
|
||||
val boundWithWildcards = addJavaLoweringWildcards(bound, true, tryGetJavaBound(tp.index))
|
||||
tw.writeTypeBounds(it, useType(boundWithWildcards).javaResult.id.cast<DbReftype>(), boundIdx, id)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -382,7 +397,9 @@ open class KotlinFileExtractor(
|
||||
|
||||
extractEnclosingClass(c, id, locId, listOf())
|
||||
|
||||
c.typeParameters.mapIndexed { idx, param -> extractTypeParameter(param, idx) }
|
||||
val javaClass = (c.source as? JavaSourceElement)?.javaElement as? JavaClass
|
||||
|
||||
c.typeParameters.mapIndexed { idx, param -> extractTypeParameter(param, idx, javaClass?.typeParameters?.getOrNull(idx)) }
|
||||
if (extractDeclarations) {
|
||||
c.declarations.map { extractDeclaration(it, extractPrivateMembers = extractPrivateMembers, extractFunctionBodies = extractFunctionBodies) }
|
||||
if (extractStaticInitializer)
|
||||
@@ -497,7 +514,9 @@ open class KotlinFileExtractor(
|
||||
else
|
||||
null
|
||||
} ?: vp.type
|
||||
val substitutedType = typeSubstitution?.let { it(maybeErasedType, TypeContext.OTHER, pluginContext) } ?: maybeErasedType
|
||||
val javaType = ((vp.parent as? IrFunction)?.let { getJavaMethod(it) })?.valueParameters?.getOrNull(idx)?.type
|
||||
val typeWithWildcards = addJavaLoweringWildcards(maybeErasedType, !hasWildcardSuppressionAnnotation(vp), javaType)
|
||||
val substitutedType = typeSubstitution?.let { it(typeWithWildcards, TypeContext.OTHER, pluginContext) } ?: typeWithWildcards
|
||||
val id = useValueParameter(vp, parent)
|
||||
if (extractTypeAccess) {
|
||||
extractTypeAccessRecursive(substitutedType, location, id, -1)
|
||||
@@ -531,7 +550,9 @@ open class KotlinFileExtractor(
|
||||
extensionReceiverParameter = null,
|
||||
functionTypeParameters = listOf(),
|
||||
classTypeArgsIncludingOuterClasses = listOf(),
|
||||
overridesCollectionsMethod = false
|
||||
overridesCollectionsMethod = false,
|
||||
javaSignature = null,
|
||||
addParameterWildcardsByDefault = false
|
||||
)
|
||||
val clinitId = tw.getLabelFor<DbMethod>(clinitLabel)
|
||||
val returnType = useType(pluginContext.irBuiltIns.unitType, TypeContext.RETURN)
|
||||
@@ -670,7 +691,8 @@ open class KotlinFileExtractor(
|
||||
with("function", f) {
|
||||
DeclarationStackAdjuster(f).use {
|
||||
|
||||
getFunctionTypeParameters(f).mapIndexed { idx, tp -> extractTypeParameter(tp, idx) }
|
||||
val javaMethod = getJavaMethod(f)
|
||||
getFunctionTypeParameters(f).mapIndexed { idx, tp -> extractTypeParameter(tp, idx, javaMethod?.typeParameters?.getOrNull(idx)) }
|
||||
|
||||
val id =
|
||||
idOverride
|
||||
@@ -704,7 +726,7 @@ open class KotlinFileExtractor(
|
||||
|
||||
val paramsSignature = allParamTypes.joinToString(separator = ",", prefix = "(", postfix = ")") { it.javaResult.signature!! }
|
||||
|
||||
val adjustedReturnType = getAdjustedReturnType(f)
|
||||
val adjustedReturnType = addJavaLoweringWildcards(getAdjustedReturnType(f), false, javaMethod?.returnType)
|
||||
val substReturnType = typeSubstitution?.let { it(adjustedReturnType, TypeContext.RETURN, pluginContext) } ?: adjustedReturnType
|
||||
|
||||
val locId = locOverride ?: getLocation(f, classTypeArgsIncludingOuterClasses)
|
||||
@@ -3744,6 +3766,17 @@ open class KotlinFileExtractor(
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Extracts a single wildcard type access expression with no enclosing callable and statement.
|
||||
*/
|
||||
private fun extractWildcardTypeAccess(type: TypeResults, location: Label<DbLocation>, parent: Label<out DbExprparent>, idx: Int): Label<out DbExpr> {
|
||||
val id = tw.getFreshIdLabel<DbWildcardtypeaccess>()
|
||||
tw.writeExprs_wildcardtypeaccess(id, type.javaResult.id, parent, idx)
|
||||
tw.writeExprsKotlinType(id, type.kotlinResult.id)
|
||||
tw.writeHasLocation(id, location)
|
||||
return id
|
||||
}
|
||||
|
||||
/**
|
||||
* Extracts a single type access expression with no enclosing callable and statement.
|
||||
*/
|
||||
@@ -3768,6 +3801,27 @@ open class KotlinFileExtractor(
|
||||
return id
|
||||
}
|
||||
|
||||
/**
|
||||
* Extracts a type argument type access, introducing a wildcard type access if appropriate, or directly calling
|
||||
* `extractTypeAccessRecursive` if the argument is invariant.
|
||||
* No enclosing callable and statement is extracted, this is useful for type access extraction in field declarations.
|
||||
*/
|
||||
private fun extractWildcardTypeAccessRecursive(t: IrTypeArgument, location: Label<DbLocation>, parent: Label<out DbExprparent>, idx: Int) {
|
||||
val typeLabels by lazy { TypeResults(getTypeArgumentLabel(t), TypeResult(fakeKotlinType(), "TODO", "TODO")) }
|
||||
when (t) {
|
||||
is IrStarProjection -> extractWildcardTypeAccess(typeLabels, location, parent, idx)
|
||||
is IrTypeProjection -> when(t.variance) {
|
||||
Variance.INVARIANT -> extractTypeAccessRecursive(t.type, location, parent, idx, TypeContext.GENERIC_ARGUMENT)
|
||||
else -> {
|
||||
val wildcardLabel = extractWildcardTypeAccess(typeLabels, location, parent, idx)
|
||||
// Mimic a Java extractor oddity, that it uses the child index to indicate what kind of wildcard this is
|
||||
val boundChildIdx = if (t.variance == Variance.OUT_VARIANCE) 0 else 1
|
||||
extractTypeAccessRecursive(t.type, location, wildcardLabel, boundChildIdx, TypeContext.GENERIC_ARGUMENT)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Extracts a type access expression and its child type access expressions in case of a generic type. Nested generics are also handled.
|
||||
* No enclosing callable and statement is extracted, this is useful for type access extraction in field declarations.
|
||||
@@ -3775,8 +3829,8 @@ open class KotlinFileExtractor(
|
||||
private fun extractTypeAccessRecursive(t: IrType, location: Label<DbLocation>, parent: Label<out DbExprparent>, idx: Int, typeContext: TypeContext = TypeContext.OTHER): Label<out DbExpr> {
|
||||
val typeAccessId = extractTypeAccess(useType(t, typeContext), location, parent, idx)
|
||||
if (t is IrSimpleType) {
|
||||
t.arguments.filterIsInstance<IrType>().forEachIndexed { argIdx, arg ->
|
||||
extractTypeAccessRecursive(arg, location, typeAccessId, argIdx, TypeContext.GENERIC_ARGUMENT)
|
||||
t.arguments.forEachIndexed { argIdx, arg ->
|
||||
extractWildcardTypeAccessRecursive(arg, location, typeAccessId, argIdx)
|
||||
}
|
||||
}
|
||||
return typeAccessId
|
||||
|
||||
@@ -6,6 +6,8 @@ import com.github.codeql.utils.versions.isRawType
|
||||
import com.semmle.extractor.java.OdasaOutput
|
||||
import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
|
||||
import org.jetbrains.kotlin.backend.common.ir.allOverridden
|
||||
import org.jetbrains.kotlin.backend.common.ir.isFinalClass
|
||||
import org.jetbrains.kotlin.backend.common.lower.parents
|
||||
import org.jetbrains.kotlin.backend.common.lower.parentsWithSelf
|
||||
import org.jetbrains.kotlin.backend.jvm.ir.getJvmNameFromAnnotation
|
||||
import org.jetbrains.kotlin.backend.jvm.ir.propertyIfAccessor
|
||||
@@ -20,6 +22,8 @@ import org.jetbrains.kotlin.ir.types.impl.*
|
||||
import org.jetbrains.kotlin.ir.util.*
|
||||
import org.jetbrains.kotlin.load.java.BuiltinMethodsWithSpecialGenericSignature
|
||||
import org.jetbrains.kotlin.load.java.JvmAbi
|
||||
import org.jetbrains.kotlin.load.java.sources.JavaSourceElement
|
||||
import org.jetbrains.kotlin.load.java.structure.*
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.name.SpecialNames
|
||||
@@ -850,6 +854,64 @@ open class KotlinUsesExtractor(
|
||||
(f.name.asString() == "addAll" && overridesFunctionDefinedOn(f, "kotlin.collections", "MutableCollection")) ||
|
||||
(f.name.asString() == "addAll" && overridesFunctionDefinedOn(f, "kotlin.collections", "MutableList"))
|
||||
|
||||
|
||||
private val jvmWildcardAnnotation = FqName("kotlin.jvm.JvmWildcard")
|
||||
private val jvmWildcardSuppressionAnnotaton = FqName("kotlin.jvm.JvmSuppressWildcards")
|
||||
|
||||
private fun wildcardAdditionAllowed(v: Variance, t: IrType, addByDefault: Boolean) =
|
||||
when {
|
||||
t.hasAnnotation(jvmWildcardAnnotation) -> true
|
||||
!addByDefault -> false
|
||||
t.hasAnnotation(jvmWildcardSuppressionAnnotaton) -> false
|
||||
v == Variance.IN_VARIANCE -> !(t.isNullableAny() || t.isAny())
|
||||
v == Variance.OUT_VARIANCE -> ((t as? IrSimpleType)?.classOrNull?.owner?.isFinalClass) != true
|
||||
else -> false
|
||||
}
|
||||
|
||||
private fun addJavaLoweringArgumentWildcards(p: IrTypeParameter, t: IrTypeArgument, addByDefault: Boolean, javaType: JavaType?): IrTypeArgument =
|
||||
(t as? IrTypeProjection)?.let {
|
||||
val newBase = addJavaLoweringWildcards(it.type, addByDefault, javaType)
|
||||
val newVariance =
|
||||
if (it.variance == Variance.INVARIANT &&
|
||||
p.variance != Variance.INVARIANT &&
|
||||
// The next line forbids inferring a wildcard type when we have a corresponding Java type with conflicting variance.
|
||||
// For example, Java might declare f(Comparable<CharSequence> cs), in which case we shouldn't add a `? super ...`
|
||||
// wildcard. Note if javaType is unknown (e.g. this is a Kotlin source element), we assume wildcards should be added.
|
||||
(javaType?.let { jt -> jt is JavaWildcardType && jt.isExtends == (p.variance == Variance.OUT_VARIANCE) } != false) &&
|
||||
wildcardAdditionAllowed(p.variance, it.type, addByDefault))
|
||||
p.variance
|
||||
else
|
||||
it.variance
|
||||
if (newBase !== it.type || newVariance != it.variance)
|
||||
makeTypeProjection(newBase, newVariance)
|
||||
else
|
||||
null
|
||||
} ?: t
|
||||
|
||||
fun getJavaTypeArgument(jt: JavaType, idx: Int) =
|
||||
when(jt) {
|
||||
is JavaClassifierType -> jt.typeArguments.getOrNull(idx)
|
||||
is JavaArrayType -> if (idx == 0) jt.componentType else null
|
||||
else -> null
|
||||
}
|
||||
|
||||
fun addJavaLoweringWildcards(t: IrType, addByDefault: Boolean, javaType: JavaType?): IrType =
|
||||
(t as? IrSimpleType)?.let {
|
||||
val typeParams = it.classOrNull?.owner?.typeParameters ?: return t
|
||||
val newArgs = typeParams.zip(it.arguments).mapIndexed { idx, pair ->
|
||||
addJavaLoweringArgumentWildcards(
|
||||
pair.first,
|
||||
pair.second,
|
||||
addByDefault,
|
||||
javaType?.let { jt -> getJavaTypeArgument(jt, idx) }
|
||||
)
|
||||
}
|
||||
return if (newArgs.zip(it.arguments).all { pair -> pair.first === pair.second })
|
||||
t
|
||||
else
|
||||
it.toBuilder().also { builder -> builder.arguments = newArgs }.buildSimpleType()
|
||||
} ?: t
|
||||
|
||||
/*
|
||||
* This is the normal getFunctionLabel function to use. If you want
|
||||
* to refer to the function in its source class then
|
||||
@@ -883,6 +945,14 @@ open class KotlinUsesExtractor(
|
||||
return otherKeySet.returnType.codeQlWithHasQuestionMark(false)
|
||||
}
|
||||
|
||||
@OptIn(ObsoleteDescriptorBasedAPI::class)
|
||||
fun getJavaMethod(f: IrFunction) = (f.descriptor.source as? JavaSourceElement)?.javaElement as? JavaMethod
|
||||
|
||||
fun hasWildcardSuppressionAnnotation(d: IrDeclaration) =
|
||||
d.hasAnnotation(jvmWildcardSuppressionAnnotaton) ||
|
||||
// Note not using `parentsWithSelf` as that only works if `d` is an IrDeclarationParent
|
||||
d.parents.any { (it as? IrAnnotationContainer)?.hasAnnotation(jvmWildcardSuppressionAnnotaton) == true }
|
||||
|
||||
/*
|
||||
* There are some pairs of classes (e.g. `kotlin.Throwable` and
|
||||
* `java.lang.Throwable`) which are really just 2 different names
|
||||
@@ -903,7 +973,9 @@ open class KotlinUsesExtractor(
|
||||
f.extensionReceiverParameter,
|
||||
getFunctionTypeParameters(f),
|
||||
classTypeArgsIncludingOuterClasses,
|
||||
overridesCollectionsMethodWithAlteredParameterTypes(f)
|
||||
overridesCollectionsMethodWithAlteredParameterTypes(f),
|
||||
getJavaMethod(f),
|
||||
!hasWildcardSuppressionAnnotation(f)
|
||||
)
|
||||
|
||||
/*
|
||||
@@ -933,6 +1005,11 @@ open class KotlinUsesExtractor(
|
||||
// If true, this method implements a Java Collections interface (Collection, Map or List) and may need
|
||||
// parameter erasure to match the way this class will appear to an external consumer of the .class file.
|
||||
overridesCollectionsMethod: Boolean,
|
||||
// The Java signature of this callable, if known.
|
||||
javaSignature: JavaMethod?,
|
||||
// If true, Java wildcards implied by Kotlin type parameter variance should be added by default to this function's value parameters' types.
|
||||
// (Return-type wildcard addition is always off by default)
|
||||
addParameterWildcardsByDefault: Boolean,
|
||||
// The prefix used in the label. "callable", unless a property label is created, then it's "property".
|
||||
prefix: String = "callable"
|
||||
): String {
|
||||
@@ -956,8 +1033,10 @@ open class KotlinUsesExtractor(
|
||||
// Collection.remove(Object) because Collection.remove(Collection::E) in the Kotlin universe.
|
||||
// If this has happened, erase the type again to get the correct Java signature.
|
||||
val maybeAmendedForCollections = if (overridesCollectionsMethod) eraseCollectionsMethodParameterType(it.value.type, name, it.index) else it.value.type
|
||||
// Add any wildcard types that the Kotlin compiler would add in the Java lowering of this function:
|
||||
val withAddedWildcards = addJavaLoweringWildcards(maybeAmendedForCollections, addParameterWildcardsByDefault, javaSignature?.let { sig -> sig.valueParameters[it.index].type })
|
||||
// Now substitute any class type parameters in:
|
||||
val maybeSubbed = maybeAmendedForCollections.substituteTypeAndArguments(substitutionMap, TypeContext.OTHER, pluginContext)
|
||||
val maybeSubbed = withAddedWildcards.substituteTypeAndArguments(substitutionMap, TypeContext.OTHER, pluginContext)
|
||||
// Finally, mimic the Java extractor's behaviour by naming functions with type parameters for their erased types;
|
||||
// those without type parameters are named for the generic type.
|
||||
val maybeErased = if (functionTypeParameters.isEmpty()) maybeSubbed else erase(maybeSubbed)
|
||||
@@ -969,6 +1048,8 @@ open class KotlinUsesExtractor(
|
||||
pluginContext.irBuiltIns.unitType
|
||||
else
|
||||
erase(returnType.substituteTypeAndArguments(substitutionMap, TypeContext.RETURN, pluginContext))
|
||||
// Note that `addJavaLoweringWildcards` is not required here because the return type used to form the function
|
||||
// label is always erased.
|
||||
val returnTypeId = useType(labelReturnType, TypeContext.RETURN).javaResult.id
|
||||
// This suffix is added to generic methods (and constructors) to match the Java extractor's behaviour.
|
||||
// Comments in that extractor indicates it didn't want the label of the callable to clash with the raw
|
||||
@@ -1425,7 +1506,7 @@ open class KotlinUsesExtractor(
|
||||
val returnType = getter?.returnType ?: setter?.valueParameters?.singleOrNull()?.type ?: pluginContext.irBuiltIns.unitType
|
||||
val typeParams = getFunctionTypeParameters(func)
|
||||
|
||||
getFunctionLabel(p.parent, parentId, p.name.asString(), listOf(), returnType, ext, typeParams, classTypeArgsIncludingOuterClasses, overridesCollectionsMethod = false, prefix = "property")
|
||||
getFunctionLabel(p.parent, parentId, p.name.asString(), listOf(), returnType, ext, typeParams, classTypeArgsIncludingOuterClasses, overridesCollectionsMethod = false, javaSignature = null, addParameterWildcardsByDefault = false, prefix = "property")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -237,9 +237,10 @@ delegatedProperties.kt:
|
||||
# 18| 3: [TypeAccess] Unit
|
||||
#-----| 4: (Parameters)
|
||||
# 18| 0: [Parameter] map
|
||||
# 18| 0: [TypeAccess] Map<String,Object>
|
||||
# 18| 0: [TypeAccess] Map<String,? extends Object>
|
||||
# 18| 0: [TypeAccess] String
|
||||
# 18| 1: [TypeAccess] Object
|
||||
# 18| 1: [WildcardTypeAccess] ? ...
|
||||
# 18| 0: [TypeAccess] Object
|
||||
# 18| 5: [BlockStmt] { ... }
|
||||
# 19| 0: [BlockStmt] { ... }
|
||||
# 19| 0: [LocalVariableDeclStmt] var ...;
|
||||
@@ -425,6 +426,7 @@ delegatedProperties.kt:
|
||||
# 27| 0: [TypeAccess] Object
|
||||
# 27| 1: [Parameter] property
|
||||
# 27| 0: [TypeAccess] KProperty<?>
|
||||
# 27| 0: [WildcardTypeAccess] ? ...
|
||||
# 27| 5: [BlockStmt] { ... }
|
||||
# 27| 0: [ReturnStmt] return ...
|
||||
# 27| 0: [MethodAccess] getCurValue(...)
|
||||
@@ -436,6 +438,7 @@ delegatedProperties.kt:
|
||||
# 28| 0: [TypeAccess] Object
|
||||
# 28| 1: [Parameter] property
|
||||
# 28| 0: [TypeAccess] KProperty<?>
|
||||
# 28| 0: [WildcardTypeAccess] ? ...
|
||||
# 28| 2: [Parameter] value
|
||||
# 28| 0: [TypeAccess] int
|
||||
# 28| 5: [BlockStmt] { ... }
|
||||
@@ -734,6 +737,7 @@ delegatedProperties.kt:
|
||||
# 46| 0: [TypeAccess] Owner
|
||||
# 46| 1: [Parameter] property
|
||||
# 46| 0: [TypeAccess] KProperty<?>
|
||||
# 46| 0: [WildcardTypeAccess] ? ...
|
||||
# 46| 5: [BlockStmt] { ... }
|
||||
# 47| 0: [ReturnStmt] return ...
|
||||
# 47| 0: [IntegerLiteral] 1
|
||||
@@ -744,6 +748,7 @@ delegatedProperties.kt:
|
||||
# 49| 0: [TypeAccess] Owner
|
||||
# 49| 1: [Parameter] property
|
||||
# 49| 0: [TypeAccess] KProperty<?>
|
||||
# 49| 0: [WildcardTypeAccess] ? ...
|
||||
# 49| 2: [Parameter] value
|
||||
# 49| 0: [TypeAccess] Integer
|
||||
# 49| 5: [BlockStmt] { ... }
|
||||
@@ -759,6 +764,7 @@ delegatedProperties.kt:
|
||||
# 54| 0: [TypeAccess] Owner
|
||||
# 54| 1: [Parameter] prop
|
||||
# 54| 0: [TypeAccess] KProperty<?>
|
||||
# 54| 0: [WildcardTypeAccess] ? ...
|
||||
# 54| 5: [BlockStmt] { ... }
|
||||
# 56| 0: [ReturnStmt] return ...
|
||||
# 56| 0: [ClassInstanceExpr] new ResourceDelegate(...)
|
||||
@@ -3081,8 +3087,9 @@ funcExprs.kt:
|
||||
# 2| 3: [TypeAccess] Unit
|
||||
#-----| 4: (Parameters)
|
||||
# 2| 0: [Parameter] f
|
||||
# 2| 0: [TypeAccess] Function0<Object>
|
||||
# 2| 0: [TypeAccess] Object
|
||||
# 2| 0: [TypeAccess] Function0<? extends Object>
|
||||
# 2| 0: [WildcardTypeAccess] ? ...
|
||||
# 2| 0: [TypeAccess] Object
|
||||
# 2| 5: [BlockStmt] { ... }
|
||||
# 2| 0: [ExprStmt] <Expr>;
|
||||
# 2| 0: [ImplicitCoercionToUnitExpr] <implicit coercion to unit>
|
||||
@@ -3093,8 +3100,9 @@ funcExprs.kt:
|
||||
# 3| 3: [TypeAccess] Unit
|
||||
#-----| 4: (Parameters)
|
||||
# 3| 0: [Parameter] f
|
||||
# 3| 0: [TypeAccess] Function0<Object>
|
||||
# 3| 0: [TypeAccess] Object
|
||||
# 3| 0: [TypeAccess] Function0<? extends Object>
|
||||
# 3| 0: [WildcardTypeAccess] ? ...
|
||||
# 3| 0: [TypeAccess] Object
|
||||
# 3| 5: [BlockStmt] { ... }
|
||||
# 3| 0: [ExprStmt] <Expr>;
|
||||
# 3| 0: [ImplicitCoercionToUnitExpr] <implicit coercion to unit>
|
||||
@@ -3107,8 +3115,9 @@ funcExprs.kt:
|
||||
# 4| 0: [Parameter] x
|
||||
# 4| 0: [TypeAccess] int
|
||||
# 4| 1: [Parameter] f
|
||||
# 4| 0: [TypeAccess] Function1<Integer,Integer>
|
||||
# 4| 0: [TypeAccess] Integer
|
||||
# 4| 0: [TypeAccess] Function1<? super Integer,Integer>
|
||||
# 4| 0: [WildcardTypeAccess] ? ...
|
||||
# 4| 1: [TypeAccess] Integer
|
||||
# 4| 1: [TypeAccess] Integer
|
||||
# 4| 5: [BlockStmt] { ... }
|
||||
# 4| 0: [ExprStmt] <Expr>;
|
||||
@@ -3123,9 +3132,10 @@ funcExprs.kt:
|
||||
# 5| 0: [Parameter] x
|
||||
# 5| 0: [TypeAccess] int
|
||||
# 5| 1: [Parameter] f
|
||||
# 5| 0: [TypeAccess] Function1<Object,Object>
|
||||
# 5| 0: [TypeAccess] Function1<Object,? extends Object>
|
||||
# 5| 0: [TypeAccess] Object
|
||||
# 5| 1: [TypeAccess] Object
|
||||
# 5| 1: [WildcardTypeAccess] ? ...
|
||||
# 5| 0: [TypeAccess] Object
|
||||
# 5| 5: [BlockStmt] { ... }
|
||||
# 5| 0: [ExprStmt] <Expr>;
|
||||
# 5| 0: [ImplicitCoercionToUnitExpr] <implicit coercion to unit>
|
||||
@@ -3139,9 +3149,11 @@ funcExprs.kt:
|
||||
# 6| 0: [Parameter] x
|
||||
# 6| 0: [TypeAccess] int
|
||||
# 6| 1: [Parameter] f
|
||||
# 6| 0: [TypeAccess] Function2<FuncRef,Integer,Integer>
|
||||
# 6| 0: [TypeAccess] FuncRef
|
||||
# 6| 1: [TypeAccess] Integer
|
||||
# 6| 0: [TypeAccess] Function2<? super FuncRef,? super Integer,Integer>
|
||||
# 6| 0: [WildcardTypeAccess] ? ...
|
||||
# 6| 1: [TypeAccess] FuncRef
|
||||
# 6| 1: [WildcardTypeAccess] ? ...
|
||||
# 6| 1: [TypeAccess] Integer
|
||||
# 6| 2: [TypeAccess] Integer
|
||||
# 6| 5: [BlockStmt] { ... }
|
||||
# 6| 0: [ExprStmt] <Expr>;
|
||||
@@ -3158,9 +3170,11 @@ funcExprs.kt:
|
||||
# 7| 0: [Parameter] x
|
||||
# 7| 0: [TypeAccess] int
|
||||
# 7| 1: [Parameter] f
|
||||
# 7| 0: [TypeAccess] Function2<Integer,Integer,Integer>
|
||||
# 7| 0: [TypeAccess] Integer
|
||||
# 7| 1: [TypeAccess] Integer
|
||||
# 7| 0: [TypeAccess] Function2<? super Integer,? super Integer,Integer>
|
||||
# 7| 0: [WildcardTypeAccess] ? ...
|
||||
# 7| 1: [TypeAccess] Integer
|
||||
# 7| 1: [WildcardTypeAccess] ? ...
|
||||
# 7| 1: [TypeAccess] Integer
|
||||
# 7| 2: [TypeAccess] Integer
|
||||
# 7| 5: [BlockStmt] { ... }
|
||||
# 7| 0: [ExprStmt] <Expr>;
|
||||
@@ -3176,9 +3190,11 @@ funcExprs.kt:
|
||||
# 8| 0: [Parameter] x
|
||||
# 8| 0: [TypeAccess] int
|
||||
# 8| 1: [Parameter] f
|
||||
# 8| 0: [TypeAccess] Function2<Integer,Integer,Integer>
|
||||
# 8| 0: [TypeAccess] Integer
|
||||
# 8| 1: [TypeAccess] Integer
|
||||
# 8| 0: [TypeAccess] Function2<? super Integer,? super Integer,Integer>
|
||||
# 8| 0: [WildcardTypeAccess] ? ...
|
||||
# 8| 1: [TypeAccess] Integer
|
||||
# 8| 1: [WildcardTypeAccess] ? ...
|
||||
# 8| 1: [TypeAccess] Integer
|
||||
# 8| 2: [TypeAccess] Integer
|
||||
# 8| 5: [BlockStmt] { ... }
|
||||
# 8| 0: [ExprStmt] <Expr>;
|
||||
@@ -3194,11 +3210,14 @@ funcExprs.kt:
|
||||
# 9| 0: [Parameter] x
|
||||
# 9| 0: [TypeAccess] int
|
||||
# 9| 1: [Parameter] f
|
||||
# 9| 0: [TypeAccess] Function1<Integer,Function1<Integer,Double>>
|
||||
# 9| 0: [TypeAccess] Integer
|
||||
# 9| 1: [TypeAccess] Function1<Integer,Double>
|
||||
# 9| 0: [TypeAccess] Integer
|
||||
# 9| 1: [TypeAccess] Double
|
||||
# 9| 0: [TypeAccess] Function1<? super Integer,? extends Function1<? super Integer,Double>>
|
||||
# 9| 0: [WildcardTypeAccess] ? ...
|
||||
# 9| 1: [TypeAccess] Integer
|
||||
# 9| 1: [WildcardTypeAccess] ? ...
|
||||
# 9| 0: [TypeAccess] Function1<? super Integer,Double>
|
||||
# 9| 0: [WildcardTypeAccess] ? ...
|
||||
# 9| 1: [TypeAccess] Integer
|
||||
# 9| 1: [TypeAccess] Double
|
||||
# 9| 5: [BlockStmt] { ... }
|
||||
# 9| 0: [ExprStmt] <Expr>;
|
||||
# 9| 0: [ImplicitCoercionToUnitExpr] <implicit coercion to unit>
|
||||
@@ -3214,29 +3233,51 @@ funcExprs.kt:
|
||||
# 11| 0: [Parameter] x
|
||||
# 11| 0: [TypeAccess] int
|
||||
# 11| 1: [Parameter] f
|
||||
# 11| 0: [TypeAccess] Function22<Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Unit>
|
||||
# 11| 0: [TypeAccess] Integer
|
||||
# 11| 1: [TypeAccess] Integer
|
||||
# 11| 2: [TypeAccess] Integer
|
||||
# 11| 3: [TypeAccess] Integer
|
||||
# 11| 4: [TypeAccess] Integer
|
||||
# 11| 5: [TypeAccess] Integer
|
||||
# 11| 6: [TypeAccess] Integer
|
||||
# 11| 7: [TypeAccess] Integer
|
||||
# 11| 8: [TypeAccess] Integer
|
||||
# 11| 9: [TypeAccess] Integer
|
||||
# 11| 10: [TypeAccess] Integer
|
||||
# 11| 11: [TypeAccess] Integer
|
||||
# 11| 12: [TypeAccess] Integer
|
||||
# 11| 13: [TypeAccess] Integer
|
||||
# 11| 14: [TypeAccess] Integer
|
||||
# 11| 15: [TypeAccess] Integer
|
||||
# 11| 16: [TypeAccess] Integer
|
||||
# 11| 17: [TypeAccess] Integer
|
||||
# 11| 18: [TypeAccess] Integer
|
||||
# 11| 19: [TypeAccess] Integer
|
||||
# 11| 20: [TypeAccess] Integer
|
||||
# 11| 21: [TypeAccess] Integer
|
||||
# 11| 0: [TypeAccess] Function22<? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,Unit>
|
||||
# 11| 0: [WildcardTypeAccess] ? ...
|
||||
# 11| 1: [TypeAccess] Integer
|
||||
# 11| 1: [WildcardTypeAccess] ? ...
|
||||
# 11| 1: [TypeAccess] Integer
|
||||
# 11| 2: [WildcardTypeAccess] ? ...
|
||||
# 11| 1: [TypeAccess] Integer
|
||||
# 11| 3: [WildcardTypeAccess] ? ...
|
||||
# 11| 1: [TypeAccess] Integer
|
||||
# 11| 4: [WildcardTypeAccess] ? ...
|
||||
# 11| 1: [TypeAccess] Integer
|
||||
# 11| 5: [WildcardTypeAccess] ? ...
|
||||
# 11| 1: [TypeAccess] Integer
|
||||
# 11| 6: [WildcardTypeAccess] ? ...
|
||||
# 11| 1: [TypeAccess] Integer
|
||||
# 11| 7: [WildcardTypeAccess] ? ...
|
||||
# 11| 1: [TypeAccess] Integer
|
||||
# 11| 8: [WildcardTypeAccess] ? ...
|
||||
# 11| 1: [TypeAccess] Integer
|
||||
# 11| 9: [WildcardTypeAccess] ? ...
|
||||
# 11| 1: [TypeAccess] Integer
|
||||
# 11| 10: [WildcardTypeAccess] ? ...
|
||||
# 11| 1: [TypeAccess] Integer
|
||||
# 11| 11: [WildcardTypeAccess] ? ...
|
||||
# 11| 1: [TypeAccess] Integer
|
||||
# 11| 12: [WildcardTypeAccess] ? ...
|
||||
# 11| 1: [TypeAccess] Integer
|
||||
# 11| 13: [WildcardTypeAccess] ? ...
|
||||
# 11| 1: [TypeAccess] Integer
|
||||
# 11| 14: [WildcardTypeAccess] ? ...
|
||||
# 11| 1: [TypeAccess] Integer
|
||||
# 11| 15: [WildcardTypeAccess] ? ...
|
||||
# 11| 1: [TypeAccess] Integer
|
||||
# 11| 16: [WildcardTypeAccess] ? ...
|
||||
# 11| 1: [TypeAccess] Integer
|
||||
# 11| 17: [WildcardTypeAccess] ? ...
|
||||
# 11| 1: [TypeAccess] Integer
|
||||
# 11| 18: [WildcardTypeAccess] ? ...
|
||||
# 11| 1: [TypeAccess] Integer
|
||||
# 11| 19: [WildcardTypeAccess] ? ...
|
||||
# 11| 1: [TypeAccess] Integer
|
||||
# 11| 20: [WildcardTypeAccess] ? ...
|
||||
# 11| 1: [TypeAccess] Integer
|
||||
# 11| 21: [WildcardTypeAccess] ? ...
|
||||
# 11| 1: [TypeAccess] Integer
|
||||
# 11| 22: [TypeAccess] Unit
|
||||
# 11| 5: [BlockStmt] { ... }
|
||||
# 12| 0: [ExprStmt] <Expr>;
|
||||
@@ -3271,29 +3312,52 @@ funcExprs.kt:
|
||||
# 14| 0: [TypeAccess] int
|
||||
# 14| 1: [Parameter] f
|
||||
# 14| 0: [TypeAccess] FunctionN<String>
|
||||
# 14| 0: [TypeAccess] Integer
|
||||
# 14| 1: [TypeAccess] Integer
|
||||
# 14| 2: [TypeAccess] Integer
|
||||
# 14| 3: [TypeAccess] Integer
|
||||
# 14| 4: [TypeAccess] Integer
|
||||
# 14| 5: [TypeAccess] Integer
|
||||
# 14| 6: [TypeAccess] Integer
|
||||
# 14| 7: [TypeAccess] Integer
|
||||
# 14| 8: [TypeAccess] Integer
|
||||
# 14| 9: [TypeAccess] Integer
|
||||
# 14| 10: [TypeAccess] Integer
|
||||
# 14| 11: [TypeAccess] Integer
|
||||
# 14| 12: [TypeAccess] Integer
|
||||
# 14| 13: [TypeAccess] Integer
|
||||
# 14| 14: [TypeAccess] Integer
|
||||
# 14| 15: [TypeAccess] Integer
|
||||
# 14| 16: [TypeAccess] Integer
|
||||
# 14| 17: [TypeAccess] Integer
|
||||
# 14| 18: [TypeAccess] Integer
|
||||
# 14| 19: [TypeAccess] Integer
|
||||
# 14| 20: [TypeAccess] Integer
|
||||
# 14| 21: [TypeAccess] Integer
|
||||
# 14| 22: [TypeAccess] Integer
|
||||
# 14| 0: [WildcardTypeAccess] ? ...
|
||||
# 14| 1: [TypeAccess] Integer
|
||||
# 14| 1: [WildcardTypeAccess] ? ...
|
||||
# 14| 1: [TypeAccess] Integer
|
||||
# 14| 2: [WildcardTypeAccess] ? ...
|
||||
# 14| 1: [TypeAccess] Integer
|
||||
# 14| 3: [WildcardTypeAccess] ? ...
|
||||
# 14| 1: [TypeAccess] Integer
|
||||
# 14| 4: [WildcardTypeAccess] ? ...
|
||||
# 14| 1: [TypeAccess] Integer
|
||||
# 14| 5: [WildcardTypeAccess] ? ...
|
||||
# 14| 1: [TypeAccess] Integer
|
||||
# 14| 6: [WildcardTypeAccess] ? ...
|
||||
# 14| 1: [TypeAccess] Integer
|
||||
# 14| 7: [WildcardTypeAccess] ? ...
|
||||
# 14| 1: [TypeAccess] Integer
|
||||
# 14| 8: [WildcardTypeAccess] ? ...
|
||||
# 14| 1: [TypeAccess] Integer
|
||||
# 14| 9: [WildcardTypeAccess] ? ...
|
||||
# 14| 1: [TypeAccess] Integer
|
||||
# 14| 10: [WildcardTypeAccess] ? ...
|
||||
# 14| 1: [TypeAccess] Integer
|
||||
# 14| 11: [WildcardTypeAccess] ? ...
|
||||
# 14| 1: [TypeAccess] Integer
|
||||
# 14| 12: [WildcardTypeAccess] ? ...
|
||||
# 14| 1: [TypeAccess] Integer
|
||||
# 14| 13: [WildcardTypeAccess] ? ...
|
||||
# 14| 1: [TypeAccess] Integer
|
||||
# 14| 14: [WildcardTypeAccess] ? ...
|
||||
# 14| 1: [TypeAccess] Integer
|
||||
# 14| 15: [WildcardTypeAccess] ? ...
|
||||
# 14| 1: [TypeAccess] Integer
|
||||
# 14| 16: [WildcardTypeAccess] ? ...
|
||||
# 14| 1: [TypeAccess] Integer
|
||||
# 14| 17: [WildcardTypeAccess] ? ...
|
||||
# 14| 1: [TypeAccess] Integer
|
||||
# 14| 18: [WildcardTypeAccess] ? ...
|
||||
# 14| 1: [TypeAccess] Integer
|
||||
# 14| 19: [WildcardTypeAccess] ? ...
|
||||
# 14| 1: [TypeAccess] Integer
|
||||
# 14| 20: [WildcardTypeAccess] ? ...
|
||||
# 14| 1: [TypeAccess] Integer
|
||||
# 14| 21: [WildcardTypeAccess] ? ...
|
||||
# 14| 1: [TypeAccess] Integer
|
||||
# 14| 22: [WildcardTypeAccess] ? ...
|
||||
# 14| 1: [TypeAccess] Integer
|
||||
# 14| 23: [TypeAccess] String
|
||||
# 14| 5: [BlockStmt] { ... }
|
||||
# 15| 0: [ExprStmt] <Expr>;
|
||||
@@ -3335,30 +3399,54 @@ funcExprs.kt:
|
||||
# 17| 0: [TypeAccess] int
|
||||
# 17| 1: [Parameter] f
|
||||
# 17| 0: [TypeAccess] FunctionN<String>
|
||||
# 17| 0: [TypeAccess] FuncRef
|
||||
# 17| 1: [TypeAccess] Integer
|
||||
# 17| 2: [TypeAccess] Integer
|
||||
# 17| 3: [TypeAccess] Integer
|
||||
# 17| 4: [TypeAccess] Integer
|
||||
# 17| 5: [TypeAccess] Integer
|
||||
# 17| 6: [TypeAccess] Integer
|
||||
# 17| 7: [TypeAccess] Integer
|
||||
# 17| 8: [TypeAccess] Integer
|
||||
# 17| 9: [TypeAccess] Integer
|
||||
# 17| 10: [TypeAccess] Integer
|
||||
# 17| 11: [TypeAccess] Integer
|
||||
# 17| 12: [TypeAccess] Integer
|
||||
# 17| 13: [TypeAccess] Integer
|
||||
# 17| 14: [TypeAccess] Integer
|
||||
# 17| 15: [TypeAccess] Integer
|
||||
# 17| 16: [TypeAccess] Integer
|
||||
# 17| 17: [TypeAccess] Integer
|
||||
# 17| 18: [TypeAccess] Integer
|
||||
# 17| 19: [TypeAccess] Integer
|
||||
# 17| 20: [TypeAccess] Integer
|
||||
# 17| 21: [TypeAccess] Integer
|
||||
# 17| 22: [TypeAccess] Integer
|
||||
# 17| 23: [TypeAccess] Integer
|
||||
# 17| 0: [WildcardTypeAccess] ? ...
|
||||
# 17| 1: [TypeAccess] FuncRef
|
||||
# 17| 1: [WildcardTypeAccess] ? ...
|
||||
# 17| 1: [TypeAccess] Integer
|
||||
# 17| 2: [WildcardTypeAccess] ? ...
|
||||
# 17| 1: [TypeAccess] Integer
|
||||
# 17| 3: [WildcardTypeAccess] ? ...
|
||||
# 17| 1: [TypeAccess] Integer
|
||||
# 17| 4: [WildcardTypeAccess] ? ...
|
||||
# 17| 1: [TypeAccess] Integer
|
||||
# 17| 5: [WildcardTypeAccess] ? ...
|
||||
# 17| 1: [TypeAccess] Integer
|
||||
# 17| 6: [WildcardTypeAccess] ? ...
|
||||
# 17| 1: [TypeAccess] Integer
|
||||
# 17| 7: [WildcardTypeAccess] ? ...
|
||||
# 17| 1: [TypeAccess] Integer
|
||||
# 17| 8: [WildcardTypeAccess] ? ...
|
||||
# 17| 1: [TypeAccess] Integer
|
||||
# 17| 9: [WildcardTypeAccess] ? ...
|
||||
# 17| 1: [TypeAccess] Integer
|
||||
# 17| 10: [WildcardTypeAccess] ? ...
|
||||
# 17| 1: [TypeAccess] Integer
|
||||
# 17| 11: [WildcardTypeAccess] ? ...
|
||||
# 17| 1: [TypeAccess] Integer
|
||||
# 17| 12: [WildcardTypeAccess] ? ...
|
||||
# 17| 1: [TypeAccess] Integer
|
||||
# 17| 13: [WildcardTypeAccess] ? ...
|
||||
# 17| 1: [TypeAccess] Integer
|
||||
# 17| 14: [WildcardTypeAccess] ? ...
|
||||
# 17| 1: [TypeAccess] Integer
|
||||
# 17| 15: [WildcardTypeAccess] ? ...
|
||||
# 17| 1: [TypeAccess] Integer
|
||||
# 17| 16: [WildcardTypeAccess] ? ...
|
||||
# 17| 1: [TypeAccess] Integer
|
||||
# 17| 17: [WildcardTypeAccess] ? ...
|
||||
# 17| 1: [TypeAccess] Integer
|
||||
# 17| 18: [WildcardTypeAccess] ? ...
|
||||
# 17| 1: [TypeAccess] Integer
|
||||
# 17| 19: [WildcardTypeAccess] ? ...
|
||||
# 17| 1: [TypeAccess] Integer
|
||||
# 17| 20: [WildcardTypeAccess] ? ...
|
||||
# 17| 1: [TypeAccess] Integer
|
||||
# 17| 21: [WildcardTypeAccess] ? ...
|
||||
# 17| 1: [TypeAccess] Integer
|
||||
# 17| 22: [WildcardTypeAccess] ? ...
|
||||
# 17| 1: [TypeAccess] Integer
|
||||
# 17| 23: [WildcardTypeAccess] ? ...
|
||||
# 17| 1: [TypeAccess] Integer
|
||||
# 17| 24: [TypeAccess] String
|
||||
# 17| 5: [BlockStmt] { ... }
|
||||
# 18| 0: [ExprStmt] <Expr>;
|
||||
@@ -4496,8 +4584,9 @@ funcExprs.kt:
|
||||
# 58| 3: [TypeAccess] Unit
|
||||
#-----| 4: (Parameters)
|
||||
# 58| 0: [Parameter] l
|
||||
# 58| 0: [TypeAccess] Function0<T>
|
||||
# 58| 0: [TypeAccess] T
|
||||
# 58| 0: [TypeAccess] Function0<? extends T>
|
||||
# 58| 0: [WildcardTypeAccess] ? ...
|
||||
# 58| 0: [TypeAccess] T
|
||||
# 58| 5: [BlockStmt] { ... }
|
||||
# 59| 15: [ExtensionMethod] f3
|
||||
# 59| 3: [TypeAccess] int
|
||||
@@ -4685,10 +4774,11 @@ funcExprs.kt:
|
||||
# 77| 3: [TypeAccess] Unit
|
||||
#-----| 4: (Parameters)
|
||||
# 77| 0: [Parameter] f
|
||||
# 77| 0: [TypeAccess] Function1<Generic<Generic<Integer>>,String>
|
||||
# 77| 0: [TypeAccess] Generic<Generic<Integer>>
|
||||
# 77| 0: [TypeAccess] Generic<Integer>
|
||||
# 77| 0: [TypeAccess] Integer
|
||||
# 77| 0: [TypeAccess] Function1<? super Generic<Generic<Integer>>,String>
|
||||
# 77| 0: [WildcardTypeAccess] ? ...
|
||||
# 77| 1: [TypeAccess] Generic<Generic<Integer>>
|
||||
# 77| 0: [TypeAccess] Generic<Integer>
|
||||
# 77| 0: [TypeAccess] Integer
|
||||
# 77| 1: [TypeAccess] String
|
||||
# 77| 5: [BlockStmt] { ... }
|
||||
# 79| 6: [Class,GenericType,ParameterizedType] Generic
|
||||
|
||||
@@ -64,7 +64,8 @@
|
||||
| delegatedProperties.kt:11:17:11:21 | Object | delegatedProperties.kt:5:5:12:5 | fn | TypeAccess |
|
||||
| delegatedProperties.kt:11:17:11:21 | new (...) | delegatedProperties.kt:5:5:12:5 | fn | ClassInstanceExpr |
|
||||
| delegatedProperties.kt:18:5:40:5 | Unit | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| delegatedProperties.kt:18:12:18:33 | Map<String,Object> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| delegatedProperties.kt:18:12:18:33 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| delegatedProperties.kt:18:12:18:33 | Map<String,? extends Object> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| delegatedProperties.kt:18:12:18:33 | Object | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| delegatedProperties.kt:18:12:18:33 | String | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| delegatedProperties.kt:19:31:19:51 | ...::... | delegatedProperties.kt:19:31:19:51 | <get-varResource1> | PropertyRefExpr |
|
||||
@@ -148,11 +149,13 @@
|
||||
| delegatedProperties.kt:26:28:26:28 | 0 | delegatedProperties.kt:25:64:31:9 | | IntegerLiteral |
|
||||
| delegatedProperties.kt:27:22:27:88 | int | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| delegatedProperties.kt:27:35:27:47 | Object | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| delegatedProperties.kt:27:50:27:71 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| delegatedProperties.kt:27:50:27:71 | KProperty<?> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| delegatedProperties.kt:27:81:27:88 | getCurValue(...) | delegatedProperties.kt:27:22:27:88 | getValue | MethodAccess |
|
||||
| delegatedProperties.kt:27:81:27:88 | this | delegatedProperties.kt:27:22:27:88 | getValue | ThisAccess |
|
||||
| delegatedProperties.kt:28:22:30:13 | Unit | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| delegatedProperties.kt:28:35:28:47 | Object | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| delegatedProperties.kt:28:50:28:71 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| delegatedProperties.kt:28:50:28:71 | KProperty<?> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| delegatedProperties.kt:28:74:28:83 | int | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| delegatedProperties.kt:29:17:29:24 | setCurValue(...) | delegatedProperties.kt:28:22:30:13 | setValue | MethodAccess |
|
||||
@@ -280,14 +283,17 @@
|
||||
| delegatedProperties.kt:42:30:42:47 | setValue(...) | delegatedProperties.kt:42:27:42:47 | setVarResource0 | MethodAccess |
|
||||
| delegatedProperties.kt:46:14:48:5 | int | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| delegatedProperties.kt:46:27:46:41 | Owner | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| delegatedProperties.kt:46:44:46:65 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| delegatedProperties.kt:46:44:46:65 | KProperty<?> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| delegatedProperties.kt:47:16:47:16 | 1 | delegatedProperties.kt:46:14:48:5 | getValue | IntegerLiteral |
|
||||
| delegatedProperties.kt:49:14:50:5 | Unit | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| delegatedProperties.kt:49:27:49:41 | Owner | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| delegatedProperties.kt:49:44:49:65 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| delegatedProperties.kt:49:44:49:65 | KProperty<?> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| delegatedProperties.kt:49:68:49:78 | Integer | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| delegatedProperties.kt:54:14:57:5 | ResourceDelegate | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| delegatedProperties.kt:54:34:54:48 | Owner | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| delegatedProperties.kt:54:51:54:68 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| delegatedProperties.kt:54:51:54:68 | KProperty<?> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| delegatedProperties.kt:56:16:56:33 | ResourceDelegate | delegatedProperties.kt:54:14:57:5 | provideDelegate | TypeAccess |
|
||||
| delegatedProperties.kt:56:16:56:33 | new ResourceDelegate(...) | delegatedProperties.kt:54:14:57:5 | provideDelegate | ClassInstanceExpr |
|
||||
@@ -1725,14 +1731,16 @@
|
||||
| funcExprs.kt:1:42:1:44 | Unit | funcExprs.kt:1:1:1:46 | functionExpression0a | TypeAccess |
|
||||
| funcExprs.kt:1:42:1:44 | invoke(...) | funcExprs.kt:1:1:1:46 | functionExpression0a | MethodAccess |
|
||||
| funcExprs.kt:2:1:2:47 | Unit | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:2:26:2:38 | Function0<Object> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:2:26:2:38 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:2:26:2:38 | Function0<? extends Object> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:2:26:2:38 | Object | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:2:43:2:43 | f | funcExprs.kt:2:1:2:47 | functionExpression0b | VarAccess |
|
||||
| funcExprs.kt:2:43:2:45 | <implicit coercion to unit> | funcExprs.kt:2:1:2:47 | functionExpression0b | ImplicitCoercionToUnitExpr |
|
||||
| funcExprs.kt:2:43:2:45 | Unit | funcExprs.kt:2:1:2:47 | functionExpression0b | TypeAccess |
|
||||
| funcExprs.kt:2:43:2:45 | invoke(...) | funcExprs.kt:2:1:2:47 | functionExpression0b | MethodAccess |
|
||||
| funcExprs.kt:3:1:3:46 | Unit | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:3:26:3:37 | Function0<Object> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:3:26:3:37 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:3:26:3:37 | Function0<? extends Object> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:3:26:3:37 | Object | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:3:42:3:42 | f | funcExprs.kt:3:1:3:46 | functionExpression0c | VarAccess |
|
||||
| funcExprs.kt:3:42:3:44 | <implicit coercion to unit> | funcExprs.kt:3:1:3:46 | functionExpression0c | ImplicitCoercionToUnitExpr |
|
||||
@@ -1740,7 +1748,8 @@
|
||||
| funcExprs.kt:3:42:3:44 | invoke(...) | funcExprs.kt:3:1:3:46 | functionExpression0c | MethodAccess |
|
||||
| funcExprs.kt:4:1:4:58 | Unit | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:4:26:4:31 | int | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:4:34:4:48 | Function1<Integer,Integer> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:4:34:4:48 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:4:34:4:48 | Function1<? super Integer,Integer> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:4:34:4:48 | Integer | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:4:34:4:48 | Integer | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:4:53:4:53 | f | funcExprs.kt:4:1:4:58 | functionExpression1a | VarAccess |
|
||||
@@ -1750,7 +1759,8 @@
|
||||
| funcExprs.kt:4:55:4:55 | x | funcExprs.kt:4:1:4:58 | functionExpression1a | VarAccess |
|
||||
| funcExprs.kt:5:1:5:60 | Unit | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:5:26:5:31 | int | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:5:34:5:50 | Function1<Object,Object> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:5:34:5:50 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:5:34:5:50 | Function1<Object,? extends Object> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:5:34:5:50 | Object | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:5:34:5:50 | Object | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:5:55:5:55 | f | funcExprs.kt:5:1:5:60 | functionExpression1b | VarAccess |
|
||||
@@ -1760,8 +1770,10 @@
|
||||
| funcExprs.kt:5:57:5:57 | x | funcExprs.kt:5:1:5:60 | functionExpression1b | VarAccess |
|
||||
| funcExprs.kt:6:1:6:78 | Unit | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:6:26:6:31 | int | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:6:34:6:57 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:6:34:6:57 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:6:34:6:57 | FuncRef | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:6:34:6:57 | Function2<FuncRef,Integer,Integer> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:6:34:6:57 | Function2<? super FuncRef,? super Integer,Integer> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:6:34:6:57 | Integer | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:6:34:6:57 | Integer | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:6:62:6:62 | f | funcExprs.kt:6:1:6:78 | functionExpression1c | VarAccess |
|
||||
@@ -1773,7 +1785,9 @@
|
||||
| funcExprs.kt:6:75:6:75 | x | funcExprs.kt:6:1:6:78 | functionExpression1c | VarAccess |
|
||||
| funcExprs.kt:7:1:7:65 | Unit | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:7:25:7:30 | int | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:7:33:7:52 | Function2<Integer,Integer,Integer> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:7:33:7:52 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:7:33:7:52 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:7:33:7:52 | Function2<? super Integer,? super Integer,Integer> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:7:33:7:52 | Integer | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:7:33:7:52 | Integer | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:7:33:7:52 | Integer | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
@@ -1785,7 +1799,9 @@
|
||||
| funcExprs.kt:7:62:7:62 | x | funcExprs.kt:7:1:7:65 | functionExpression2 | VarAccess |
|
||||
| funcExprs.kt:8:1:8:63 | Unit | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:8:25:8:30 | int | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:8:33:8:51 | Function2<Integer,Integer,Integer> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:8:33:8:51 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:8:33:8:51 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:8:33:8:51 | Function2<? super Integer,? super Integer,Integer> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:8:33:8:51 | Integer | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:8:33:8:51 | Integer | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:8:33:8:51 | Integer | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
@@ -1797,9 +1813,12 @@
|
||||
| funcExprs.kt:8:60:8:60 | x | funcExprs.kt:8:1:8:63 | functionExpression3 | VarAccess |
|
||||
| funcExprs.kt:9:1:9:74 | Unit | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:9:25:9:30 | int | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:9:33:9:61 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:9:33:9:61 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:9:33:9:61 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:9:33:9:61 | Double | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:9:33:9:61 | Function1<Integer,Double> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:9:33:9:61 | Function1<Integer,Function1<Integer,Double>> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:9:33:9:61 | Function1<? super Integer,? extends Function1<? super Integer,Double>> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:9:33:9:61 | Function1<? super Integer,Double> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:9:33:9:61 | Integer | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:9:33:9:61 | Integer | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:9:66:9:66 | f | funcExprs.kt:9:1:9:74 | functionExpression4 | VarAccess |
|
||||
@@ -1811,7 +1830,29 @@
|
||||
| funcExprs.kt:9:71:9:71 | x | funcExprs.kt:9:1:9:74 | functionExpression4 | VarAccess |
|
||||
| funcExprs.kt:11:1:13:1 | Unit | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:11:26:11:31 | int | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | Function22<Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Unit> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | Function22<? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,? super Integer,Unit> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | Integer | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | Integer | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:11:34:11:154 | Integer | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
@@ -1861,6 +1902,29 @@
|
||||
| funcExprs.kt:12:49:12:49 | x | funcExprs.kt:11:1:13:1 | functionExpression22 | VarAccess |
|
||||
| funcExprs.kt:14:1:16:1 | Unit | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:14:26:14:31 | int | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | FunctionN<String> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | Integer | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:14:34:14:161 | Integer | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
@@ -1919,6 +1983,30 @@
|
||||
| funcExprs.kt:15:51:15:51 | x | funcExprs.kt:14:1:16:1 | functionExpression23 | VarAccess |
|
||||
| funcExprs.kt:17:1:19:1 | Unit | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:17:27:17:32 | int | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | FuncRef | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | FunctionN<String> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:17:35:17:171 | Integer | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
@@ -2733,7 +2821,8 @@
|
||||
| funcExprs.kt:55:34:55:39 | int | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:55:49:55:49 | 5 | funcExprs.kt:55:23:55:49 | invoke | IntegerLiteral |
|
||||
| funcExprs.kt:58:1:58:25 | Unit | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:58:12:58:21 | Function0<T> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:58:12:58:21 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:58:12:58:21 | Function0<? extends T> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:58:12:58:21 | T | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:59:1:59:22 | int | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:59:5:59:7 | int | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
@@ -2809,7 +2898,8 @@
|
||||
| funcExprs.kt:75:14:75:14 | Integer | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:75:20:75:20 | a | funcExprs.kt:75:12:75:22 | invoke | StringLiteral |
|
||||
| funcExprs.kt:77:13:77:60 | Unit | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:77:20:77:55 | Function1<Generic<Generic<Integer>>,String> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:77:20:77:55 | ? ... | file://:0:0:0:0 | <none> | WildcardTypeAccess |
|
||||
| funcExprs.kt:77:20:77:55 | Function1<? super Generic<Generic<Integer>>,String> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:77:20:77:55 | Generic<Generic<Integer>> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:77:20:77:55 | Generic<Integer> | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
| funcExprs.kt:77:20:77:55 | Integer | file://:0:0:0:0 | <none> | TypeAccess |
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
| test.kt:4:5:4:138 | f1 | FunctionN<String> | String |
|
||||
| test.kt:5:5:5:134 | f2 | FunctionN<T1> | T1 |
|
||||
| test.kt:6:5:6:110 | f3 | FunctionN<T3> | T3 |
|
||||
| test.kt:5:5:5:134 | f2 | FunctionN<? extends T1> | ? extends T1 |
|
||||
| test.kt:6:5:6:110 | f3 | FunctionN<? extends T3> | ? extends T3 |
|
||||
|
||||
@@ -372,7 +372,7 @@ methodWithDuplicate
|
||||
| Map<String,String> | replace | String |
|
||||
| Map<String,String> | replaceAll | BiFunction<? super String,? super String,? extends String> |
|
||||
| MutableCollection | add | E |
|
||||
| MutableCollection | addAll | Collection |
|
||||
| MutableCollection | addAll | Collection<? extends E> |
|
||||
| MutableCollection | remove | Object |
|
||||
| MutableCollection | removeAll | Collection<?> |
|
||||
| MutableCollection | removeIf | Predicate<? super E> |
|
||||
@@ -380,7 +380,6 @@ methodWithDuplicate
|
||||
| MutableList | add | E |
|
||||
| MutableList | add | int |
|
||||
| MutableList | addAll | Collection<? extends E> |
|
||||
| MutableList | addAll | Collection<E> |
|
||||
| MutableList | addAll | int |
|
||||
| MutableList | listIterator | int |
|
||||
| MutableList | remove | Object |
|
||||
@@ -403,7 +402,7 @@ methodWithDuplicate
|
||||
| MutableMap | merge | V |
|
||||
| MutableMap | put | K |
|
||||
| MutableMap | put | V |
|
||||
| MutableMap | putAll | Map<? extends K,V> |
|
||||
| MutableMap | putAll | Map<? extends K,? extends V> |
|
||||
| MutableMap | putIfAbsent | K |
|
||||
| MutableMap | putIfAbsent | V |
|
||||
| MutableMap | remove | Object |
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
| PropertyReferenceDelegatesKt | getValue(KProperty0<V>, Object, KProperty<?>) |
|
||||
| PropertyReferenceDelegatesKt | getValue(KProperty1<T,V>, T, KProperty<?>) |
|
||||
| PropertyReferenceDelegatesKt | getValue(KProperty0<? extends V>, Object, KProperty<?>) |
|
||||
| PropertyReferenceDelegatesKt | getValue(KProperty1<T,? extends V>, T, KProperty<?>) |
|
||||
| StringsKt | removePrefix(String, CharSequence) |
|
||||
| StringsKt | startsWith(String, String, boolean) |
|
||||
|
||||
@@ -211,9 +211,11 @@ reflection.kt:
|
||||
# 102| 0: [Parameter] l
|
||||
# 102| 0: [TypeAccess] T
|
||||
# 102| 1: [Parameter] transform
|
||||
# 102| 0: [TypeAccess] Function1<T,R>
|
||||
# 102| 0: [TypeAccess] T
|
||||
# 102| 1: [TypeAccess] R
|
||||
# 102| 0: [TypeAccess] Function1<? super T,? extends R>
|
||||
# 102| 0: [WildcardTypeAccess] ? ...
|
||||
# 102| 1: [TypeAccess] T
|
||||
# 102| 1: [WildcardTypeAccess] ? ...
|
||||
# 102| 0: [TypeAccess] R
|
||||
# 102| 5: [BlockStmt] { ... }
|
||||
# 103| 8: [Method] fn12
|
||||
#-----| 2: (Generic Parameters)
|
||||
@@ -224,9 +226,11 @@ reflection.kt:
|
||||
# 103| 0: [Parameter] l
|
||||
# 103| 0: [TypeAccess] T1
|
||||
# 103| 1: [Parameter] l2
|
||||
# 103| 0: [TypeAccess] Function1<T1,R>
|
||||
# 103| 0: [TypeAccess] T1
|
||||
# 103| 1: [TypeAccess] R
|
||||
# 103| 0: [TypeAccess] Function1<? super T1,? extends R>
|
||||
# 103| 0: [WildcardTypeAccess] ? ...
|
||||
# 103| 1: [TypeAccess] T1
|
||||
# 103| 1: [WildcardTypeAccess] ? ...
|
||||
# 103| 0: [TypeAccess] R
|
||||
# 103| 5: [BlockStmt] { ... }
|
||||
# 121| 9: [Method] fn1
|
||||
# 121| 3: [TypeAccess] int
|
||||
@@ -557,6 +561,7 @@ reflection.kt:
|
||||
#-----| 4: (Parameters)
|
||||
# 24| 0: [Parameter] it
|
||||
# 24| 0: [TypeAccess] KCallable<?>
|
||||
# 24| 0: [WildcardTypeAccess] ? ...
|
||||
# 24| 5: [BlockStmt] { ... }
|
||||
# 24| 0: [ReturnStmt] return ...
|
||||
# 24| 0: [ValueEQExpr] ... (value equals) ...
|
||||
|
||||
Reference in New Issue
Block a user