Merge pull request #9725 from igfoo/igfoo/inline

Kotlin: Extract inlineability of functions
This commit is contained in:
Ian Lynagh
2022-06-28 10:21:30 +01:00
committed by GitHub
6 changed files with 21 additions and 8 deletions

View File

@@ -809,6 +809,9 @@ open class KotlinFileExtractor(
}
extractVisibility(f, id, f.visibility)
if (f.isInline) {
addModifiers(id, "inline")
}
if (isStaticFunction(f)) {
addModifiers(id, "static")
}

View File

@@ -0,0 +1,4 @@
---
category: minorAnalysis
---
Added `Modifier.isInline()`.

View File

@@ -58,6 +58,9 @@ abstract class Modifiable extends Element {
/** Holds if this element has an `internal` modifier. */
predicate isInternal() { this.hasModifier("internal") }
/** Holds if this element has an `inline` modifier. */
predicate isInline() { this.hasModifier("inline") }
/** Holds if this element has a `volatile` modifier. */
predicate isVolatile() { this.hasModifier("volatile") }

View File

@@ -296,3 +296,4 @@
| methods.kt:16:13:16:31 | Unit | TypeAccess |
| methods.kt:17:14:17:33 | Unit | TypeAccess |
| methods.kt:18:5:18:36 | Unit | TypeAccess |
| methods.kt:19:12:19:29 | Unit | TypeAccess |

View File

@@ -37,13 +37,14 @@ methods
| methods5.kt:5:3:5:27 | | methods5.kt:5:3:5:27 | a | a(int) | public | |
| methods5.kt:9:3:9:32 | | methods5.kt:9:3:9:32 | f1 | f1(foo.bar.C1,int) | public | |
| methods.kt:0:0:0:0 | MethodsKt | methods.kt:2:1:3:1 | topLevelMethod | topLevelMethod(int,int) | public, static | |
| methods.kt:5:1:19:1 | Class | methods.kt:6:5:7:5 | classMethod | classMethod(int,int) | public | |
| methods.kt:5:1:19:1 | Class | methods.kt:9:5:12:5 | anotherClassMethod | anotherClassMethod(int,int) | public | |
| methods.kt:5:1:19:1 | Class | methods.kt:14:12:14:29 | publicFun | publicFun() | public | |
| methods.kt:5:1:19:1 | Class | methods.kt:15:15:15:35 | protectedFun | protectedFun() | protected | |
| methods.kt:5:1:19:1 | Class | methods.kt:16:13:16:31 | privateFun | privateFun() | private | |
| methods.kt:5:1:19:1 | Class | methods.kt:17:14:17:33 | internalFun | internalFun() | internal | |
| methods.kt:5:1:19:1 | Class | methods.kt:18:5:18:36 | noExplicitVisibilityFun | noExplicitVisibilityFun() | public | |
| methods.kt:5:1:20:1 | Class | methods.kt:6:5:7:5 | classMethod | classMethod(int,int) | public | |
| methods.kt:5:1:20:1 | Class | methods.kt:9:5:12:5 | anotherClassMethod | anotherClassMethod(int,int) | public | |
| methods.kt:5:1:20:1 | Class | methods.kt:14:12:14:29 | publicFun | publicFun() | public | |
| methods.kt:5:1:20:1 | Class | methods.kt:15:15:15:35 | protectedFun | protectedFun() | protected | |
| methods.kt:5:1:20:1 | Class | methods.kt:16:13:16:31 | privateFun | privateFun() | private | |
| methods.kt:5:1:20:1 | Class | methods.kt:17:14:17:33 | internalFun | internalFun() | internal | |
| methods.kt:5:1:20:1 | Class | methods.kt:18:5:18:36 | noExplicitVisibilityFun | noExplicitVisibilityFun() | public | |
| methods.kt:5:1:20:1 | Class | methods.kt:19:12:19:29 | inlineFun | inlineFun() | inline, public | |
constructors
| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:1:6:1:47 | DataClass | DataClass(int,java.lang.String) |
| delegates.kt:3:1:12:1 | MyClass | delegates.kt:3:1:12:1 | MyClass | MyClass() |
@@ -60,7 +61,7 @@ constructors
| methods5.kt:5:3:5:27 | | methods5.kt:5:3:5:27 | | |
| methods5.kt:9:3:9:32 | | methods5.kt:9:3:9:32 | | |
| methods5.kt:13:1:13:14 | C1 | methods5.kt:13:1:13:14 | C1 | C1() |
| methods.kt:5:1:19:1 | Class | methods.kt:5:1:19:1 | Class | Class() |
| methods.kt:5:1:20:1 | Class | methods.kt:5:1:20:1 | Class | Class() |
extensions
| methods3.kt:3:1:3:42 | fooBarTopLevelMethodExt | file://:0:0:0:0 | int |
| methods3.kt:6:5:6:46 | fooBarTopLevelMethodExt | file://:0:0:0:0 | int |

View File

@@ -16,5 +16,6 @@ class Class {
private fun privateFun() {}
internal fun internalFun() {}
fun noExplicitVisibilityFun() {}
inline fun inlineFun() {}
}