Use deserializeStrategy WITH_INLINE_BODIES for caches
This commit is contained in:
committed by
Stanislav Erokhin
parent
0dfc99ab1a
commit
c9a64c2dbb
+6
-4
@@ -117,10 +117,12 @@ internal fun Context.psiToIr(
|
|||||||
val kotlinLibrary = dependency.getCapability(KlibModuleOrigin.CAPABILITY)?.let {
|
val kotlinLibrary = dependency.getCapability(KlibModuleOrigin.CAPABILITY)?.let {
|
||||||
(it as? DeserializedKlibModuleOrigin)?.library
|
(it as? DeserializedKlibModuleOrigin)?.library
|
||||||
}
|
}
|
||||||
if (isProducingLibrary)
|
when {
|
||||||
linker.deserializeOnlyHeaderModule(dependency, kotlinLibrary)
|
isProducingLibrary -> linker.deserializeOnlyHeaderModule(dependency, kotlinLibrary)
|
||||||
else
|
kotlinLibrary != null && config.cachedLibraries.isLibraryCached(kotlinLibrary) ->
|
||||||
linker.deserializeIrModuleHeader(dependency, kotlinLibrary)
|
linker.deserializeHeadersWithInlineBodies(dependency, kotlinLibrary)
|
||||||
|
else -> linker.deserializeIrModuleHeader(dependency, kotlinLibrary)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (dependencies.size == dependenciesCount) break
|
if (dependencies.size == dependenciesCount) break
|
||||||
dependenciesCount = dependencies.size
|
dependenciesCount = dependencies.size
|
||||||
|
|||||||
+3
-1
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.ir.builders.*
|
|||||||
import org.jetbrains.kotlin.ir.declarations.IrClass
|
import org.jetbrains.kotlin.ir.declarations.IrClass
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrFunction
|
import org.jetbrains.kotlin.ir.declarations.IrFunction
|
||||||
import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
|
import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
|
||||||
|
import org.jetbrains.kotlin.ir.expressions.impl.IrCallImpl
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol
|
||||||
import org.jetbrains.kotlin.ir.types.classOrNull
|
import org.jetbrains.kotlin.ir.types.classOrNull
|
||||||
import org.jetbrains.kotlin.ir.types.getClass
|
import org.jetbrains.kotlin.ir.types.getClass
|
||||||
@@ -87,7 +88,8 @@ internal class CEnumByValueFunctionGenerator(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+irCall(symbols.throwNullPointerException, irBuiltIns.nothingType)
|
+IrCallImpl.fromSymbolDescriptor(startOffset, endOffset, irBuiltIns.nothingType,
|
||||||
|
symbols.throwNullPointerException)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
return byValueIrFunction
|
return byValueIrFunction
|
||||||
|
|||||||
Reference in New Issue
Block a user