fix property and accessor locations using PSI

K1 IrProperty.startOffset includes leading modifiers (private, abstract,
lateinit, annotations) in the span start; K2 already starts at val/var.
Walk the PSI tree from p.startOffset to the enclosing KtProperty, then use
valOrVarKeyword.startOffset as the declaration start, giving a consistent
start in both K1 and K2.

Two related but distinct locations are derived from the KtProperty:

- The property itself spans val/var through the end of the full
  declaration (KtProperty.endOffset), including an explicit getter/setter
  body on a following line. This is getPsiBasedLocation(IrProperty).
- Synthesised accessors (DEFAULT_PROPERTY_ACCESSOR origin) span val/var
  through the end of the property name (KtProperty.nameIdentifier.endOffset)
  via getPsiBasedAccessorLocation, applied through accessorOverride().
  Explicit getter/setter bodies keep their own independently computed
  location.

This makes K1 accessor locations match K2 and gives each synthesised
accessor a precise span, rather than the property's full declaration span.

Example (properties.kt line 3, "var modifiableInt = 1"):
  property  modifiableInt     -> 3:5:3:25   (val/var .. end of "= 1")
  accessor  getModifiableInt  -> 3:5:3:21   (val/var .. end of name)
  accessor  setModifiableInt  -> 3:5:3:21

Because accessor locations appear wherever accessors are reported, this
refinement updates many expected files (property listings, modifiers,
methods, reflection, control-flow and expression dumps). Every change is a
location-coordinate change only: no result tuple is added or removed.

The PSI-based location is restricted to unspecialised extractions
(classTypeArgsIncludingOuterClasses.isNullOrEmpty()). Specialised generic
instances (e.g. C<String>.prop) continue to use the binary whole-file
location returned by getLocation(p, typeArgs), preserving the existing
behaviour that keeps them absent from fromSource() queries.

The visibility merge in extractFunction is extended to accept an
overriddenAttributes parameter from the caller; the internal fake-override
visibility adjustment (DescriptorVisibilities.PUBLIC for Java binary Object
methods) is merged with any caller-supplied attributes so that neither
overrides the other silently.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Anders Fugmann
2026-07-08 10:52:14 +02:00
parent 19092fbed7
commit 7eb71807cd
28 changed files with 497 additions and 432 deletions

View File

