Minor. Extract createDefaultFakeSMAP in InlineCodegen

This commit is contained in:
Denis Zharkov
2018-06-19 18:17:14 +03:00
parent 5a4cba7528
commit effdcddeca
@@ -467,22 +467,22 @@ abstract class InlineCodegen<out T : BaseExpressionCodegen>(
typeArguments!!.keys.single().defaultType, typeArguments!!.keys.single().defaultType,
state.typeMapper state.typeMapper
) )
return SMAPAndMethodNode(node, SMAPParser.parseOrCreateDefault(null, null, "fake", -1, -1)) return SMAPAndMethodNode(node, createDefaultFakeSMAP())
} }
functionDescriptor.isBuiltInSuspendCoroutineOrReturnInJvm(languageVersionSettings) -> functionDescriptor.isBuiltInSuspendCoroutineOrReturnInJvm(languageVersionSettings) ->
return SMAPAndMethodNode( return SMAPAndMethodNode(
createMethodNodeForSuspendCoroutineOrReturn(functionDescriptor, state.typeMapper, languageVersionSettings), createMethodNodeForSuspendCoroutineOrReturn(functionDescriptor, state.typeMapper, languageVersionSettings),
SMAPParser.parseOrCreateDefault(null, null, "fake", -1, -1) createDefaultFakeSMAP()
) )
functionDescriptor.isBuiltInIntercepted(languageVersionSettings) -> functionDescriptor.isBuiltInIntercepted(languageVersionSettings) ->
return SMAPAndMethodNode( return SMAPAndMethodNode(
createMethodNodeForIntercepted(functionDescriptor, state.typeMapper, languageVersionSettings), createMethodNodeForIntercepted(functionDescriptor, state.typeMapper, languageVersionSettings),
SMAPParser.parseOrCreateDefault(null, null, "fake", -1, -1) createDefaultFakeSMAP()
) )
functionDescriptor.isBuiltInCoroutineContext(languageVersionSettings) -> functionDescriptor.isBuiltInCoroutineContext(languageVersionSettings) ->
return SMAPAndMethodNode( return SMAPAndMethodNode(
createMethodNodeForCoroutineContext(functionDescriptor, languageVersionSettings), createMethodNodeForCoroutineContext(functionDescriptor, languageVersionSettings),
SMAPParser.parseOrCreateDefault(null, null, "fake", -1, -1) createDefaultFakeSMAP()
) )
functionDescriptor.isBuiltInSuspendCoroutineUninterceptedOrReturnInJvm(languageVersionSettings) -> functionDescriptor.isBuiltInSuspendCoroutineUninterceptedOrReturnInJvm(languageVersionSettings) ->
return SMAPAndMethodNode( return SMAPAndMethodNode(
@@ -491,12 +491,12 @@ abstract class InlineCodegen<out T : BaseExpressionCodegen>(
state.typeMapper, state.typeMapper,
languageVersionSettings languageVersionSettings
), ),
SMAPParser.parseOrCreateDefault(null, null, "fake", -1, -1) createDefaultFakeSMAP()
) )
functionDescriptor.isBuiltinAlwaysEnabledAssert() -> functionDescriptor.isBuiltinAlwaysEnabledAssert() ->
return SMAPAndMethodNode( return SMAPAndMethodNode(
createMethodNodeForAlwaysEnabledAssert(functionDescriptor, state.typeMapper), createMethodNodeForAlwaysEnabledAssert(functionDescriptor, state.typeMapper),
SMAPParser.parseOrCreateDefault(null, null, "fake", -1, -1) createDefaultFakeSMAP()
) )
} }
@@ -523,6 +523,8 @@ abstract class InlineCodegen<out T : BaseExpressionCodegen>(
return resultInCache.copyWithNewNode(cloneMethodNode(resultInCache.node)) return resultInCache.copyWithNewNode(cloneMethodNode(resultInCache.node))
} }
private fun createDefaultFakeSMAP() = SMAPParser.parseOrCreateDefault(null, null, "fake", -1, -1)
// For suspend inline functions we generate two methods: // For suspend inline functions we generate two methods:
// 1) normal one: with state machine to call directly // 1) normal one: with state machine to call directly
// 2) for inliner: with mangled name and without state machine // 2) for inliner: with mangled name and without state machine
@@ -789,4 +791,4 @@ class PsiInlineCodegen(
delayedHiddenWriting!!.invoke() delayedHiddenWriting!!.invoke()
delayedHiddenWriting = null delayedHiddenWriting = null
} }
} }