Kotlin: Extract lateinit modifier

This commit is contained in:
Tamas Vajk
2022-10-05 15:25:45 +02:00
parent 61a05c2b6c
commit 082544e88c
3 changed files with 14 additions and 2 deletions

View File

@@ -1141,6 +1141,10 @@ open class KotlinFileExtractor(
} }
extractVisibility(p, id, p.visibility) extractVisibility(p, id, p.visibility)
if (p.isLateinit) {
addModifiers(id, "lateinit")
}
} }
} }
} }
@@ -1291,6 +1295,9 @@ open class KotlinFileExtractor(
if (!v.isVar) { if (!v.isVar) {
addModifiers(varId, "final") addModifiers(varId, "final")
} }
if (v.isLateinit) {
addModifiers(varId, "lateinit")
}
} }
} }

View File

@@ -67,10 +67,10 @@ abstract class Modifiable extends Element {
/** Holds if this element has an `inline` modifier. */ /** Holds if this element has an `inline` modifier. */
predicate isInline() { this.hasModifier("inline") } predicate isInline() { this.hasModifier("inline") }
/** Holds if this element has an `noinline` modifier. */ /** Holds if this element has a `noinline` modifier. */
predicate isNoinline() { this.hasModifier("noinline") } predicate isNoinline() { this.hasModifier("noinline") }
/** Holds if this element has an `crossinline` modifier. */ /** Holds if this element has a `crossinline` modifier. */
predicate isCrossinline() { this.hasModifier("crossinline") } predicate isCrossinline() { this.hasModifier("crossinline") }
/** Holds if this element has a `suspend` modifier. */ /** Holds if this element has a `suspend` modifier. */
@@ -93,4 +93,7 @@ abstract class Modifiable extends Element {
/** Holds if this element has a `strictfp` modifier. */ /** Holds if this element has a `strictfp` modifier. */
predicate isStrictfp() { this.hasModifier("strictfp") } predicate isStrictfp() { this.hasModifier("strictfp") }
/** Holds if this element has a `lateinit` modifier. */
predicate isLateinit() { this.hasModifier("lateinit") }
} }

View File

@@ -49,7 +49,9 @@
| modifiers.kt:30:1:36:1 | LateInit | Class | public | | modifiers.kt:30:1:36:1 | LateInit | Class | public |
| modifiers.kt:30:8:36:1 | LateInit | Constructor | public | | modifiers.kt:30:8:36:1 | LateInit | Constructor | public |
| modifiers.kt:31:5:31:40 | test0 | Field | private | | modifiers.kt:31:5:31:40 | test0 | Field | private |
| modifiers.kt:31:5:31:40 | test0 | Property | lateinit |
| modifiers.kt:31:5:31:40 | test0 | Property | private | | modifiers.kt:31:5:31:40 | test0 | Property | private |
| modifiers.kt:31:22:31:40 | getTest0$private | Method | private | | modifiers.kt:31:22:31:40 | getTest0$private | Method | private |
| modifiers.kt:31:22:31:40 | setTest0$private | Method | private | | modifiers.kt:31:22:31:40 | setTest0$private | Method | private |
| modifiers.kt:33:5:35:5 | fn | Method | public | | modifiers.kt:33:5:35:5 | fn | Method | public |
| modifiers.kt:34:9:34:36 | LateInit test1 | LocalVariableDecl | lateinit |