Skip to content

Commit 90cc127

Browse files
authored
Revert "Always name parameters in code gen" (#1980)
Reverts #1977
1 parent 2eb4f23 commit 90cc127

File tree

2 files changed

+18
-50
lines changed

2 files changed

+18
-50
lines changed

circuit-codegen/src/main/kotlin/com/slack/circuit/codegen/CircuitSymbolProcessorProvider.kt

+18-2
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,13 @@ private class CircuitSymbolProcessor(
303303
FactoryType.UI
304304
}
305305
val assistedParams =
306-
fd.assistedParameters(symbols, logger, screenKSType, factoryType == FactoryType.PRESENTER)
306+
fd.assistedParameters(
307+
symbols,
308+
logger,
309+
screenKSType,
310+
factoryType == FactoryType.PRESENTER,
311+
includeParameterNames = codegenMode != KOTLIN_INJECT_ANVIL,
312+
)
307313
codeBlock =
308314
when (factoryType) {
309315
FactoryType.PRESENTER ->
@@ -470,6 +476,7 @@ private class CircuitSymbolProcessor(
470476
logger,
471477
screenKSType,
472478
allowNavigator = factoryType == FactoryType.PRESENTER,
479+
includeParameterNames = codegenMode != KOTLIN_INJECT_ANVIL,
473480
)
474481
}
475482
codeBlock =
@@ -541,6 +548,7 @@ private fun KSFunctionDeclaration.assistedParameters(
541548
logger: KSPLogger,
542549
screenType: KSType,
543550
allowNavigator: Boolean,
551+
includeParameterNames: Boolean,
544552
): CodeBlock {
545553
return buildSet {
546554
for (param in parameters) {
@@ -575,7 +583,15 @@ private fun KSFunctionDeclaration.assistedParameters(
575583
}
576584
}
577585
.toList()
578-
.map { CodeBlock.of("${it.name} = ${it.factoryName}") }
586+
.map {
587+
val prefix =
588+
if (includeParameterNames) {
589+
"${it.name} = "
590+
} else {
591+
""
592+
}
593+
CodeBlock.of("$prefix${it.factoryName}")
594+
}
579595
.joinToCode("")
580596
}
581597

circuit-codegen/src/test/kotlin/com/slack/circuit/codegen/CircuitSymbolProcessorTest.kt

-48
Original file line numberDiff line numberDiff line change
@@ -1328,54 +1328,6 @@ class CircuitSymbolProcessorTest {
13281328
}
13291329
}
13301330

1331-
// Regression test for https://github.com/slackhq/circuit/issues/1704
1332-
@Test
1333-
fun parameterOrderDoesNotMatter() {
1334-
assertGeneratedFile(
1335-
sourceFile =
1336-
kotlin(
1337-
"ParameterOrdering.kt",
1338-
"""
1339-
package test
1340-
1341-
import com.slack.circuit.codegen.annotations.CircuitInject
1342-
import com.slack.circuit.runtime.screen.StaticScreen
1343-
import androidx.compose.runtime.Composable
1344-
import androidx.compose.ui.Modifier
1345-
1346-
data object Static : StaticScreen
1347-
1348-
@CircuitInject(Static::class, AppScope::class)
1349-
@Composable
1350-
fun StaticUi(screen: Static, modifier: Modifier) {}
1351-
"""
1352-
.trimIndent(),
1353-
),
1354-
generatedFilePath = "test/StaticUiFactory.kt",
1355-
expectedContent =
1356-
"""
1357-
package test
1358-
1359-
import com.slack.circuit.runtime.CircuitContext
1360-
import com.slack.circuit.runtime.CircuitUiState
1361-
import com.slack.circuit.runtime.screen.Screen
1362-
import com.slack.circuit.runtime.ui.Ui
1363-
import com.slack.circuit.runtime.ui.ui
1364-
import com.squareup.anvil.annotations.ContributesMultibinding
1365-
import javax.inject.Inject
1366-
1367-
@ContributesMultibinding(AppScope::class)
1368-
public class StaticUiFactory @Inject constructor() : Ui.Factory {
1369-
override fun create(screen: Screen, context: CircuitContext): Ui<*>? = when (screen) {
1370-
Static -> ui<CircuitUiState> { _, modifier -> StaticUi(modifier = modifier, screen = screen) }
1371-
else -> null
1372-
}
1373-
}
1374-
"""
1375-
.trimIndent(),
1376-
)
1377-
}
1378-
13791331
private enum class CodegenMode {
13801332
ANVIL,
13811333
HILT,

0 commit comments

Comments
 (0)