File tree Expand file tree Collapse file tree 2 files changed +10
-3
lines changed
src/main/kotlin/org/modelix/mps/api Expand file tree Collapse file tree 2 files changed +10
-3
lines changed Original file line number Diff line number Diff line change @@ -16,6 +16,7 @@ public final class org/modelix/mps/api/ModelixMpsApi : org/modelix/mps/api/IMode
1616 public fun getVirtualFolder (Lorg/jetbrains/mps/openapi/module/SModule;)Ljava/lang/String;
1717 public fun getVirtualFolder (Lorg/jetbrains/mps/openapi/project/Project;Lorg/jetbrains/mps/openapi/module/SModule;)Ljava/lang/String;
1818 public fun getVirtualFolders (Lorg/jetbrains/mps/openapi/module/SModule;)Ljava/util/List;
19+ public fun loadIcon (Ljava/lang/String;Ljava/lang/Class;)Ljavax/swing/Icon;
1920 public fun runWithProject (Lcom/intellij/openapi/project/Project;Lkotlin/jvm/functions/Function0;)Ljava/lang/Object;
2021 public fun runWithProject (Lorg/jetbrains/mps/openapi/project/Project;Lkotlin/jvm/functions/Function0;)Ljava/lang/Object;
2122 public fun runWithRepository (Lorg/jetbrains/mps/openapi/module/SRepository;Lkotlin/jvm/functions/Function0;)Ljava/lang/Object;
Original file line number Diff line number Diff line change 11package org.modelix.mps.api
22
3+ import com.intellij.ide.plugins.PluginManagerCore
34import com.intellij.openapi.application.ApplicationInfo
5+ import com.intellij.openapi.extensions.PluginId
46
57private fun detectMpsVersion (): Int {
8+ PluginManagerCore .getPlugin(PluginId .getId(" jetbrains.mps.core" ))
9+ ?.version
10+ ?.substringBefore(" ." )
11+ ?.toInt()
12+ ?.let { return it }
13+
614 val info = ApplicationInfo .getInstance()
715 return (info.majorVersion.toInt() - 2000 ) * 10 + info.minorVersionMainPart.toInt()
816}
917
1018private fun resolveInstance (): IModelixMpsApi {
1119 val mpsVersion = detectMpsVersion()
12- when (mpsVersion) {
20+ return when (mpsVersion) {
1321 203 -> ModelixMpsApiImpl203 ()
1422 211 -> ModelixMpsApiImpl211 ()
1523 212 -> ModelixMpsApiImpl212 ()
@@ -22,8 +30,6 @@ private fun resolveInstance(): IModelixMpsApi {
2230 243 -> ModelixMpsApiImpl243 ()
2331 else -> throw UnsupportedOperationException (" Unsupported MPS version: $mpsVersion " )
2432 }
25- return Class .forName(" org.modelix.mps.api.ModelixMpsApiImpl${detectMpsVersion()} " )
26- .constructors.single().newInstance() as IModelixMpsApi
2733}
2834
2935object ModelixMpsApi : IModelixMpsApi by resolveInstance()
You can’t perform that action at this time.
0 commit comments