@@ -1748,7 +1748,8 @@ open class KotlinFileExtractor(
extractMethodAndParameterTypeAccesses: Boolean,
extractAnnotations: Boolean,
typeSubstitution: TypeSubstitution?,
classTypeArgsIncludingOuterClasses: List<IrTypeArgument>?
classTypeArgsIncludingOuterClasses: List<IrTypeArgument>?,
overriddenAttributes: OverriddenFunctionAttributes? = null
) =
if (isFake(f)) {
if (needsInterfaceForwarder(f))
@@ -1766,8 +1767,18 @@ open class KotlinFileExtractor(
// specifically in interfaces loaded from Java classes show up like fake overrides.
val overriddenVisibility =
if (f.isFakeOverride && isJavaBinaryObjectMethodRedeclaration(f))
OverriddenFunctionAttributes(visibility = DescriptorVisibilities.PUBLIC)
DescriptorVisibilities.PUBLIC
else null
// Merge caller-supplied overrides with the internal visibility adjustment.
val mergedAttributes = when {
overriddenAttributes == null && overriddenVisibility == null -> null
overriddenAttributes == null -> OverriddenFunctionAttributes(visibility = overriddenVisibility)
overriddenVisibility == null -> overriddenAttributes
else -> overriddenAttributes.copy(
visibility = overriddenVisibility.takeUnless { overriddenAttributes.visibility != null }
?: overriddenAttributes.visibility
)
}
forceExtractFunction(
f,
parentId,
@@ -1776,7 +1787,7 @@ open class KotlinFileExtractor(
extractAnnotations,
typeSubstitution,
classTypeArgsIncludingOuterClasses,
overriddenAttributes = overriddenVisibility
overriddenAttributes = mergedAttributes
)
.also {
// The defaults-forwarder function is a static utility, not a member, so we only
@@ -2659,9 +2670,14 @@ open class KotlinFileExtractor(
DeclarationStackAdjuster(p).use {
val id = useProperty(p, parentId, classTypeArgsIncludingOuterClasses)
// PSI location is only used for the primary (unspecialised) extraction. Specialised
// generic instances defer to getLocation so that the backing binary-file location is
// preserved, keeping specialised properties absent from fromSource() queries.
val locId =
if (usesK2) getPsiBasedLocation(p) ?: getLocation(p, classTypeArgsIncludingOuterClasses)
else getLocation(p, classTypeArgsIncludingOuterClasses)
if (classTypeArgsIncludingOuterClasses.isNullOrEmpty())
getPsiBasedLocation(p) ?: getLocation(p, classTypeArgsIncludingOuterClasses)
else
getLocation(p, classTypeArgsIncludingOuterClasses)
tw.writeKtProperties(id, p.name.asString())
tw.writeHasLocation(id, locId)
@@ -2669,6 +2685,13 @@ open class KotlinFileExtractor(
val getter = p.getter
val setter = p.setter
// Synthesised (DEFAULT_PROPERTY_ACCESSOR) getter and setter should point
// at the property head, not the initialiser or custom accessor body.
fun accessorOverride(f: IrFunction) =
if (f.origin == IrDeclarationOrigin.DEFAULT_PROPERTY_ACCESSOR)
getPsiBasedAccessorLocation(p)?.let { OverriddenFunctionAttributes(sourceLoc = it) }
else null
if (getter == null) {
if (!isExternalDeclaration(p)) {
logger.warnElement("IrProperty without a getter", p)
@@ -2682,7 +2705,8 @@ open class KotlinFileExtractor(
extractMethodAndParameterTypeAccesses = extractFunctionBodies,
extractAnnotations = extractAnnotations,
typeSubstitution,
classTypeArgsIncludingOuterClasses
classTypeArgsIncludingOuterClasses,
overriddenAttributes = accessorOverride(getter)
)
?.cast<DbMethod>()
if (getterId != null) {
@@ -2712,7 +2736,8 @@ open class KotlinFileExtractor(
extractMethodAndParameterTypeAccesses = extractFunctionBodies,
extractAnnotations = extractAnnotations,
typeSubstitution,
classTypeArgsIncludingOuterClasses
classTypeArgsIncludingOuterClasses,
overriddenAttributes = accessorOverride(setter)
)
?.cast<DbMethod>()
if (setterId != null) {
@@ -2928,6 +2953,46 @@ open class KotlinFileExtractor(
return tw.getLocation(declStart, declaration.endOffset)
}
/**
* Returns the PSI-based location for a property declaration, spanning from
* the `val`/`var` keyword to the end of the full property declaration (including
* any explicit getter/setter body).
*
* IR offsets are inconsistent across K1 and K2:
* - K1 [IrProperty.startOffset] includes leading modifiers (private, abstract,
* lateinit, @Annotation) in the span start. K2 starts at `val`/`var`.
* - K1 [IrProperty.endOffset] stops at the end of the declaration line and
* does not include an explicit getter/setter body on a subsequent line. K2
* includes the getter/setter body.
*
* Both are resolved by walking the PSI tree: the [KtProperty] node covers the
* full declaration including getter/setter, and [KtProperty.valOrVarKeyword]
* gives the correct start, excluding modifiers.
*/
private fun getPsiBasedLocation(p: IrProperty): Label<DbLocation>? {
if (p.startOffset < 0 || p.endOffset < 0) return null
val file = currentIrFile ?: return null
val ktFile = getPsi2Ir()?.getKtFile(file) ?: return null
val ktProperty = ktFile.findElementAt(p.startOffset)
?.let { leaf -> generateSequence(leaf) { it.parent }.filterIsInstance<KtProperty>().firstOrNull() }
?: return null
val declStart = ktProperty.valOrVarKeyword.startOffset
val declEnd = ktProperty.endOffset
return tw.getLocation(declStart, declEnd)
}
private fun getPsiBasedAccessorLocation(p: IrProperty): Label<DbLocation>? {
if (p.startOffset < 0 || p.endOffset < 0) return null
val file = currentIrFile ?: return null
val ktFile = getPsi2Ir()?.getKtFile(file) ?: return null
val ktProperty = ktFile.findElementAt(p.startOffset)
?.let { leaf -> generateSequence(leaf) { it.parent }.filterIsInstance<KtProperty>().firstOrNull() }
?: return null
val declStart = ktProperty.valOrVarKeyword.startOffset
val declEnd = ktProperty.nameIdentifier?.endOffset ?: ktProperty.valOrVarKeyword.endOffset
return tw.getLocation(declStart, declEnd)
}
private fun extractVariable(
v: IrVariable,
callable: Label<out DbCallable>,
@@ -2954,7 +3019,7 @@ open class KotlinFileExtractor(
with("variable expr", v) {
val varId = useVariable(v)
val exprId = tw.getFreshIdLabel<DbLocalvariabledeclexpr>()
val locId = getPsiBasedLocation(v) ?: tw.getLocation(getVariableLocationProvider(v))
val locId = getPsiBasedLocation(v as IrElement) ?: tw.getLocation(getVariableLocationProvider(v))
val type = useType(v.type)
tw.writeLocalvars(varId, v.name.asString(), type.javaResult.id, exprId)
tw.writeLocalvarsKotlinType(varId, type.kotlinResult.id)

View File

@@ -32,8 +32,8 @@ annotations
| def.kt:41:5:41:12 | Annot0k | def.kt:42:5:42:19 | Z | def.kt:5:1:21:60 | Annot0k |
| def.kt:45:1:45:8 | Annot0k | def.kt:46:1:51:1 | fn | def.kt:5:1:21:60 | Annot0k |
| def.kt:46:21:46:28 | Annot0k | def.kt:46:21:46:39 | a | def.kt:5:1:21:60 | Annot0k |
| def.kt:54:1:54:12 | Annot0k | def.kt:57:1:57:23 | getP | def.kt:5:1:21:60 | Annot0k |
| def.kt:55:1:55:12 | Annot0k | def.kt:57:1:57:23 | setP | def.kt:5:1:21:60 | Annot0k |
| def.kt:54:1:54:12 | Annot0k | def.kt:57:1:57:5 | getP | def.kt:5:1:21:60 | Annot0k |
| def.kt:55:1:55:12 | Annot0k | def.kt:57:1:57:5 | setP | def.kt:5:1:21:60 | Annot0k |
| def.kt:56:1:56:14 | Annot0k | def.kt:53:1:57:23 | p | def.kt:5:1:21:60 | Annot0k |
| def.kt:59:5:59:21 | Annot0k | def.kt:59:5:59:28 | <this> | def.kt:5:1:21:60 | Annot0k |
| use.java:10:5:10:21 | Annot0j | use.java:14:18:14:18 | Z | Annot0j.java:1:19:1:25 | Annot0j |

View File

@@ -1,8 +1,8 @@
| Test.java:2:17:2:17 | m | m | m |
| test.kt:4:9:4:18 | getX_prop | getX_prop | getX |
| test.kt:6:5:6:19 | getX | getX | getX |
| test.kt:10:5:10:19 | changeY | changeY | setY |
| test.kt:10:5:10:19 | y | y | getY |
| test.kt:10:5:10:9 | changeY | changeY | setY |
| test.kt:10:5:10:9 | y | y | getY |
| test.kt:13:5:13:15 | method | method | fn |
| test.kt:17:5:17:14 | p | p | p |
| test.kt:18:23:18:32 | w | w | q |

View File

@@ -11,15 +11,15 @@
| generic_anonymous.kt:3:3:5:3 | new Object(...) { ... } | new Object(...) { ... } |
| generic_anonymous.kt:3:3:5:3 | this | Generic |
| generic_anonymous.kt:3:3:5:3 | x | new Object(...) { ... } |
| generic_anonymous.kt:3:11:5:3 | T | T |
| generic_anonymous.kt:3:11:5:3 | new Object(...) { ... } | new Object(...) { ... } |
| generic_anonymous.kt:3:11:3:15 | T | T |
| generic_anonymous.kt:3:11:3:15 | new Object(...) { ... } | new Object(...) { ... } |
| generic_anonymous.kt:3:11:5:3 | this.x | new Object(...) { ... } |
| generic_anonymous.kt:3:19:5:3 | <Stmt> | new Object(...) { ... } |
| generic_anonymous.kt:3:19:5:3 | Object | Object |
| generic_anonymous.kt:3:19:5:3 | new (...) | new Object(...) { ... } |
| generic_anonymous.kt:4:7:4:16 | T | T |
| generic_anonymous.kt:4:7:4:20 | ...=... | T |
| generic_anonymous.kt:4:7:4:20 | T | T |
| generic_anonymous.kt:4:7:4:20 | T | T |
| generic_anonymous.kt:4:7:4:20 | member | T |
| generic_anonymous.kt:4:7:4:20 | this | new Object(...) { ... } |
| generic_anonymous.kt:4:7:4:20 | this.member | T |

View File

@@ -19,8 +19,8 @@ comments
commentOwners
| comments.kt:4:1:11:3 | /**\n * A group of *members*.\n *\n * This class has no useful logic; it's just a documentation example.\n *\n * @property name the name of this group.\n * @constructor Creates an empty group.\n */ | comments.kt:12:1:31:1 | Group |
| comments.kt:14:5:16:7 | /**\n * Members of this group.\n */ | comments.kt:17:5:17:46 | members |
| comments.kt:14:5:16:7 | /**\n * Members of this group.\n */ | comments.kt:17:5:17:46 | members |
| comments.kt:14:5:16:7 | /**\n * Members of this group.\n */ | comments.kt:17:13:17:46 | getMembers$private |
| comments.kt:14:5:16:7 | /**\n * Members of this group.\n */ | comments.kt:17:13:17:23 | getMembers$private |
| comments.kt:14:5:16:7 | /**\n * Members of this group.\n */ | comments.kt:17:13:17:46 | members |
| comments.kt:19:5:22:7 | /**\n * Adds a [member] to this group.\n * @return the new size of the group.\n */ | comments.kt:23:5:26:5 | add |
| comments.kt:35:5:35:34 | /** Medium is in the middle */ | comments.kt:36:5:36:14 | Medium |
| comments.kt:37:5:37:23 | /** This is high */ | comments.kt:38:5:38:11 | High |
@@ -28,7 +28,7 @@ commentOwners
| comments.kt:54:5:56:7 | /**\n * An init block comment\n */ | comments.kt:53:1:58:1 | InitBlock |
| comments.kt:61:5:63:7 | /**\n * A prop comment\n */ | comments.kt:64:5:68:17 | prop |
| comments.kt:65:9:67:11 | /**\n * An accessor comment\n */ | comments.kt:68:9:68:17 | getProp |
| comments.kt:71:9:73:11 | /**\n * An anonymous function comment\n */ | comments.kt:70:5:76:10 | getL |
| comments.kt:71:9:73:11 | /**\n * An anonymous function comment\n */ | comments.kt:70:5:70:9 | getL |
| comments.kt:71:9:73:11 | /**\n * An anonymous function comment\n */ | comments.kt:70:5:76:10 | l |
| comments.kt:71:9:73:11 | /**\n * An anonymous function comment\n */ | comments.kt:70:5:76:10 | l |
| comments.kt:79:9:81:11 | /**\n * A local function comment\n */ | comments.kt:82:9:82:24 | localFn |

View File

@@ -10,28 +10,28 @@
| Test.kt:4:2:79:2 | Entry | 0 | Test.kt:4:2:79:2 | Entry |
| Test.kt:4:2:79:2 | Entry | 1 | Test.kt:4:13:79:2 | { ... } |
| Test.kt:4:2:79:2 | Entry | 2 | Test.kt:5:3:5:16 | var ...; |
| Test.kt:4:2:79:2 | Entry | 3 | Test.kt:5:3:5:16 | Before x |
| Test.kt:4:2:79:2 | Entry | 3 | Test.kt:5:7:5:7 | Before x |
| Test.kt:4:2:79:2 | Entry | 4 | Test.kt:5:16:5:16 | 0 |
| Test.kt:4:2:79:2 | Entry | 5 | Test.kt:5:3:5:16 | x |
| Test.kt:4:2:79:2 | Entry | 6 | Test.kt:5:3:5:16 | After x |
| Test.kt:4:2:79:2 | Entry | 5 | Test.kt:5:7:5:7 | x |
| Test.kt:4:2:79:2 | Entry | 6 | Test.kt:5:7:5:7 | After x |
| Test.kt:4:2:79:2 | Entry | 7 | Test.kt:5:3:5:16 | After var ...; |
| Test.kt:4:2:79:2 | Entry | 8 | Test.kt:6:3:6:18 | var ...; |
| Test.kt:4:2:79:2 | Entry | 9 | Test.kt:6:3:6:18 | Before y |
| Test.kt:4:2:79:2 | Entry | 9 | Test.kt:6:7:6:7 | Before y |
| Test.kt:4:2:79:2 | Entry | 10 | Test.kt:6:17:6:18 | 50 |
| Test.kt:4:2:79:2 | Entry | 11 | Test.kt:6:3:6:18 | y |
| Test.kt:4:2:79:2 | Entry | 12 | Test.kt:6:3:6:18 | After y |
| Test.kt:4:2:79:2 | Entry | 11 | Test.kt:6:7:6:7 | y |
| Test.kt:4:2:79:2 | Entry | 12 | Test.kt:6:7:6:7 | After y |
| Test.kt:4:2:79:2 | Entry | 13 | Test.kt:6:3:6:18 | After var ...; |
| Test.kt:4:2:79:2 | Entry | 14 | Test.kt:7:3:7:16 | var ...; |
| Test.kt:4:2:79:2 | Entry | 15 | Test.kt:7:3:7:16 | Before z |
| Test.kt:4:2:79:2 | Entry | 15 | Test.kt:7:7:7:7 | Before z |
| Test.kt:4:2:79:2 | Entry | 16 | Test.kt:7:16:7:16 | 0 |
| Test.kt:4:2:79:2 | Entry | 17 | Test.kt:7:3:7:16 | z |
| Test.kt:4:2:79:2 | Entry | 18 | Test.kt:7:3:7:16 | After z |
| Test.kt:4:2:79:2 | Entry | 17 | Test.kt:7:7:7:7 | z |
| Test.kt:4:2:79:2 | Entry | 18 | Test.kt:7:7:7:7 | After z |
| Test.kt:4:2:79:2 | Entry | 19 | Test.kt:7:3:7:16 | After var ...; |
| Test.kt:4:2:79:2 | Entry | 20 | Test.kt:8:3:8:16 | var ...; |
| Test.kt:4:2:79:2 | Entry | 21 | Test.kt:8:3:8:16 | Before w |
| Test.kt:4:2:79:2 | Entry | 21 | Test.kt:8:7:8:7 | Before w |
| Test.kt:4:2:79:2 | Entry | 22 | Test.kt:8:16:8:16 | 0 |
| Test.kt:4:2:79:2 | Entry | 23 | Test.kt:8:3:8:16 | w |
| Test.kt:4:2:79:2 | Entry | 24 | Test.kt:8:3:8:16 | After w |
| Test.kt:4:2:79:2 | Entry | 23 | Test.kt:8:7:8:7 | w |
| Test.kt:4:2:79:2 | Entry | 24 | Test.kt:8:7:8:7 | After w |
| Test.kt:4:2:79:2 | Entry | 25 | Test.kt:8:3:8:16 | After var ...; |
| Test.kt:4:2:79:2 | Entry | 26 | Test.kt:11:3:16:3 | <Expr>; |
| Test.kt:4:2:79:2 | Entry | 27 | Test.kt:11:3:16:3 | when ... |
@@ -222,15 +222,15 @@
| Test.kt:82:1:89:1 | Entry | 2 | Test.kt:83:2:88:2 | try ... |
| Test.kt:82:1:89:1 | Entry | 3 | Test.kt:83:6:86:2 | { ... } |
| Test.kt:82:1:89:1 | Entry | 4 | Test.kt:84:3:84:18 | var ...; |
| Test.kt:82:1:89:1 | Entry | 5 | Test.kt:84:3:84:18 | Before x |
| Test.kt:82:1:89:1 | Entry | 5 | Test.kt:84:7:84:7 | Before x |
| Test.kt:82:1:89:1 | Entry | 6 | Test.kt:84:11:84:18 | Before (...)... |
| Test.kt:82:1:89:1 | Entry | 7 | Test.kt:84:11:84:11 | o |
| Test.kt:82:1:89:1 | Entry | 8 | Test.kt:84:11:84:18 | (...)... |
| Test.kt:82:1:89:1 | Exit | 0 | Test.kt:82:1:89:1 | Exit |
| Test.kt:82:1:89:1 | Normal Exit | 0 | Test.kt:82:1:89:1 | Normal Exit |
| Test.kt:84:11:84:18 | After (...)... | 0 | Test.kt:84:11:84:18 | After (...)... |
| Test.kt:84:11:84:18 | After (...)... | 1 | Test.kt:84:3:84:18 | x |
| Test.kt:84:11:84:18 | After (...)... | 2 | Test.kt:84:3:84:18 | After x |
| Test.kt:84:11:84:18 | After (...)... | 1 | Test.kt:84:7:84:7 | x |
| Test.kt:84:11:84:18 | After (...)... | 2 | Test.kt:84:7:84:7 | After x |
| Test.kt:84:11:84:18 | After (...)... | 3 | Test.kt:84:3:84:18 | After var ...; |
| Test.kt:84:11:84:18 | After (...)... | 4 | Test.kt:85:3:85:10 | Before return ... |
| Test.kt:84:11:84:18 | After (...)... | 5 | Test.kt:85:10:85:10 | 1 |
@@ -250,15 +250,15 @@
| Test.kt:91:1:98:1 | Entry | 2 | Test.kt:92:2:97:2 | try ... |
| Test.kt:91:1:98:1 | Entry | 3 | Test.kt:92:6:95:2 | { ... } |
| Test.kt:91:1:98:1 | Entry | 4 | Test.kt:93:3:93:13 | var ...; |
| Test.kt:91:1:98:1 | Entry | 5 | Test.kt:93:3:93:13 | Before x |
| Test.kt:91:1:98:1 | Entry | 5 | Test.kt:93:7:93:7 | Before x |
| Test.kt:91:1:98:1 | Entry | 6 | Test.kt:93:11:93:13 | Before ...!! |
| Test.kt:91:1:98:1 | Entry | 7 | Test.kt:93:11:93:11 | o |
| Test.kt:91:1:98:1 | Entry | 8 | Test.kt:93:11:93:13 | ...!! |
| Test.kt:91:1:98:1 | Exit | 0 | Test.kt:91:1:98:1 | Exit |
| Test.kt:91:1:98:1 | Normal Exit | 0 | Test.kt:91:1:98:1 | Normal Exit |
| Test.kt:93:11:93:13 | After ...!! | 0 | Test.kt:93:11:93:13 | After ...!! |
| Test.kt:93:11:93:13 | After ...!! | 1 | Test.kt:93:3:93:13 | x |
| Test.kt:93:11:93:13 | After ...!! | 2 | Test.kt:93:3:93:13 | After x |
| Test.kt:93:11:93:13 | After ...!! | 1 | Test.kt:93:7:93:7 | x |
| Test.kt:93:11:93:13 | After ...!! | 2 | Test.kt:93:7:93:7 | After x |
| Test.kt:93:11:93:13 | After ...!! | 3 | Test.kt:93:3:93:13 | After var ...; |
| Test.kt:93:11:93:13 | After ...!! | 4 | Test.kt:94:3:94:10 | Before return ... |
| Test.kt:93:11:93:13 | After ...!! | 5 | Test.kt:94:10:94:10 | 1 |

View File

@@ -30,7 +30,7 @@
| Test.kt:82:21:89:1 | { ... } | Test.kt:82:1:89:1 | Exceptional Exit |
| Test.kt:82:21:89:1 | { ... } | Test.kt:82:1:89:1 | Exit |
| Test.kt:82:21:89:1 | { ... } | Test.kt:82:1:89:1 | Normal Exit |
| Test.kt:82:21:89:1 | { ... } | Test.kt:84:3:84:18 | x |
| Test.kt:82:21:89:1 | { ... } | Test.kt:84:7:84:7 | x |
| Test.kt:82:21:89:1 | { ... } | Test.kt:86:4:88:2 | catch (...) |
| Test.kt:82:21:89:1 | { ... } | Test.kt:86:34:88:2 | { ... } |
| Test.kt:86:4:88:2 | catch (...) | Test.kt:82:1:89:1 | Exceptional Exit |
@@ -38,7 +38,7 @@
| Test.kt:91:22:98:1 | { ... } | Test.kt:91:1:98:1 | Exceptional Exit |
| Test.kt:91:22:98:1 | { ... } | Test.kt:91:1:98:1 | Exit |
| Test.kt:91:22:98:1 | { ... } | Test.kt:91:1:98:1 | Normal Exit |
| Test.kt:91:22:98:1 | { ... } | Test.kt:93:3:93:13 | x |
| Test.kt:91:22:98:1 | { ... } | Test.kt:93:7:93:7 | x |
| Test.kt:91:22:98:1 | { ... } | Test.kt:95:4:97:2 | catch (...) |
| Test.kt:91:22:98:1 | { ... } | Test.kt:95:36:97:2 | { ... } |
| Test.kt:95:4:97:2 | catch (...) | Test.kt:91:1:98:1 | Exceptional Exit |

View File

@@ -16,17 +16,17 @@
| Test.kt:43:3:43:3 | <Expr>; | Test.kt:4:2:79:2 | Normal Exit |
| Test.kt:82:1:89:1 | Exceptional Exit | Test.kt:82:1:89:1 | Exit |
| Test.kt:82:1:89:1 | Normal Exit | Test.kt:82:1:89:1 | Exit |
| Test.kt:82:21:89:1 | { ... } | Test.kt:84:3:84:18 | x |
| Test.kt:82:21:89:1 | { ... } | Test.kt:84:7:84:7 | x |
| Test.kt:82:21:89:1 | { ... } | Test.kt:86:4:88:2 | catch (...) |
| Test.kt:84:3:84:18 | x | Test.kt:82:1:89:1 | Normal Exit |
| Test.kt:84:7:84:7 | x | Test.kt:82:1:89:1 | Normal Exit |
| Test.kt:86:4:88:2 | catch (...) | Test.kt:82:1:89:1 | Exceptional Exit |
| Test.kt:86:4:88:2 | catch (...) | Test.kt:86:34:88:2 | { ... } |
| Test.kt:86:34:88:2 | { ... } | Test.kt:82:1:89:1 | Normal Exit |
| Test.kt:91:1:98:1 | Exceptional Exit | Test.kt:91:1:98:1 | Exit |
| Test.kt:91:1:98:1 | Normal Exit | Test.kt:91:1:98:1 | Exit |
| Test.kt:91:22:98:1 | { ... } | Test.kt:93:3:93:13 | x |
| Test.kt:91:22:98:1 | { ... } | Test.kt:93:7:93:7 | x |
| Test.kt:91:22:98:1 | { ... } | Test.kt:95:4:97:2 | catch (...) |
| Test.kt:93:3:93:13 | x | Test.kt:91:1:98:1 | Normal Exit |
| Test.kt:93:7:93:7 | x | Test.kt:91:1:98:1 | Normal Exit |
| Test.kt:95:4:97:2 | catch (...) | Test.kt:91:1:98:1 | Exceptional Exit |
| Test.kt:95:4:97:2 | catch (...) | Test.kt:95:36:97:2 | { ... } |
| Test.kt:95:36:97:2 | { ... } | Test.kt:91:1:98:1 | Normal Exit |

View File

@@ -8,17 +8,17 @@
| Test.kt:4:2:79:2 | Normal Exit | Method | Test.kt:4:2:79:2 | Exit | Method |
| Test.kt:4:13:79:2 | { ... } | BlockStmt | Test.kt:5:3:5:16 | var ...; | LocalVariableDeclStmt |
| Test.kt:5:3:5:16 | var ...; | LocalVariableDeclStmt | Test.kt:5:16:5:16 | 0 | IntegerLiteral |
| Test.kt:5:3:5:16 | x | LocalVariableDeclExpr | Test.kt:6:3:6:18 | var ...; | LocalVariableDeclStmt |
| Test.kt:5:16:5:16 | 0 | IntegerLiteral | Test.kt:5:3:5:16 | x | LocalVariableDeclExpr |
| Test.kt:5:7:5:7 | x | LocalVariableDeclExpr | Test.kt:6:3:6:18 | var ...; | LocalVariableDeclStmt |
| Test.kt:5:16:5:16 | 0 | IntegerLiteral | Test.kt:5:7:5:7 | x | LocalVariableDeclExpr |
| Test.kt:6:3:6:18 | var ...; | LocalVariableDeclStmt | Test.kt:6:17:6:18 | 50 | LongLiteral |
| Test.kt:6:3:6:18 | y | LocalVariableDeclExpr | Test.kt:7:3:7:16 | var ...; | LocalVariableDeclStmt |
| Test.kt:6:17:6:18 | 50 | LongLiteral | Test.kt:6:3:6:18 | y | LocalVariableDeclExpr |
| Test.kt:6:7:6:7 | y | LocalVariableDeclExpr | Test.kt:7:3:7:16 | var ...; | LocalVariableDeclStmt |
| Test.kt:6:17:6:18 | 50 | LongLiteral | Test.kt:6:7:6:7 | y | LocalVariableDeclExpr |
| Test.kt:7:3:7:16 | var ...; | LocalVariableDeclStmt | Test.kt:7:16:7:16 | 0 | IntegerLiteral |
| Test.kt:7:3:7:16 | z | LocalVariableDeclExpr | Test.kt:8:3:8:16 | var ...; | LocalVariableDeclStmt |
| Test.kt:7:16:7:16 | 0 | IntegerLiteral | Test.kt:7:3:7:16 | z | LocalVariableDeclExpr |
| Test.kt:7:7:7:7 | z | LocalVariableDeclExpr | Test.kt:8:3:8:16 | var ...; | LocalVariableDeclStmt |
| Test.kt:7:16:7:16 | 0 | IntegerLiteral | Test.kt:7:7:7:7 | z | LocalVariableDeclExpr |
| Test.kt:8:3:8:16 | var ...; | LocalVariableDeclStmt | Test.kt:8:16:8:16 | 0 | IntegerLiteral |
| Test.kt:8:3:8:16 | w | LocalVariableDeclExpr | Test.kt:11:3:16:3 | <Expr>; | ExprStmt |
| Test.kt:8:16:8:16 | 0 | IntegerLiteral | Test.kt:8:3:8:16 | w | LocalVariableDeclExpr |
| Test.kt:8:7:8:7 | w | LocalVariableDeclExpr | Test.kt:11:3:16:3 | <Expr>; | ExprStmt |
| Test.kt:8:16:8:16 | 0 | IntegerLiteral | Test.kt:8:7:8:7 | w | LocalVariableDeclExpr |
| Test.kt:11:3:16:3 | ... -> ... | WhenBranch | Test.kt:11:3:16:3 | true | BooleanLiteral |
| Test.kt:11:3:16:3 | ... -> ... | WhenBranch | Test.kt:11:7:11:7 | x | VarAccess |
| Test.kt:11:3:16:3 | <Expr>; | ExprStmt | Test.kt:11:3:16:3 | when ... | WhenExpr |
@@ -130,9 +130,9 @@
| Test.kt:83:2:88:2 | try ... | TryStmt | Test.kt:83:6:86:2 | { ... } | BlockStmt |
| Test.kt:83:6:86:2 | { ... } | BlockStmt | Test.kt:84:3:84:18 | var ...; | LocalVariableDeclStmt |
| Test.kt:84:3:84:18 | var ...; | LocalVariableDeclStmt | Test.kt:84:11:84:11 | o | VarAccess |
| Test.kt:84:3:84:18 | x | LocalVariableDeclExpr | Test.kt:85:10:85:10 | 1 | IntegerLiteral |
| Test.kt:84:7:84:7 | x | LocalVariableDeclExpr | Test.kt:85:10:85:10 | 1 | IntegerLiteral |
| Test.kt:84:11:84:11 | o | VarAccess | Test.kt:84:11:84:18 | (...)... | CastExpr |
| Test.kt:84:11:84:18 | (...)... | CastExpr | Test.kt:84:3:84:18 | x | LocalVariableDeclExpr |
| Test.kt:84:11:84:18 | (...)... | CastExpr | Test.kt:84:7:84:7 | x | LocalVariableDeclExpr |
| Test.kt:84:11:84:18 | (...)... | CastExpr | Test.kt:86:4:88:2 | catch (...) | CatchClause |
| Test.kt:85:3:85:10 | return ... | ReturnStmt | Test.kt:82:1:89:1 | Normal Exit | Method |
| Test.kt:85:10:85:10 | 1 | IntegerLiteral | Test.kt:85:3:85:10 | return ... | ReturnStmt |
@@ -149,9 +149,9 @@
| Test.kt:92:2:97:2 | try ... | TryStmt | Test.kt:92:6:95:2 | { ... } | BlockStmt |
| Test.kt:92:6:95:2 | { ... } | BlockStmt | Test.kt:93:3:93:13 | var ...; | LocalVariableDeclStmt |
| Test.kt:93:3:93:13 | var ...; | LocalVariableDeclStmt | Test.kt:93:11:93:11 | o | VarAccess |
| Test.kt:93:3:93:13 | x | LocalVariableDeclExpr | Test.kt:94:10:94:10 | 1 | IntegerLiteral |
| Test.kt:93:7:93:7 | x | LocalVariableDeclExpr | Test.kt:94:10:94:10 | 1 | IntegerLiteral |
| Test.kt:93:11:93:11 | o | VarAccess | Test.kt:93:11:93:13 | ...!! | NotNullExpr |
| Test.kt:93:11:93:13 | ...!! | NotNullExpr | Test.kt:93:3:93:13 | x | LocalVariableDeclExpr |
| Test.kt:93:11:93:13 | ...!! | NotNullExpr | Test.kt:93:7:93:7 | x | LocalVariableDeclExpr |
| Test.kt:93:11:93:13 | ...!! | NotNullExpr | Test.kt:95:4:97:2 | catch (...) | CatchClause |
| Test.kt:94:3:94:10 | return ... | ReturnStmt | Test.kt:91:1:98:1 | Normal Exit | Method |
| Test.kt:94:10:94:10 | 1 | IntegerLiteral | Test.kt:94:3:94:10 | return ... | ReturnStmt |

View File

@@ -1,10 +1,10 @@
delegatedProperties
| delegatedProperties.kt:6:9:9:9 | prop1 | prop1 | local | delegatedProperties.kt:6:9:9:9 | Lazy<Integer> prop1$delegate | delegatedProperties.kt:6:27:9:9 | lazy(...) |
| delegatedProperties.kt:19:9:19:51 | varResource1 | varResource1 | local | delegatedProperties.kt:19:9:19:51 | ResourceDelegate varResource1$delegate | delegatedProperties.kt:19:34:19:51 | new ResourceDelegate(...) |
| delegatedProperties.kt:23:9:23:31 | name | name | local | delegatedProperties.kt:23:9:23:31 | Map<String,Object> name$delegate | delegatedProperties.kt:23:29:23:31 | map |
| delegatedProperties.kt:33:9:33:76 | readOnly | readOnly | local | delegatedProperties.kt:33:9:33:76 | ReadWriteProperty<Object,Integer> readOnly$delegate | delegatedProperties.kt:33:30:33:47 | resourceDelegate(...) |
| delegatedProperties.kt:34:9:34:48 | readWrite | readWrite | local | delegatedProperties.kt:34:9:34:48 | ReadWriteProperty<Object,Integer> readWrite$delegate | delegatedProperties.kt:34:31:34:48 | resourceDelegate(...) |
| delegatedProperties.kt:39:9:39:51 | varResource2 | varResource2 | local | delegatedProperties.kt:39:9:39:51 | ResourceDelegate varResource2$delegate | delegatedProperties.kt:39:31:39:51 | provideDelegate(...) |
| delegatedProperties.kt:6:9:9:9 | prop1 | prop1 | local | delegatedProperties.kt:6:24:9:9 | Lazy<Integer> prop1$delegate | delegatedProperties.kt:6:27:9:9 | lazy(...) |
| delegatedProperties.kt:19:9:19:51 | varResource1 | varResource1 | local | delegatedProperties.kt:19:31:19:51 | ResourceDelegate varResource1$delegate | delegatedProperties.kt:19:34:19:51 | new ResourceDelegate(...) |
| delegatedProperties.kt:23:9:23:31 | name | name | local | delegatedProperties.kt:23:26:23:31 | Map<String,Object> name$delegate | delegatedProperties.kt:23:29:23:31 | map |
| delegatedProperties.kt:33:9:33:76 | readOnly | readOnly | local | delegatedProperties.kt:33:27:33:47 | ReadWriteProperty<Object,Integer> readOnly$delegate | delegatedProperties.kt:33:30:33:47 | resourceDelegate(...) |
| delegatedProperties.kt:34:9:34:48 | readWrite | readWrite | local | delegatedProperties.kt:34:28:34:48 | ReadWriteProperty<Object,Integer> readWrite$delegate | delegatedProperties.kt:34:31:34:48 | resourceDelegate(...) |
| delegatedProperties.kt:39:9:39:51 | varResource2 | varResource2 | local | delegatedProperties.kt:39:31:39:51 | ResourceDelegate varResource2$delegate | delegatedProperties.kt:39:31:39:51 | provideDelegate(...) |
| delegatedProperties.kt:42:5:42:47 | varResource0 | varResource0 | non-local | delegatedProperties.kt:42:27:42:47 | varResource0$delegate | delegatedProperties.kt:42:30:42:47 | new ResourceDelegate(...) |
| delegatedProperties.kt:66:5:66:50 | delegatedToMember1 | delegatedToMember1 | non-local | delegatedProperties.kt:66:33:66:50 | delegatedToMember1$delegate | delegatedProperties.kt:66:36:66:50 | ...::... |
| delegatedProperties.kt:67:5:67:53 | delegatedToMember2 | delegatedToMember2 | non-local | delegatedProperties.kt:67:33:67:53 | delegatedToMember2$delegate | delegatedProperties.kt:67:36:67:53 | ...::... |
@@ -15,7 +15,7 @@ delegatedProperties
| delegatedProperties.kt:75:5:75:78 | delegatedToAnotherClass1 | delegatedToAnotherClass1 | non-local | delegatedProperties.kt:75:39:75:78 | delegatedToAnotherClass1$delegate | delegatedProperties.kt:75:42:75:78 | ...::... |
| delegatedProperties.kt:77:5:77:49 | delegatedToTopLevel | delegatedToTopLevel | non-local | delegatedProperties.kt:77:34:77:49 | delegatedToTopLevel$delegate | delegatedProperties.kt:77:37:77:49 | ...::... |
| delegatedProperties.kt:79:5:79:38 | max | max | non-local | delegatedProperties.kt:79:18:79:38 | max$delegate | delegatedProperties.kt:79:21:79:38 | ...::... |
| delegatedProperties.kt:82:9:82:54 | delegatedToMember3 | delegatedToMember3 | local | delegatedProperties.kt:82:9:82:54 | KMutableProperty0<Integer> delegatedToMember3$delegate | delegatedProperties.kt:82:40:82:54 | ...::... |
| delegatedProperties.kt:82:9:82:54 | delegatedToMember3 | delegatedToMember3 | local | delegatedProperties.kt:82:37:82:54 | KMutableProperty0<Integer> delegatedToMember3$delegate | delegatedProperties.kt:82:40:82:54 | ...::... |
| delegatedProperties.kt:87:1:87:46 | extDelegated | extDelegated | non-local | delegatedProperties.kt:87:31:87:46 | extDelegated$delegateMyClass | delegatedProperties.kt:87:34:87:46 | ...::... |
delegatedPropertyTypes
| delegatedProperties.kt:6:9:9:9 | prop1 | file://:0:0:0:0 | int | file://<external>/Lazy.class:0:0:0:0 | Lazy<Integer> |

File diff suppressed because it is too large Load Diff

View File

@@ -86,8 +86,8 @@ anon_class_member_modifiers
| delegatedProperties.kt:19:31:19:51 | new KMutableProperty0<Integer>(...) { ... } | delegatedProperties.kt:19:31:19:51 | set | override, public |
| delegatedProperties.kt:23:26:23:31 | new KProperty0<String>(...) { ... } | delegatedProperties.kt:23:26:23:31 | get | override, public |
| delegatedProperties.kt:23:26:23:31 | new KProperty0<String>(...) { ... } | delegatedProperties.kt:23:26:23:31 | invoke | override, public |
| delegatedProperties.kt:25:64:31:9 | new ReadWriteProperty<Object,Integer>(...) { ... } | delegatedProperties.kt:26:13:26:28 | getCurValue | final, public |
| delegatedProperties.kt:25:64:31:9 | new ReadWriteProperty<Object,Integer>(...) { ... } | delegatedProperties.kt:26:13:26:28 | setCurValue | final, public |
| delegatedProperties.kt:25:64:31:9 | new ReadWriteProperty<Object,Integer>(...) { ... } | delegatedProperties.kt:26:13:26:24 | getCurValue | final, public |
| delegatedProperties.kt:25:64:31:9 | new ReadWriteProperty<Object,Integer>(...) { ... } | delegatedProperties.kt:26:13:26:24 | setCurValue | final, public |
| delegatedProperties.kt:25:64:31:9 | new ReadWriteProperty<Object,Integer>(...) { ... } | delegatedProperties.kt:27:22:27:88 | getValue | override, public |
| delegatedProperties.kt:25:64:31:9 | new ReadWriteProperty<Object,Integer>(...) { ... } | delegatedProperties.kt:28:22:30:13 | setValue | override, public |
| delegatedProperties.kt:33:27:33:47 | new KProperty0<Integer>(...) { ... } | delegatedProperties.kt:33:27:33:47 | get | override, public |
@@ -187,7 +187,7 @@ anon_class_member_modifiers
| delegatedProperties.kt:87:34:87:46 | new KMutableProperty0<Integer>(...) { ... } | delegatedProperties.kt:87:34:87:46 | get | override, public |
| delegatedProperties.kt:87:34:87:46 | new KMutableProperty0<Integer>(...) { ... } | delegatedProperties.kt:87:34:87:46 | invoke | override, public |
| delegatedProperties.kt:87:34:87:46 | new KMutableProperty0<Integer>(...) { ... } | delegatedProperties.kt:87:34:87:46 | set | override, public |
| exprs.kt:195:16:197:9 | new Interface1(...) { ... } | exprs.kt:196:13:196:49 | getA3 | final, public |
| exprs.kt:195:16:197:9 | new Interface1(...) { ... } | exprs.kt:196:13:196:18 | getA3 | final, public |
| funcExprs.kt:22:26:22:33 | new Function0<Integer>(...) { ... } | funcExprs.kt:22:26:22:33 | invoke | final, override, public |
| funcExprs.kt:23:26:23:33 | new Function0<Object>(...) { ... } | funcExprs.kt:23:26:23:33 | invoke | final, override, public |
| funcExprs.kt:24:26:24:33 | new Function0<Object>(...) { ... } | funcExprs.kt:24:26:24:33 | invoke | final, override, public |

View File

@@ -6,8 +6,8 @@ calls
| Test.java:26:5:26:35 | setter(...) | Test.java:16:22:16:25 | user | Test.java:14:14:14:17 | Test | Generic2.class:0:0:0:0 | setter | Generic2.class:0:0:0:0 | Generic2<? super String> |
| Test.java:27:5:27:24 | getter(...) | Test.java:16:22:16:25 | user | Test.java:14:14:14:17 | Test | Generic2.class:0:0:0:0 | getter | Generic2.class:0:0:0:0 | Generic2<? super String> |
| test.kt:5:32:5:46 | identity(...) | test.kt:5:3:5:46 | identity2 | test.kt:1:1:13:1 | Generic | test.kt:6:3:6:35 | identity | test.kt:1:1:13:1 | Generic |
| test.kt:7:21:7:26 | getStored(...) | test.kt:7:3:7:26 | getter | test.kt:1:1:13:1 | Generic | test.kt:3:3:3:19 | getStored | test.kt:1:1:13:1 | Generic |
| test.kt:8:26:8:31 | setStored(...) | test.kt:8:3:8:41 | setter | test.kt:1:1:13:1 | Generic | test.kt:3:3:3:19 | setStored | test.kt:1:1:13:1 | Generic |
| test.kt:7:21:7:26 | getStored(...) | test.kt:7:3:7:26 | getter | test.kt:1:1:13:1 | Generic | test.kt:3:3:3:12 | getStored | test.kt:1:1:13:1 | Generic |
| test.kt:8:26:8:31 | setStored(...) | test.kt:8:3:8:41 | setter | test.kt:1:1:13:1 | Generic | test.kt:3:3:3:12 | setStored | test.kt:1:1:13:1 | Generic |
| test.kt:11:44:11:70 | privateid(...) | test.kt:11:3:11:70 | callPrivateId | test.kt:1:1:13:1 | Generic | file:///!unknown-binary-location/Generic.class:0:0:0:0 | privateid | file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<String> |
| test.kt:18:3:18:35 | identity(...) | test.kt:15:1:28:1 | user | test.kt:0:0:0:0 | TestKt | file:///!unknown-binary-location/Generic.class:0:0:0:0 | identity | file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<String> |
| test.kt:19:3:19:36 | identity2(...) | test.kt:15:1:28:1 | user | test.kt:0:0:0:0 | TestKt | file:///!unknown-binary-location/Generic.class:0:0:0:0 | identity2 | file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<String> |
@@ -53,30 +53,30 @@ refTypes
| Test.java:1:7:1:14 | Generic2 | Test.java:10:8:10:13 | setter | setter(java.lang.Object) | T | void | Test.java:1:7:1:14 | Generic2 | Test.java:10:8:10:13 | setter |
| Test.java:14:14:14:17 | Test | Test.java:16:22:16:25 | user | user() | No parameters | void | Test.java:14:14:14:17 | Test | Test.java:16:22:16:25 | user |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<? extends String> | file:///!unknown-binary-location/Generic.class:0:0:0:0 | callPrivateId | callPrivateId(Generic) | Generic<String> | String | test.kt:1:1:13:1 | Generic | test.kt:11:3:11:70 | callPrivateId |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<? extends String> | file:///!unknown-binary-location/Generic.class:0:0:0:0 | getStored | getStored() | No parameters | String | test.kt:1:1:13:1 | Generic | test.kt:3:3:3:19 | getStored |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<? extends String> | file:///!unknown-binary-location/Generic.class:0:0:0:0 | getter | getter() | No parameters | String | test.kt:1:1:13:1 | Generic | test.kt:7:3:7:26 | getter |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<? extends String> | file:///!unknown-binary-location/Generic.class:0:0:0:0 | identity | identity(java.lang.Void) | Void | String | test.kt:1:1:13:1 | Generic | test.kt:6:3:6:35 | identity |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<? extends String> | file:///!unknown-binary-location/Generic.class:0:0:0:0 | identity2 | identity2(java.lang.Void) | Void | String | test.kt:1:1:13:1 | Generic | test.kt:5:3:5:46 | identity2 |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<? extends String> | file:///!unknown-binary-location/Generic.class:0:0:0:0 | setStored | setStored(java.lang.Void) | Void | void | test.kt:1:1:13:1 | Generic | test.kt:3:3:3:19 | setStored |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<? extends String> | file:///!unknown-binary-location/Generic.class:0:0:0:0 | setter | setter(java.lang.Void) | Void | void | test.kt:1:1:13:1 | Generic | test.kt:8:3:8:41 | setter |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<? extends String> | test.kt:3:3:3:12 | getStored | getStored() | No parameters | String | test.kt:1:1:13:1 | Generic | test.kt:3:3:3:12 | getStored |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<? extends String> | test.kt:3:3:3:12 | setStored | setStored(java.lang.Void) | Void | void | test.kt:1:1:13:1 | Generic | test.kt:3:3:3:12 | setStored |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<? super String> | file:///!unknown-binary-location/Generic.class:0:0:0:0 | callPrivateId | callPrivateId(Generic) | Generic<String> | String | test.kt:1:1:13:1 | Generic | test.kt:11:3:11:70 | callPrivateId |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<? super String> | file:///!unknown-binary-location/Generic.class:0:0:0:0 | getStored | getStored() | No parameters | Object | test.kt:1:1:13:1 | Generic | test.kt:3:3:3:19 | getStored |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<? super String> | file:///!unknown-binary-location/Generic.class:0:0:0:0 | getter | getter() | No parameters | Object | test.kt:1:1:13:1 | Generic | test.kt:7:3:7:26 | getter |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<? super String> | file:///!unknown-binary-location/Generic.class:0:0:0:0 | identity | identity(java.lang.String) | String | Object | test.kt:1:1:13:1 | Generic | test.kt:6:3:6:35 | identity |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<? super String> | file:///!unknown-binary-location/Generic.class:0:0:0:0 | identity2 | identity2(java.lang.String) | String | Object | test.kt:1:1:13:1 | Generic | test.kt:5:3:5:46 | identity2 |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<? super String> | file:///!unknown-binary-location/Generic.class:0:0:0:0 | setStored | setStored(java.lang.String) | String | void | test.kt:1:1:13:1 | Generic | test.kt:3:3:3:19 | setStored |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<? super String> | file:///!unknown-binary-location/Generic.class:0:0:0:0 | setter | setter(java.lang.String) | String | void | test.kt:1:1:13:1 | Generic | test.kt:8:3:8:41 | setter |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<? super String> | test.kt:3:3:3:12 | getStored | getStored() | No parameters | Object | test.kt:1:1:13:1 | Generic | test.kt:3:3:3:12 | getStored |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<? super String> | test.kt:3:3:3:12 | setStored | setStored(java.lang.String) | String | void | test.kt:1:1:13:1 | Generic | test.kt:3:3:3:12 | setStored |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<String> | file:///!unknown-binary-location/Generic.class:0:0:0:0 | callPrivateId | callPrivateId(Generic) | Generic<String> | String | test.kt:1:1:13:1 | Generic | test.kt:11:3:11:70 | callPrivateId |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<String> | file:///!unknown-binary-location/Generic.class:0:0:0:0 | getStored | getStored() | No parameters | String | test.kt:1:1:13:1 | Generic | test.kt:3:3:3:19 | getStored |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<String> | file:///!unknown-binary-location/Generic.class:0:0:0:0 | getter | getter() | No parameters | String | test.kt:1:1:13:1 | Generic | test.kt:7:3:7:26 | getter |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<String> | file:///!unknown-binary-location/Generic.class:0:0:0:0 | identity | identity(java.lang.String) | String | String | test.kt:1:1:13:1 | Generic | test.kt:6:3:6:35 | identity |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<String> | file:///!unknown-binary-location/Generic.class:0:0:0:0 | identity2 | identity2(java.lang.String) | String | String | test.kt:1:1:13:1 | Generic | test.kt:5:3:5:46 | identity2 |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<String> | file:///!unknown-binary-location/Generic.class:0:0:0:0 | privateid | privateid(java.lang.String) | String | String | test.kt:1:1:13:1 | Generic | test.kt:10:11:10:41 | privateid |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<String> | file:///!unknown-binary-location/Generic.class:0:0:0:0 | setStored | setStored(java.lang.String) | String | void | test.kt:1:1:13:1 | Generic | test.kt:3:3:3:19 | setStored |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<String> | file:///!unknown-binary-location/Generic.class:0:0:0:0 | setter | setter(java.lang.String) | String | void | test.kt:1:1:13:1 | Generic | test.kt:8:3:8:41 | setter |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<String> | test.kt:3:3:3:12 | getStored | getStored() | No parameters | String | test.kt:1:1:13:1 | Generic | test.kt:3:3:3:12 | getStored |
| file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic<String> | test.kt:3:3:3:12 | setStored | setStored(java.lang.String) | String | void | test.kt:1:1:13:1 | Generic | test.kt:3:3:3:12 | setStored |
| test.kt:0:0:0:0 | TestKt | test.kt:15:1:28:1 | user | user() | No parameters | void | test.kt:0:0:0:0 | TestKt | test.kt:15:1:28:1 | user |
| test.kt:1:1:13:1 | Generic | test.kt:3:3:3:19 | getStored | getStored() | No parameters | T | test.kt:1:1:13:1 | Generic | test.kt:3:3:3:19 | getStored |
| test.kt:1:1:13:1 | Generic | test.kt:3:3:3:19 | setStored | setStored(java.lang.Object) | T | void | test.kt:1:1:13:1 | Generic | test.kt:3:3:3:19 | setStored |
| test.kt:1:1:13:1 | Generic | test.kt:3:3:3:12 | getStored | getStored() | No parameters | T | test.kt:1:1:13:1 | Generic | test.kt:3:3:3:12 | getStored |
| test.kt:1:1:13:1 | Generic | test.kt:3:3:3:12 | setStored | setStored(java.lang.Object) | T | void | test.kt:1:1:13:1 | Generic | test.kt:3:3:3:12 | setStored |
| test.kt:1:1:13:1 | Generic | test.kt:5:3:5:46 | identity2 | identity2(java.lang.Object) | T | T | test.kt:1:1:13:1 | Generic | test.kt:5:3:5:46 | identity2 |
| test.kt:1:1:13:1 | Generic | test.kt:6:3:6:35 | identity | identity(java.lang.Object) | T | T | test.kt:1:1:13:1 | Generic | test.kt:6:3:6:35 | identity |
| test.kt:1:1:13:1 | Generic | test.kt:7:3:7:26 | getter | getter() | No parameters | T | test.kt:1:1:13:1 | Generic | test.kt:7:3:7:26 | getter |

View File

@@ -12,12 +12,12 @@
| Test.java:13:7:13:10 | User | Test.java:13:7:13:10 | User |
| Test.java:13:7:13:10 | User | Test.java:15:22:15:25 | test |
| Test.kt:1:1:8:1 | TestKt | Test.kt:1:1:8:1 | TestKt |
| Test.kt:1:1:8:1 | TestKt | Test.kt:3:3:3:11 | getField |
| Test.kt:1:1:8:1 | TestKt | Test.kt:3:3:3:11 | setField |
| Test.kt:1:1:8:1 | TestKt | Test.kt:3:3:3:22 | field |
| Test.kt:1:1:8:1 | TestKt | Test.kt:3:3:3:22 | getField |
| Test.kt:1:1:8:1 | TestKt | Test.kt:3:3:3:22 | setField |
| Test.kt:1:1:8:1 | TestKt | Test.kt:4:3:5:25 | rawField |
| Test.kt:1:1:8:1 | TestKt | Test.kt:5:3:5:25 | getRawField |
| Test.kt:1:1:8:1 | TestKt | Test.kt:5:3:5:25 | setRawField |
| Test.kt:1:1:8:1 | TestKt | Test.kt:5:3:5:14 | getRawField |
| Test.kt:1:1:8:1 | TestKt | Test.kt:5:3:5:14 | setRawField |
| Test.kt:1:1:8:1 | TestKt | Test.kt:6:3:6:22 | method |
| Test.kt:10:1:10:20 | FieldUsedKt | Test.kt:10:1:10:20 | FieldUsedKt |
| Test.kt:11:1:11:23 | RawFieldUsedKt | Test.kt:11:1:11:23 | RawFieldUsedKt |
@@ -26,27 +26,27 @@
| Test.kt:14:1:14:22 | NeitherUsedKt | Test.kt:14:1:14:22 | NeitherUsedKt |
| Test.kt:16:1:27:1 | UserKt | Test.kt:16:1:27:1 | UserKt |
| Test.kt:16:1:27:1 | UserKt | Test.kt:18:3:25:3 | test |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<ConstructorUsedKt> | Test.kt:3:3:3:11 | getField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<ConstructorUsedKt> | Test.kt:3:3:3:11 | setField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<ConstructorUsedKt> | Test.kt:5:3:5:14 | getRawField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<ConstructorUsedKt> | Test.kt:5:3:5:14 | setRawField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<ConstructorUsedKt> | file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<ConstructorUsedKt> |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<ConstructorUsedKt> | file:///!unknown-binary-location/TestKt.class:0:0:0:0 | getField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<ConstructorUsedKt> | file:///!unknown-binary-location/TestKt.class:0:0:0:0 | getRawField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<ConstructorUsedKt> | file:///!unknown-binary-location/TestKt.class:0:0:0:0 | method |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<ConstructorUsedKt> | file:///!unknown-binary-location/TestKt.class:0:0:0:0 | setField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<ConstructorUsedKt> | file:///!unknown-binary-location/TestKt.class:0:0:0:0 | setRawField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<FieldUsedKt> | Test.kt:3:3:3:11 | getField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<FieldUsedKt> | Test.kt:3:3:3:11 | setField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<FieldUsedKt> | Test.kt:5:3:5:14 | getRawField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<FieldUsedKt> | Test.kt:5:3:5:14 | setRawField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<FieldUsedKt> | file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<FieldUsedKt> |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<FieldUsedKt> | file:///!unknown-binary-location/TestKt.class:0:0:0:0 | getField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<FieldUsedKt> | file:///!unknown-binary-location/TestKt.class:0:0:0:0 | getRawField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<FieldUsedKt> | file:///!unknown-binary-location/TestKt.class:0:0:0:0 | method |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<FieldUsedKt> | file:///!unknown-binary-location/TestKt.class:0:0:0:0 | setField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<FieldUsedKt> | file:///!unknown-binary-location/TestKt.class:0:0:0:0 | setRawField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<MethodUsedKt> | Test.kt:3:3:3:11 | getField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<MethodUsedKt> | Test.kt:3:3:3:11 | setField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<MethodUsedKt> | Test.kt:5:3:5:14 | getRawField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<MethodUsedKt> | Test.kt:5:3:5:14 | setRawField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<MethodUsedKt> | file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<MethodUsedKt> |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<MethodUsedKt> | file:///!unknown-binary-location/TestKt.class:0:0:0:0 | getField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<MethodUsedKt> | file:///!unknown-binary-location/TestKt.class:0:0:0:0 | getRawField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<MethodUsedKt> | file:///!unknown-binary-location/TestKt.class:0:0:0:0 | method |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<MethodUsedKt> | file:///!unknown-binary-location/TestKt.class:0:0:0:0 | setField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<MethodUsedKt> | file:///!unknown-binary-location/TestKt.class:0:0:0:0 | setRawField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<RawFieldUsedKt> | Test.kt:3:3:3:11 | getField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<RawFieldUsedKt> | Test.kt:3:3:3:11 | setField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<RawFieldUsedKt> | Test.kt:5:3:5:14 | getRawField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<RawFieldUsedKt> | Test.kt:5:3:5:14 | setRawField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<RawFieldUsedKt> | file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<RawFieldUsedKt> |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<RawFieldUsedKt> | file:///!unknown-binary-location/TestKt.class:0:0:0:0 | getField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<RawFieldUsedKt> | file:///!unknown-binary-location/TestKt.class:0:0:0:0 | getRawField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<RawFieldUsedKt> | file:///!unknown-binary-location/TestKt.class:0:0:0:0 | method |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<RawFieldUsedKt> | file:///!unknown-binary-location/TestKt.class:0:0:0:0 | setField |
| file:///!unknown-binary-location/TestKt.class:0:0:0:0 | TestKt<RawFieldUsedKt> | file:///!unknown-binary-location/TestKt.class:0:0:0:0 | setRawField |

View File

@@ -1,6 +1,6 @@
| User.java:3:21:3:24 | test |
| test.kt:3:12:3:30 | getInternalVal$main |
| test.kt:3:12:3:26 | getInternalVal$main |
| test.kt:6:3:6:36 | getInternalVal |
| test.kt:8:12:8:30 | getInternalVar$main |
| test.kt:8:12:8:30 | setInternalVar$main |
| test.kt:8:12:8:26 | getInternalVar$main |
| test.kt:8:12:8:26 | setInternalVar$main |
| test.kt:10:12:10:32 | internalFun$main |

View File

@@ -10,8 +10,8 @@ staticMembers
| test.kt:9:1:29:1 | HasCompanion | test.kt:25:18:25:60 | setPropWithStaticSetter | Method |
| test.kt:31:1:47:1 | NonCompanion | test.kt:31:1:47:1 | INSTANCE | Field |
| test.kt:31:1:47:1 | NonCompanion | test.kt:33:14:33:69 | staticMethod | Method |
| test.kt:31:1:47:1 | NonCompanion | test.kt:36:14:36:41 | getStaticProp | Method |
| test.kt:31:1:47:1 | NonCompanion | test.kt:36:14:36:41 | setStaticProp | Method |
| test.kt:31:1:47:1 | NonCompanion | test.kt:36:14:36:27 | getStaticProp | Method |
| test.kt:31:1:47:1 | NonCompanion | test.kt:36:14:36:27 | setStaticProp | Method |
| test.kt:31:1:47:1 | NonCompanion | test.kt:40:16:40:43 | getPropWithStaticGetter | Method |
| test.kt:31:1:47:1 | NonCompanion | test.kt:45:16:45:58 | setPropWithStaticSetter | Method |
#select

View File

@@ -1,8 +1,8 @@
| test.kt:4:15:4:26 | println(...) | file://<external>/ConsoleKt.class:0:0:0:0 | println |
| test.kt:9:9:9:13 | getTest0$private(...) | test.kt:2:22:2:40 | getTest0$private |
| test.kt:9:9:9:13 | getTest0$private(...) | test.kt:2:22:2:30 | getTest0$private |
| test.kt:9:9:9:17 | f(...) | test.kt:4:5:4:26 | f |
| test.kt:10:13:10:23 | get(...) | test.kt:10:13:10:23 | get |
| test.kt:10:13:10:23 | getTest0$private(...) | test.kt:2:22:2:40 | getTest0$private |
| test.kt:10:13:10:23 | setTest0$private(...) | test.kt:2:22:2:40 | setTest0$private |
| test.kt:10:13:10:23 | getTest0$private(...) | test.kt:2:22:2:30 | getTest0$private |
| test.kt:10:13:10:23 | setTest0$private(...) | test.kt:2:22:2:30 | setTest0$private |
| test.kt:10:13:10:37 | isInitialized(...) | file://<external>/LateinitKt.class:0:0:0:0 | isInitialized |
| test.kt:14:9:14:17 | f(...) | test.kt:4:5:4:26 | f |

View File

@@ -1,3 +1,6 @@
| clinit.kt:3:1:3:15 | Unit | TypeAccess |
| clinit.kt:3:1:3:15 | int | TypeAccess |
| clinit.kt:3:1:3:15 | int | TypeAccess |
| clinit.kt:3:1:3:24 | ...=... | AssignExpr |
| clinit.kt:3:1:3:24 | ...=... | KtInitializerAssignExpr |
| clinit.kt:3:1:3:24 | <set-?> | VarAccess |
@@ -7,9 +10,6 @@
| clinit.kt:3:1:3:24 | ClinitKt.topLevelInt | VarAccess |
| clinit.kt:3:1:3:24 | ClinitKt.topLevelInt | VarAccess |
| clinit.kt:3:1:3:24 | ClinitKt.topLevelInt | VarAccess |
| clinit.kt:3:1:3:24 | Unit | TypeAccess |
| clinit.kt:3:1:3:24 | int | TypeAccess |
| clinit.kt:3:1:3:24 | int | TypeAccess |
| clinit.kt:3:1:3:24 | int | TypeAccess |
| clinit.kt:3:24:3:24 | 0 | IntegerLiteral |
| dataClass.kt:0:0:0:0 | 0 | IntegerLiteral |
@@ -341,7 +341,7 @@
| methods4.kt:7:5:7:34 | Unit | TypeAccess |
| methods4.kt:7:11:7:29 | InsideNestedTest | TypeAccess |
| methods5.kt:3:1:11:1 | Unit | TypeAccess |
| methods5.kt:4:3:4:11 | x | LocalVariableDeclExpr |
| methods5.kt:4:7:4:7 | x | LocalVariableDeclExpr |
| methods5.kt:4:11:4:11 | 5 | IntegerLiteral |
| methods5.kt:5:3:5:27 | int | TypeAccess |
| methods5.kt:5:13:5:18 | int | TypeAccess |

View File

@@ -1,7 +1,7 @@
methods
| clinit.kt:0:0:0:0 | ClinitKt | clinit.kt:0:0:0:0 | <clinit> | <clinit>() | static | Compiler generated |
| clinit.kt:0:0:0:0 | ClinitKt | clinit.kt:3:1:3:24 | getTopLevelInt | getTopLevelInt() | final, public, static | Compiler generated |
| clinit.kt:0:0:0:0 | ClinitKt | clinit.kt:3:1:3:24 | setTopLevelInt | setTopLevelInt(int) | final, public, static | Compiler generated |
| clinit.kt:0:0:0:0 | ClinitKt | clinit.kt:3:1:3:15 | getTopLevelInt | getTopLevelInt() | final, public, static | Compiler generated |
| clinit.kt:0:0:0:0 | ClinitKt | clinit.kt:3:1:3:15 | setTopLevelInt | setTopLevelInt(int) | final, public, static | Compiler generated |
| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:0:0:0:0 | component1 | component1() | final, public | Compiler generated |
| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:0:0:0:0 | component2 | component2() | final, public | Compiler generated |
| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:0:0:0:0 | copy | copy(int,java.lang.String) | final, public | Compiler generated |

View File

@@ -1,4 +1,4 @@
| clinit.kt:3:1:3:24 | setTopLevelInt | clinit.kt:3:1:3:24 | <set-?> | 0 |
| clinit.kt:3:1:3:15 | setTopLevelInt | clinit.kt:3:1:3:15 | <set-?> | 0 |
| dataClass.kt:0:0:0:0 | copy | dataClass.kt:1:22:1:31 | x | 0 |
| dataClass.kt:0:0:0:0 | copy | dataClass.kt:1:34:1:46 | y | 1 |
| dataClass.kt:0:0:0:0 | copy$default | dataClass.kt:0:0:0:0 | p0 | 0 |

View File

@@ -2,32 +2,32 @@
| modifiers.kt:1:6:29:1 | X | Constructor | public |
| modifiers.kt:2:5:2:21 | a | Field | final |
| modifiers.kt:2:5:2:21 | a | Field | private |
| modifiers.kt:2:5:2:21 | a | Property | private |
| modifiers.kt:2:13:2:21 | getA$private | Method | final |
| modifiers.kt:2:13:2:21 | getA$private | Method | private |
| modifiers.kt:2:13:2:17 | getA$private | Method | final |
| modifiers.kt:2:13:2:17 | getA$private | Method | private |
| modifiers.kt:2:13:2:21 | a | Property | private |
| modifiers.kt:3:5:3:23 | b | Field | final |
| modifiers.kt:3:5:3:23 | b | Field | private |
| modifiers.kt:3:5:3:23 | b | Property | protected |
| modifiers.kt:3:15:3:23 | getB | Method | final |
| modifiers.kt:3:15:3:23 | getB | Method | protected |
| modifiers.kt:3:15:3:19 | getB | Method | final |
| modifiers.kt:3:15:3:19 | getB | Method | protected |
| modifiers.kt:3:15:3:23 | b | Property | protected |
| modifiers.kt:4:5:4:22 | c | Field | final |
| modifiers.kt:4:5:4:22 | c | Field | private |
| modifiers.kt:4:5:4:22 | c | Property | internal |
| modifiers.kt:4:14:4:22 | getC$main | Method | final |
| modifiers.kt:4:14:4:22 | getC$main | Method | internal |
| modifiers.kt:4:14:4:18 | getC$main | Method | final |
| modifiers.kt:4:14:4:18 | getC$main | Method | internal |
| modifiers.kt:4:14:4:22 | c | Property | internal |
| modifiers.kt:5:5:5:9 | getD | Method | final |
| modifiers.kt:5:5:5:9 | getD | Method | public |
| modifiers.kt:5:5:5:34 | d | Field | final |
| modifiers.kt:5:5:5:34 | d | Field | private |
| modifiers.kt:5:5:5:34 | d | Property | public |
| modifiers.kt:5:5:5:34 | getD | Method | final |
| modifiers.kt:5:5:5:34 | getD | Method | public |
| modifiers.kt:7:5:9:5 | Nested | Class | final |
| modifiers.kt:7:5:9:5 | Nested | Class | protected |
| modifiers.kt:7:15:9:5 | Nested | Constructor | public |
| modifiers.kt:8:9:8:29 | e | Field | final |
| modifiers.kt:8:9:8:29 | e | Field | private |
| modifiers.kt:8:9:8:29 | e | Property | public |
| modifiers.kt:8:16:8:29 | getE | Method | final |
| modifiers.kt:8:16:8:29 | getE | Method | public |
| modifiers.kt:8:16:8:20 | getE | Method | final |
| modifiers.kt:8:16:8:20 | getE | Method | public |
| modifiers.kt:8:16:8:29 | e | Property | public |
| modifiers.kt:11:5:15:5 | fn1 | Method | final |
| modifiers.kt:11:5:15:5 | fn1 | Method | public |
| modifiers.kt:12:16:14:9 | | Constructor | public |
@@ -76,12 +76,12 @@
| modifiers.kt:35:1:41:1 | LateInit | Class | public |
| modifiers.kt:35:8:41:1 | LateInit | Constructor | public |
| modifiers.kt:36:5:36:40 | test0 | Field | private |
| modifiers.kt:36:5:36:40 | test0 | Property | lateinit |
| modifiers.kt:36:5:36:40 | test0 | Property | private |
| modifiers.kt:36:22:36:40 | getTest0$private | Method | final |
| modifiers.kt:36:22:36:40 | getTest0$private | Method | private |
| modifiers.kt:36:22:36:40 | setTest0$private | Method | final |
| modifiers.kt:36:22:36:40 | setTest0$private | Method | private |
| modifiers.kt:36:22:36:30 | getTest0$private | Method | final |
| modifiers.kt:36:22:36:30 | getTest0$private | Method | private |
| modifiers.kt:36:22:36:30 | setTest0$private | Method | final |
| modifiers.kt:36:22:36:30 | setTest0$private | Method | private |
| modifiers.kt:36:22:36:40 | test0 | Property | lateinit |
| modifiers.kt:36:22:36:40 | test0 | Property | private |
| modifiers.kt:38:5:40:5 | fn | Method | final |
| modifiers.kt:38:5:40:5 | fn | Method | public |
| modifiers.kt:39:18:39:36 | LateInit test1 | LocalVariableDecl | lateinit |
| modifiers.kt:39:22:39:26 | LateInit test1 | LocalVariableDecl | lateinit |

View File

@@ -1,6 +1,6 @@
| test.kt:2:1:4:1 | foo | 3 | 3 | 0 |
| test.kt:8:1:8:9 | getX | 1 | 1 | 0 |
| test.kt:18:1:18:17 | getY | 5 | 1 | 4 |
| test.kt:8:1:8:5 | getX | 1 | 1 | 0 |
| test.kt:18:1:18:5 | getY | 5 | 1 | 4 |
| test.kt:20:1:26:1 | Foo | 7 | 6 | 1 |
| test.kt:21:5:24:5 | bar | 4 | 3 | 1 |
| test.kt:25:5:25:21 | getSomeField | 1 | 1 | 0 |
| test.kt:25:5:25:17 | getSomeField | 1 | 1 | 0 |

View File

@@ -1,33 +1,33 @@
#select
| file:///!unknown-binary-location/A$<no name provided>.class:0:0:0:0 | new If<T>(...) { ... }<> | file:///!unknown-binary-location/A$<no name provided>.class:0:0:0:0 | |
| file:///!unknown-binary-location/A$<no name provided>.class:0:0:0:0 | new If<T>(...) { ... }<> | file:///!unknown-binary-location/A$<no name provided>.class:0:0:0:0 | |
| file:///!unknown-binary-location/A$<no name provided>.class:0:0:0:0 | new If<T>(...) { ... }<> | file:///!unknown-binary-location/A$<no name provided>.class:0:0:0:0 | getX |
| file:///!unknown-binary-location/A$<no name provided>.class:0:0:0:0 | new If<T>(...) { ... }<> | file:///!unknown-binary-location/A$<no name provided>.class:0:0:0:0 | getX |
| file:///!unknown-binary-location/A$<no name provided>.class:0:0:0:0 | new If<T>(...) { ... }<> | test.kt:14:14:14:18 | getX |
| file:///!unknown-binary-location/A$<no name provided>.class:0:0:0:0 | new If<T>(...) { ... }<> | test.kt:14:14:14:18 | getX |
| file:///!unknown-binary-location/A.class:0:0:0:0 | A<CharSequence> | file:///!unknown-binary-location/A.class:0:0:0:0 | A<CharSequence> |
| file:///!unknown-binary-location/A.class:0:0:0:0 | A<CharSequence> | file:///!unknown-binary-location/A.class:0:0:0:0 | getAnonType |
| file:///!unknown-binary-location/A.class:0:0:0:0 | A<CharSequence> | file:///!unknown-binary-location/A.class:0:0:0:0 | getPrivateAnonType$private |
| file:///!unknown-binary-location/A.class:0:0:0:0 | A<CharSequence> | file:///!unknown-binary-location/A.class:0:0:0:0 | privateUser |
| file:///!unknown-binary-location/A.class:0:0:0:0 | A<CharSequence> | test.kt:9:3:9:14 | getAnonType |
| file:///!unknown-binary-location/A.class:0:0:0:0 | A<String> | file:///!unknown-binary-location/A.class:0:0:0:0 | A<String> |
| file:///!unknown-binary-location/A.class:0:0:0:0 | A<String> | file:///!unknown-binary-location/A.class:0:0:0:0 | getAnonType |
| file:///!unknown-binary-location/A.class:0:0:0:0 | A<String> | file:///!unknown-binary-location/A.class:0:0:0:0 | getPrivateAnonType$private |
| file:///!unknown-binary-location/A.class:0:0:0:0 | A<String> | file:///!unknown-binary-location/A.class:0:0:0:0 | privateUser |
| file:///!unknown-binary-location/If.class:0:0:0:0 | If<String> | file:///!unknown-binary-location/If.class:0:0:0:0 | getX |
| file:///!unknown-binary-location/If.class:0:0:0:0 | If<T> | file:///!unknown-binary-location/If.class:0:0:0:0 | getX |
| file:///!unknown-binary-location/A.class:0:0:0:0 | A<String> | test.kt:9:3:9:14 | getAnonType |
| file:///!unknown-binary-location/If.class:0:0:0:0 | If<String> | test.kt:3:3:3:7 | getX |
| file:///!unknown-binary-location/If.class:0:0:0:0 | If<T> | test.kt:3:3:3:7 | getX |
| other.kt:1:1:1:34 | Ext | other.kt:1:1:1:34 | Ext |
| test.kt:0:0:0:0 | TestKt | test.kt:24:1:24:38 | user |
| test.kt:1:1:5:1 | If | test.kt:3:3:3:11 | getX |
| test.kt:1:1:5:1 | If | test.kt:3:3:3:7 | getX |
| test.kt:7:1:22:1 | A | test.kt:7:16:7:21 | A |
| test.kt:7:1:22:1 | A | test.kt:9:3:9:14 | getAnonType |
| test.kt:7:1:22:1 | A | test.kt:9:3:11:3 | anonType |
| test.kt:7:1:22:1 | A | test.kt:9:3:11:3 | getAnonType |
| test.kt:7:1:22:1 | A | test.kt:13:3:15:3 | privateAnonType |
| test.kt:7:1:22:1 | A | test.kt:13:11:15:3 | getPrivateAnonType$private |
| test.kt:7:1:22:1 | A | test.kt:13:11:13:29 | getPrivateAnonType$private |
| test.kt:7:1:22:1 | A | test.kt:17:3:20:3 | privateUser |
| test.kt:9:18:11:3 | new If<T>(...) { ... } | test.kt:9:18:11:3 | |
| test.kt:9:18:11:3 | new If<T>(...) { ... } | test.kt:10:5:10:22 | x |
| test.kt:9:18:11:3 | new If<T>(...) { ... } | test.kt:10:14:10:22 | getX |
| test.kt:9:18:11:3 | new If<T>(...) { ... } | test.kt:10:14:10:18 | getX |
| test.kt:13:33:15:3 | new If<T>(...) { ... } | test.kt:13:33:15:3 | |
| test.kt:13:33:15:3 | new If<T>(...) { ... } | test.kt:14:5:14:22 | x |
| test.kt:13:33:15:3 | new If<T>(...) { ... } | test.kt:14:14:14:22 | getX |
| test.kt:13:33:15:3 | new If<T>(...) { ... } | test.kt:14:14:14:18 | getX |
enclosingTypes
| file:///!unknown-binary-location/A$<no name provided>.class:0:0:0:0 | new If<T>(...) { ... }<> | file:///!unknown-binary-location/A.class:0:0:0:0 | A<CharSequence> |
| file:///!unknown-binary-location/A$<no name provided>.class:0:0:0:0 | new If<T>(...) { ... }<> | file:///!unknown-binary-location/A.class:0:0:0:0 | A<String> |

View File

@@ -1,33 +1,33 @@
#select
| properties.kt:2:27:2:50 | constructorProp | properties.kt:2:27:2:50 | getConstructorProp | file://:0:0:0:0 | <none> | properties.kt:2:27:2:50 | constructorProp | public |
| properties.kt:2:53:2:83 | mutableConstructorProp | properties.kt:2:53:2:83 | getMutableConstructorProp | properties.kt:2:53:2:83 | setMutableConstructorProp | properties.kt:2:53:2:83 | mutableConstructorProp | public |
| properties.kt:3:5:3:25 | modifiableInt | properties.kt:3:5:3:25 | getModifiableInt | properties.kt:3:5:3:25 | setModifiableInt | properties.kt:3:5:3:25 | modifiableInt | public |
| properties.kt:4:5:4:24 | immutableInt | properties.kt:4:5:4:24 | getImmutableInt | file://:0:0:0:0 | <none> | properties.kt:4:5:4:24 | immutableInt | public |
| properties.kt:5:5:5:26 | typedProp | properties.kt:5:5:5:26 | getTypedProp | file://:0:0:0:0 | <none> | properties.kt:5:5:5:26 | typedProp | public |
| properties.kt:6:5:6:38 | abstractTypeProp | properties.kt:6:14:6:38 | getAbstractTypeProp | file://:0:0:0:0 | <none> | file://:0:0:0:0 | <none> | public |
| properties.kt:7:5:7:30 | initialisedInInit | properties.kt:7:5:7:30 | getInitialisedInInit | file://:0:0:0:0 | <none> | properties.kt:7:5:7:30 | initialisedInInit | public |
| properties.kt:11:5:11:40 | useConstructorArg | properties.kt:11:5:11:40 | getUseConstructorArg | file://:0:0:0:0 | <none> | properties.kt:11:5:11:40 | useConstructorArg | public |
| properties.kt:3:5:3:25 | modifiableInt | properties.kt:3:5:3:21 | getModifiableInt | properties.kt:3:5:3:21 | setModifiableInt | properties.kt:3:5:3:25 | modifiableInt | public |
| properties.kt:4:5:4:24 | immutableInt | properties.kt:4:5:4:20 | getImmutableInt | file://:0:0:0:0 | <none> | properties.kt:4:5:4:24 | immutableInt | public |
| properties.kt:5:5:5:26 | typedProp | properties.kt:5:5:5:17 | getTypedProp | file://:0:0:0:0 | <none> | properties.kt:5:5:5:26 | typedProp | public |
| properties.kt:6:14:6:38 | abstractTypeProp | properties.kt:6:14:6:33 | getAbstractTypeProp | file://:0:0:0:0 | <none> | file://:0:0:0:0 | <none> | public |
| properties.kt:7:5:7:30 | initialisedInInit | properties.kt:7:5:7:25 | getInitialisedInInit | file://:0:0:0:0 | <none> | properties.kt:7:5:7:30 | initialisedInInit | public |
| properties.kt:11:5:11:40 | useConstructorArg | properties.kt:11:5:11:25 | getUseConstructorArg | file://:0:0:0:0 | <none> | properties.kt:11:5:11:40 | useConstructorArg | public |
| properties.kt:12:5:13:21 | five | properties.kt:13:13:13:21 | getFive | file://:0:0:0:0 | <none> | file://:0:0:0:0 | <none> | public |
| properties.kt:14:5:15:21 | six | properties.kt:15:13:15:21 | getSix | file://:0:0:0:0 | <none> | file://:0:0:0:0 | <none> | public |
| properties.kt:16:5:18:40 | getSet | properties.kt:17:13:17:33 | getGetSet | properties.kt:18:13:18:40 | setGetSet | file://:0:0:0:0 | <none> | public |
| properties.kt:19:5:20:15 | defaultGetter | properties.kt:20:13:20:15 | getDefaultGetter | file://:0:0:0:0 | <none> | properties.kt:19:5:20:15 | defaultGetter | public |
| properties.kt:21:5:22:15 | varDefaultGetter | properties.kt:22:13:22:15 | getVarDefaultGetter | properties.kt:21:5:22:15 | setVarDefaultGetter | properties.kt:21:5:22:15 | varDefaultGetter | public |
| properties.kt:23:5:24:15 | varDefaultSetter | properties.kt:23:5:24:15 | getVarDefaultSetter | properties.kt:24:13:24:15 | setVarDefaultSetter | properties.kt:23:5:24:15 | varDefaultSetter | public |
| properties.kt:25:5:27:15 | varDefaultGetterSetter | properties.kt:26:13:26:15 | getVarDefaultGetterSetter | properties.kt:27:13:27:15 | setVarDefaultGetterSetter | properties.kt:25:5:27:15 | varDefaultGetterSetter | public |
| properties.kt:28:5:29:22 | overrideGetter | properties.kt:29:13:29:22 | getOverrideGetter | properties.kt:28:5:29:22 | setOverrideGetter | properties.kt:28:5:29:22 | overrideGetter | public |
| properties.kt:30:5:31:29 | overrideGetterUseField | properties.kt:31:13:31:29 | getOverrideGetterUseField | properties.kt:30:5:31:29 | setOverrideGetterUseField | properties.kt:30:5:31:29 | overrideGetterUseField | public |
| properties.kt:19:5:20:15 | defaultGetter | properties.kt:19:5:19:21 | getDefaultGetter | file://:0:0:0:0 | <none> | properties.kt:19:5:20:15 | defaultGetter | public |
| properties.kt:21:5:22:15 | varDefaultGetter | properties.kt:21:5:21:24 | getVarDefaultGetter | properties.kt:21:5:21:24 | setVarDefaultGetter | properties.kt:21:5:22:15 | varDefaultGetter | public |
| properties.kt:23:5:24:15 | varDefaultSetter | properties.kt:23:5:23:24 | getVarDefaultSetter | properties.kt:23:5:23:24 | setVarDefaultSetter | properties.kt:23:5:24:15 | varDefaultSetter | public |
| properties.kt:25:5:27:15 | varDefaultGetterSetter | properties.kt:25:5:25:30 | getVarDefaultGetterSetter | properties.kt:25:5:25:30 | setVarDefaultGetterSetter | properties.kt:25:5:27:15 | varDefaultGetterSetter | public |
| properties.kt:28:5:29:22 | overrideGetter | properties.kt:29:13:29:22 | getOverrideGetter | properties.kt:28:5:28:22 | setOverrideGetter | properties.kt:28:5:29:22 | overrideGetter | public |
| properties.kt:30:5:31:29 | overrideGetterUseField | properties.kt:31:13:31:29 | getOverrideGetterUseField | properties.kt:30:5:30:30 | setOverrideGetterUseField | properties.kt:30:5:31:29 | overrideGetterUseField | public |
| properties.kt:32:5:33:29 | useField | properties.kt:33:13:33:29 | getUseField | file://:0:0:0:0 | <none> | properties.kt:32:5:33:29 | useField | public |
| properties.kt:34:5:34:36 | lateInitVar | properties.kt:34:14:34:36 | getLateInitVar | properties.kt:34:14:34:36 | setLateInitVar | properties.kt:34:5:34:36 | lateInitVar | lateinit, public |
| properties.kt:35:5:35:32 | privateProp | properties.kt:35:13:35:32 | getPrivateProp$private | file://:0:0:0:0 | <none> | properties.kt:35:5:35:32 | privateProp | private |
| properties.kt:36:5:36:36 | protectedProp | properties.kt:36:15:36:36 | getProtectedProp | file://:0:0:0:0 | <none> | properties.kt:36:5:36:36 | protectedProp | protected |
| properties.kt:37:5:37:30 | publicProp | properties.kt:37:12:37:30 | getPublicProp | file://:0:0:0:0 | <none> | properties.kt:37:5:37:30 | publicProp | public |
| properties.kt:38:5:38:34 | internalProp | properties.kt:38:14:38:34 | getInternalProp$main | file://:0:0:0:0 | <none> | properties.kt:38:5:38:34 | internalProp | internal |
| properties.kt:67:1:67:23 | constVal | properties.kt:67:7:67:23 | getConstVal | file://:0:0:0:0 | <none> | properties.kt:67:1:67:23 | constVal | public |
| properties.kt:70:5:70:16 | prop | properties.kt:70:5:70:16 | getProp | file://:0:0:0:0 | <none> | properties.kt:70:5:70:16 | prop | public |
| properties.kt:34:14:34:36 | lateInitVar | properties.kt:34:14:34:28 | getLateInitVar | properties.kt:34:14:34:28 | setLateInitVar | properties.kt:34:5:34:36 | lateInitVar | lateinit, public |
| properties.kt:35:13:35:32 | privateProp | properties.kt:35:13:35:27 | getPrivateProp$private | file://:0:0:0:0 | <none> | properties.kt:35:5:35:32 | privateProp | private |
| properties.kt:36:15:36:36 | protectedProp | properties.kt:36:15:36:31 | getProtectedProp | file://:0:0:0:0 | <none> | properties.kt:36:5:36:36 | protectedProp | protected |
| properties.kt:37:12:37:30 | publicProp | properties.kt:37:12:37:25 | getPublicProp | file://:0:0:0:0 | <none> | properties.kt:37:5:37:30 | publicProp | public |
| properties.kt:38:14:38:34 | internalProp | properties.kt:38:14:38:29 | getInternalProp$main | file://:0:0:0:0 | <none> | properties.kt:38:5:38:34 | internalProp | internal |
| properties.kt:67:7:67:23 | constVal | properties.kt:67:7:67:18 | getConstVal | file://:0:0:0:0 | <none> | properties.kt:67:1:67:23 | constVal | public |
| properties.kt:70:5:70:16 | prop | properties.kt:70:5:70:12 | getProp | file://:0:0:0:0 | <none> | properties.kt:70:5:70:16 | prop | public |
| properties.kt:78:1:79:13 | x | properties.kt:79:5:79:13 | getX | file://:0:0:0:0 | <none> | file://:0:0:0:0 | <none> | public |
| properties.kt:80:1:81:13 | x | properties.kt:81:5:81:13 | getX | file://:0:0:0:0 | <none> | file://:0:0:0:0 | <none> | public |
| properties.kt:84:5:84:29 | data | properties.kt:84:13:84:29 | getData$private | properties.kt:84:13:84:29 | setData$private | properties.kt:84:5:84:29 | data | private |
| properties.kt:92:5:93:18 | data | properties.kt:93:9:93:18 | getData | properties.kt:92:13:93:18 | setData$private | properties.kt:92:5:93:18 | data | private |
| properties.kt:84:13:84:29 | data | properties.kt:84:13:84:20 | getData$private | properties.kt:84:13:84:20 | setData$private | properties.kt:84:5:84:29 | data | private |
| properties.kt:92:13:93:18 | data | properties.kt:93:9:93:18 | getData | properties.kt:92:13:92:20 | setData$private | properties.kt:92:5:93:18 | data | private |
fieldDeclarations
| properties.kt:2:27:2:50 | int constructorProp; | properties.kt:2:27:2:50 | constructorProp | 0 |
| properties.kt:2:53:2:83 | int mutableConstructorProp; | properties.kt:2:53:2:83 | mutableConstructorProp | 0 |

View File

@@ -1,26 +1,26 @@
variableInitializerType
| reflection.kt:7:9:7:54 | KFunction<Double> ref | file://<external>/KFunction.class:0:0:0:0 | KFunction<Double> | reflection.kt:7:49:7:54 | new Function2<Ccc,Integer,Double>(...) { ... } | file://<external>/Function2.class:0:0:0:0 | Function2<Ccc,Integer,Double> | true |
| reflection.kt:7:9:7:54 | KFunction<Double> ref | file://<external>/KFunction.class:0:0:0:0 | KFunction<Double> | reflection.kt:7:49:7:54 | new Function2<Ccc,Integer,Double>(...) { ... } | file://<external>/FunctionReference.class:0:0:0:0 | FunctionReference | true |
| reflection.kt:10:9:10:42 | KProperty1<C,Integer> x0 | file://<external>/KProperty1.class:0:0:0:0 | KProperty1<C,Integer> | reflection.kt:10:38:10:42 | new KProperty1<C,Integer>(...) { ... } | file://<external>/KProperty1.class:0:0:0:0 | KProperty1<C,Integer> | true |
| reflection.kt:10:9:10:42 | KProperty1<C,Integer> x0 | file://<external>/KProperty1.class:0:0:0:0 | KProperty1<C,Integer> | reflection.kt:10:38:10:42 | new KProperty1<C,Integer>(...) { ... } | file://<external>/PropertyReference.class:0:0:0:0 | PropertyReference | true |
| reflection.kt:13:9:13:53 | Getter<C,Integer> x3 | file://<external>/KProperty1$Getter.class:0:0:0:0 | Getter<C,Integer> | file://<external>/KProperty1$Getter.class:0:0:0:0 | Getter<C,Integer> | file://<external>/Function1.class:0:0:0:0 | Function1<C,Integer> | true |
| reflection.kt:13:9:13:53 | Getter<C,Integer> x3 | file://<external>/KProperty1$Getter.class:0:0:0:0 | Getter<C,Integer> | file://<external>/KProperty1$Getter.class:0:0:0:0 | Getter<C,Integer> | file://<external>/KProperty$Getter.class:0:0:0:0 | Getter<Integer> | true |
| reflection.kt:14:9:14:44 | KFunction<Integer> x4 | file://<external>/KFunction.class:0:0:0:0 | KFunction<Integer> | reflection.kt:14:38:14:44 | new Function1<C,Integer>(...) { ... } | file://<external>/Function1.class:0:0:0:0 | Function1<C,Integer> | true |
| reflection.kt:14:9:14:44 | KFunction<Integer> x4 | file://<external>/KFunction.class:0:0:0:0 | KFunction<Integer> | reflection.kt:14:38:14:44 | new Function1<C,Integer>(...) { ... } | file://<external>/FunctionReference.class:0:0:0:0 | FunctionReference | true |
| reflection.kt:15:9:15:41 | KProperty0<Integer> x5 | file://<external>/KProperty0.class:0:0:0:0 | KProperty0<Integer> | reflection.kt:15:35:15:41 | new KProperty0<Integer>(...) { ... } | file://<external>/KProperty0.class:0:0:0:0 | KProperty0<Integer> | true |
| reflection.kt:15:9:15:41 | KProperty0<Integer> x5 | file://<external>/KProperty0.class:0:0:0:0 | KProperty0<Integer> | reflection.kt:15:35:15:41 | new KProperty0<Integer>(...) { ... } | file://<external>/PropertyReference.class:0:0:0:0 | PropertyReference | true |
| reflection.kt:17:9:17:49 | KMutableProperty1<C,Integer> y0 | file://<external>/KMutableProperty1.class:0:0:0:0 | KMutableProperty1<C,Integer> | reflection.kt:17:45:17:49 | new KMutableProperty1<C,Integer>(...) { ... } | file://<external>/KMutableProperty1.class:0:0:0:0 | KMutableProperty1<C,Integer> | true |
| reflection.kt:17:9:17:49 | KMutableProperty1<C,Integer> y0 | file://<external>/KMutableProperty1.class:0:0:0:0 | KMutableProperty1<C,Integer> | reflection.kt:17:45:17:49 | new KMutableProperty1<C,Integer>(...) { ... } | file://<external>/PropertyReference.class:0:0:0:0 | PropertyReference | true |
| reflection.kt:20:9:20:60 | Setter<C,Integer> y3 | file://<external>/KMutableProperty1$Setter.class:0:0:0:0 | Setter<C,Integer> | file://<external>/KMutableProperty1$Setter.class:0:0:0:0 | Setter<C,Integer> | file://<external>/Function2.class:0:0:0:0 | Function2<C,Integer,Unit> | true |
| reflection.kt:20:9:20:60 | Setter<C,Integer> y3 | file://<external>/KMutableProperty1$Setter.class:0:0:0:0 | Setter<C,Integer> | file://<external>/KMutableProperty1$Setter.class:0:0:0:0 | Setter<C,Integer> | file://<external>/KMutableProperty$Setter.class:0:0:0:0 | Setter<Integer> | true |
| reflection.kt:21:9:21:50 | KFunction<Unit> y4 | file://<external>/KFunction.class:0:0:0:0 | KFunction<Unit> | reflection.kt:21:44:21:50 | new Function2<C,Integer,Unit>(...) { ... } | file://<external>/Function2.class:0:0:0:0 | Function2<C,Integer,Unit> | true |
| reflection.kt:21:9:21:50 | KFunction<Unit> y4 | file://<external>/KFunction.class:0:0:0:0 | KFunction<Unit> | reflection.kt:21:44:21:50 | new Function2<C,Integer,Unit>(...) { ... } | file://<external>/FunctionReference.class:0:0:0:0 | FunctionReference | true |
| reflection.kt:22:9:22:48 | KMutableProperty0<Integer> y5 | file://<external>/KMutableProperty0.class:0:0:0:0 | KMutableProperty0<Integer> | reflection.kt:22:42:22:48 | new KMutableProperty0<Integer>(...) { ... } | file://<external>/KMutableProperty0.class:0:0:0:0 | KMutableProperty0<Integer> | true |
| reflection.kt:22:9:22:48 | KMutableProperty0<Integer> y5 | file://<external>/KMutableProperty0.class:0:0:0:0 | KMutableProperty0<Integer> | reflection.kt:22:42:22:48 | new KMutableProperty0<Integer>(...) { ... } | file://<external>/PropertyReference.class:0:0:0:0 | PropertyReference | true |
| reflection.kt:24:9:24:91 | KProperty2<C,Integer,Integer> prop | file://<external>/KProperty2.class:0:0:0:0 | KProperty2<C,Integer,Integer> | file://<external>/KProperty2.class:0:0:0:0 | KProperty2<C,Integer,Integer> | file://<external>/Function2.class:0:0:0:0 | Function2<C,Integer,Integer> | true |
| reflection.kt:24:9:24:91 | KProperty2<C,Integer,Integer> prop | file://<external>/KProperty2.class:0:0:0:0 | KProperty2<C,Integer,Integer> | file://<external>/KProperty2.class:0:0:0:0 | KProperty2<C,Integer,Integer> | file://<external>/KProperty.class:0:0:0:0 | KProperty<Integer> | true |
| reflection.kt:116:9:116:44 | KFunction<Unit> x | file://<external>/KFunction.class:0:0:0:0 | KFunction<Unit> | reflection.kt:116:40:116:44 | new Function1<Integer,Unit>(...) { ... } | file://<external>/Function1.class:0:0:0:0 | Function1<Integer,Unit> | true |
| reflection.kt:116:9:116:44 | KFunction<Unit> x | file://<external>/KFunction.class:0:0:0:0 | KFunction<Unit> | reflection.kt:116:40:116:44 | new Function1<Integer,Unit>(...) { ... } | file://<external>/FunctionReference.class:0:0:0:0 | FunctionReference | true |
| reflection.kt:7:13:7:15 | KFunction<Double> ref | file://<external>/KFunction.class:0:0:0:0 | KFunction<Double> | reflection.kt:7:49:7:54 | new Function2<Ccc,Integer,Double>(...) { ... } | file://<external>/Function2.class:0:0:0:0 | Function2<Ccc,Integer,Double> | true |
| reflection.kt:7:13:7:15 | KFunction<Double> ref | file://<external>/KFunction.class:0:0:0:0 | KFunction<Double> | reflection.kt:7:49:7:54 | new Function2<Ccc,Integer,Double>(...) { ... } | file://<external>/FunctionReference.class:0:0:0:0 | FunctionReference | true |
| reflection.kt:10:13:10:14 | KProperty1<C,Integer> x0 | file://<external>/KProperty1.class:0:0:0:0 | KProperty1<C,Integer> | reflection.kt:10:38:10:42 | new KProperty1<C,Integer>(...) { ... } | file://<external>/KProperty1.class:0:0:0:0 | KProperty1<C,Integer> | true |
| reflection.kt:10:13:10:14 | KProperty1<C,Integer> x0 | file://<external>/KProperty1.class:0:0:0:0 | KProperty1<C,Integer> | reflection.kt:10:38:10:42 | new KProperty1<C,Integer>(...) { ... } | file://<external>/PropertyReference.class:0:0:0:0 | PropertyReference | true |
| reflection.kt:13:13:13:14 | Getter<C,Integer> x3 | file://<external>/KProperty1$Getter.class:0:0:0:0 | Getter<C,Integer> | file://<external>/KProperty1$Getter.class:0:0:0:0 | Getter<C,Integer> | file://<external>/Function1.class:0:0:0:0 | Function1<C,Integer> | true |
| reflection.kt:13:13:13:14 | Getter<C,Integer> x3 | file://<external>/KProperty1$Getter.class:0:0:0:0 | Getter<C,Integer> | file://<external>/KProperty1$Getter.class:0:0:0:0 | Getter<C,Integer> | file://<external>/KProperty$Getter.class:0:0:0:0 | Getter<Integer> | true |
| reflection.kt:14:13:14:14 | KFunction<Integer> x4 | file://<external>/KFunction.class:0:0:0:0 | KFunction<Integer> | reflection.kt:14:38:14:44 | new Function1<C,Integer>(...) { ... } | file://<external>/Function1.class:0:0:0:0 | Function1<C,Integer> | true |
| reflection.kt:14:13:14:14 | KFunction<Integer> x4 | file://<external>/KFunction.class:0:0:0:0 | KFunction<Integer> | reflection.kt:14:38:14:44 | new Function1<C,Integer>(...) { ... } | file://<external>/FunctionReference.class:0:0:0:0 | FunctionReference | true |
| reflection.kt:15:13:15:14 | KProperty0<Integer> x5 | file://<external>/KProperty0.class:0:0:0:0 | KProperty0<Integer> | reflection.kt:15:35:15:41 | new KProperty0<Integer>(...) { ... } | file://<external>/KProperty0.class:0:0:0:0 | KProperty0<Integer> | true |
| reflection.kt:15:13:15:14 | KProperty0<Integer> x5 | file://<external>/KProperty0.class:0:0:0:0 | KProperty0<Integer> | reflection.kt:15:35:15:41 | new KProperty0<Integer>(...) { ... } | file://<external>/PropertyReference.class:0:0:0:0 | PropertyReference | true |
| reflection.kt:17:13:17:14 | KMutableProperty1<C,Integer> y0 | file://<external>/KMutableProperty1.class:0:0:0:0 | KMutableProperty1<C,Integer> | reflection.kt:17:45:17:49 | new KMutableProperty1<C,Integer>(...) { ... } | file://<external>/KMutableProperty1.class:0:0:0:0 | KMutableProperty1<C,Integer> | true |
| reflection.kt:17:13:17:14 | KMutableProperty1<C,Integer> y0 | file://<external>/KMutableProperty1.class:0:0:0:0 | KMutableProperty1<C,Integer> | reflection.kt:17:45:17:49 | new KMutableProperty1<C,Integer>(...) { ... } | file://<external>/PropertyReference.class:0:0:0:0 | PropertyReference | true |
| reflection.kt:20:13:20:14 | Setter<C,Integer> y3 | file://<external>/KMutableProperty1$Setter.class:0:0:0:0 | Setter<C,Integer> | file://<external>/KMutableProperty1$Setter.class:0:0:0:0 | Setter<C,Integer> | file://<external>/Function2.class:0:0:0:0 | Function2<C,Integer,Unit> | true |
| reflection.kt:20:13:20:14 | Setter<C,Integer> y3 | file://<external>/KMutableProperty1$Setter.class:0:0:0:0 | Setter<C,Integer> | file://<external>/KMutableProperty1$Setter.class:0:0:0:0 | Setter<C,Integer> | file://<external>/KMutableProperty$Setter.class:0:0:0:0 | Setter<Integer> | true |
| reflection.kt:21:13:21:14 | KFunction<Unit> y4 | file://<external>/KFunction.class:0:0:0:0 | KFunction<Unit> | reflection.kt:21:44:21:50 | new Function2<C,Integer,Unit>(...) { ... } | file://<external>/Function2.class:0:0:0:0 | Function2<C,Integer,Unit> | true |
| reflection.kt:21:13:21:14 | KFunction<Unit> y4 | file://<external>/KFunction.class:0:0:0:0 | KFunction<Unit> | reflection.kt:21:44:21:50 | new Function2<C,Integer,Unit>(...) { ... } | file://<external>/FunctionReference.class:0:0:0:0 | FunctionReference | true |
| reflection.kt:22:13:22:14 | KMutableProperty0<Integer> y5 | file://<external>/KMutableProperty0.class:0:0:0:0 | KMutableProperty0<Integer> | reflection.kt:22:42:22:48 | new KMutableProperty0<Integer>(...) { ... } | file://<external>/KMutableProperty0.class:0:0:0:0 | KMutableProperty0<Integer> | true |
| reflection.kt:22:13:22:14 | KMutableProperty0<Integer> y5 | file://<external>/KMutableProperty0.class:0:0:0:0 | KMutableProperty0<Integer> | reflection.kt:22:42:22:48 | new KMutableProperty0<Integer>(...) { ... } | file://<external>/PropertyReference.class:0:0:0:0 | PropertyReference | true |
| reflection.kt:24:13:24:16 | KProperty2<C,Integer,Integer> prop | file://<external>/KProperty2.class:0:0:0:0 | KProperty2<C,Integer,Integer> | file://<external>/KProperty2.class:0:0:0:0 | KProperty2<C,Integer,Integer> | file://<external>/Function2.class:0:0:0:0 | Function2<C,Integer,Integer> | true |
| reflection.kt:24:13:24:16 | KProperty2<C,Integer,Integer> prop | file://<external>/KProperty2.class:0:0:0:0 | KProperty2<C,Integer,Integer> | file://<external>/KProperty2.class:0:0:0:0 | KProperty2<C,Integer,Integer> | file://<external>/KProperty.class:0:0:0:0 | KProperty<Integer> | true |
| reflection.kt:116:13:116:13 | KFunction<Unit> x | file://<external>/KFunction.class:0:0:0:0 | KFunction<Unit> | reflection.kt:116:40:116:44 | new Function1<Integer,Unit>(...) { ... } | file://<external>/Function1.class:0:0:0:0 | Function1<Integer,Unit> | true |
| reflection.kt:116:13:116:13 | KFunction<Unit> x | file://<external>/KFunction.class:0:0:0:0 | KFunction<Unit> | reflection.kt:116:40:116:44 | new Function1<Integer,Unit>(...) { ... } | file://<external>/FunctionReference.class:0:0:0:0 | FunctionReference | true |
invocation
| reflection.kt:8:17:8:24 | getName(...) | file://<external>/KCallable.class:0:0:0:0 | getName |
| reflection.kt:11:23:11:33 | get(...) | file://<external>/KProperty1.class:0:0:0:0 | get |
@@ -59,10 +59,10 @@ functionReferences
| reflection.kt:154:33:154:61 | ...::... | reflection.kt:154:33:154:61 | invoke | reflection.kt:154:33:154:61 | extTakesOptionalParam |
| reflection.kt:162:25:162:45 | ...::... | reflection.kt:162:25:162:45 | invoke | reflection.kt:162:25:162:45 | <init> |
propertyGetReferences
| reflection.kt:10:38:10:42 | ...::... | reflection.kt:10:38:10:42 | get | reflection.kt:33:9:33:23 | getP0 |
| reflection.kt:15:35:15:41 | ...::... | reflection.kt:15:35:15:41 | get | reflection.kt:33:9:33:23 | getP0 |
| reflection.kt:17:45:17:49 | ...::... | reflection.kt:17:45:17:49 | get | reflection.kt:34:9:34:23 | getP1 |
| reflection.kt:22:42:22:48 | ...::... | reflection.kt:22:42:22:48 | get | reflection.kt:34:9:34:23 | getP1 |
| reflection.kt:10:38:10:42 | ...::... | reflection.kt:10:38:10:42 | get | reflection.kt:33:9:33:14 | getP0 |
| reflection.kt:15:35:15:41 | ...::... | reflection.kt:15:35:15:41 | get | reflection.kt:33:9:33:14 | getP0 |
| reflection.kt:17:45:17:49 | ...::... | reflection.kt:17:45:17:49 | get | reflection.kt:34:9:34:14 | getP1 |
| reflection.kt:22:42:22:48 | ...::... | reflection.kt:22:42:22:48 | get | reflection.kt:34:9:34:14 | getP1 |
| reflection.kt:50:13:50:28 | ...::... | reflection.kt:50:13:50:28 | get | reflection.kt:47:5:47:28 | getLastChar |
| reflection.kt:51:13:51:28 | ...::... | reflection.kt:51:13:51:28 | get | reflection.kt:47:5:47:28 | getLastChar |
| reflection.kt:67:17:67:32 | ...::... | reflection.kt:67:17:67:32 | get | file://<external>/Class1$Generic.class:0:0:0:0 | getP2 |
@@ -73,8 +73,8 @@ propertyFieldReferences
| reflection.kt:71:17:71:34 | ...::... | reflection.kt:71:17:71:34 | get | file:///modules/java.base/java/lang/Integer.class:0:0:0:0 | MAX_VALUE |
| reflection.kt:72:17:72:35 | ...::... | reflection.kt:72:17:72:35 | get | file:///modules/java.desktop/java/awt/Rectangle.class:0:0:0:0 | height |
propertySetReferences
| reflection.kt:17:45:17:49 | ...::... | reflection.kt:17:45:17:49 | set | reflection.kt:34:9:34:23 | setP1 |
| reflection.kt:22:42:22:48 | ...::... | reflection.kt:22:42:22:48 | set | reflection.kt:34:9:34:23 | setP1 |
| reflection.kt:17:45:17:49 | ...::... | reflection.kt:17:45:17:49 | set | reflection.kt:34:9:34:14 | setP1 |
| reflection.kt:22:42:22:48 | ...::... | reflection.kt:22:42:22:48 | set | reflection.kt:34:9:34:14 | setP1 |
| reflection.kt:67:17:67:32 | ...::... | reflection.kt:67:17:67:32 | set | file://<external>/Class1$Generic.class:0:0:0:0 | setP2 |
| reflection.kt:68:17:68:34 | ...::... | reflection.kt:68:17:68:34 | set | file://<external>/Class1$Generic.class:0:0:0:0 | setP2 |
| reflection.kt:109:17:109:27 | ...::... | reflection.kt:109:17:109:27 | set | reflection.kt:105:18:105:31 | setProp1 |
@@ -299,9 +299,9 @@ compGenerated
| reflection.kt:21:44:21:50 | new Function2<C,Integer,Unit>(...) { ... } | The class around a local function, a lambda, or a function reference |
| reflection.kt:22:42:22:48 | new KMutableProperty0<Integer>(...) { ... } | The class around a local function, a lambda, or a function reference |
| reflection.kt:24:46:24:64 | new Function1<KCallable<?>,Boolean>(...) { ... } | The class around a local function, a lambda, or a function reference |
| reflection.kt:33:9:33:23 | getP0 | Default property accessor |
| reflection.kt:34:9:34:23 | getP1 | Default property accessor |
| reflection.kt:34:9:34:23 | setP1 | Default property accessor |
| reflection.kt:33:9:33:14 | getP0 | Default property accessor |
| reflection.kt:34:9:34:14 | getP1 | Default property accessor |
| reflection.kt:34:9:34:14 | setP1 | Default property accessor |
| reflection.kt:50:13:50:28 | new KProperty1<String,Character>(...) { ... } | The class around a local function, a lambda, or a function reference |
| reflection.kt:51:13:51:28 | new KProperty0<Character>(...) { ... } | The class around a local function, a lambda, or a function reference |
| reflection.kt:60:17:60:32 | new Function2<Generic<Integer>,Integer,String>(...) { ... } | The class around a local function, a lambda, or a function reference |

View File

@@ -24,9 +24,9 @@
| stmts.kt:14:13:14:13 | x | VarAccess |
| stmts.kt:14:13:14:17 | ... < ... | LTExpr |
| stmts.kt:14:17:14:17 | y | VarAccess |
| stmts.kt:15:5:15:13 | z | LocalVariableDeclExpr |
| stmts.kt:15:9:15:9 | z | LocalVariableDeclExpr |
| stmts.kt:15:13:15:13 | 3 | IntegerLiteral |
| stmts.kt:17:5:17:58 | q2 | LocalVariableDeclExpr |
| stmts.kt:17:9:17:10 | q2 | LocalVariableDeclExpr |
| stmts.kt:17:26:17:58 | true | BooleanLiteral |
| stmts.kt:17:26:17:58 | when ... | WhenExpr |
| stmts.kt:17:29:17:32 | true | BooleanLiteral |
@@ -36,7 +36,7 @@
| stmts.kt:17:52:17:52 | z | VarAccess |
| stmts.kt:17:52:17:56 | ...=... | AssignExpr |
| stmts.kt:17:56:17:56 | 5 | IntegerLiteral |
| stmts.kt:18:5:18:56 | q3 | LocalVariableDeclExpr |
| stmts.kt:18:9:18:10 | q3 | LocalVariableDeclExpr |
| stmts.kt:18:26:18:56 | true | BooleanLiteral |
| stmts.kt:18:26:18:56 | when ... | WhenExpr |
| stmts.kt:18:29:18:32 | true | BooleanLiteral |

View File

@@ -1,17 +1,17 @@
#select
| variables.kt:3:5:3:21 | prop | int | variables.kt:3:21:3:21 | 1 |
| variables.kt:5:20:5:29 | param | int | file://:0:0:0:0 | <none> |
| variables.kt:6:9:6:26 | int local1 | int | variables.kt:6:22:6:26 | ... + ... |
| variables.kt:8:9:8:26 | int local2 | int | variables.kt:8:22:8:26 | ... + ... |
| variables.kt:10:9:10:26 | int local3 | int | variables.kt:10:22:10:26 | param |
| variables.kt:6:13:6:18 | int local1 | int | variables.kt:6:22:6:26 | ... + ... |
| variables.kt:8:13:8:18 | int local2 | int | variables.kt:8:22:8:26 | ... + ... |
| variables.kt:10:13:10:18 | int local3 | int | variables.kt:10:22:10:26 | param |
| variables.kt:15:1:15:21 | topLevel | int | variables.kt:15:21:15:21 | 1 |
| variables.kt:21:11:21:18 | o | C1 | file://:0:0:0:0 | <none> |
| variables.kt:21:11:21:18 | o | C1 | variables.kt:21:11:21:18 | o |
| variables.kt:28:9:28:10 | <this> | C1 | file://:0:0:0:0 | <none> |
isFinal
| variables.kt:6:9:6:26 | int local1 | final |
| variables.kt:8:9:8:26 | int local2 | non-final |
| variables.kt:10:9:10:26 | int local3 | final |
| variables.kt:6:13:6:18 | int local1 | final |
| variables.kt:8:13:8:18 | int local2 | non-final |
| variables.kt:10:13:10:18 | int local3 | final |
compileTimeConstant
| variables.kt:3:5:3:21 | prop |
| variables.kt:3:5:3:21 | this.prop |

View File

@@ -1,7 +1,7 @@
| Test.kt:3:9:3:31 | List<Integer> l |
| Test.kt:3:13:3:13 | List<Integer> l |
| Test.kt:4:28:4:32 | index |
| Test.kt:4:35:4:35 | p1 |
| Test.kt:6:9:6:26 | Pair<Integer,Integer> p |
| Test.kt:6:13:6:13 | Pair<Integer,Integer> p |
| Test.kt:7:14:7:18 | int first |
| Test.kt:7:26:7:26 | Pair<Integer,Integer> tmp0_container |
| Test.kt:8:14:8:25 | Exception _ |