Skip to content

Commit e4e3f2d

Browse files
committed
Change preprocessModel to take Model instead of PluginContext
1 parent 5405242 commit e4e3f2d

File tree

2 files changed

+10
-14
lines changed

2 files changed

+10
-14
lines changed

smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/CodegenVisitor.java

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
import software.amazon.smithy.model.shapes.UnionShape;
5151
import software.amazon.smithy.model.traits.EnumTrait;
5252
import software.amazon.smithy.model.traits.PaginatedTrait;
53+
import software.amazon.smithy.model.transform.ModelTransformer;
5354
import software.amazon.smithy.model.validation.ValidationEvent;
5455
import software.amazon.smithy.typescript.codegen.TypeScriptSettings.ArtifactType;
5556
import software.amazon.smithy.typescript.codegen.integration.ProtocolGenerator;
@@ -108,18 +109,14 @@ class CodegenVisitor extends ShapeVisitor.Default<Void> {
108109
integrations.sort(Comparator.comparingInt(TypeScriptIntegration::getOrder));
109110

110111
// Preprocess model using integrations.
111-
TypeScriptSettings typescriptSettings = TypeScriptSettings.from(
112-
context.getModel(), context.getSettings(), artifactType);
112+
settings = TypeScriptSettings.from(context.getModel(), context.getSettings(), artifactType);
113+
Model modifiedModel = context.getModel();
113114
for (TypeScriptIntegration integration : integrations) {
114-
Model modifiedModel = integration.preprocessModel(context, typescriptSettings);
115-
if (modifiedModel != context.getModel()) {
116-
context = context.toBuilder().model(modifiedModel).build();
117-
typescriptSettings = TypeScriptSettings.from(modifiedModel, context.getSettings(), artifactType);
118-
}
115+
modifiedModel = integration.preprocessModel(modifiedModel, settings);
119116
}
120-
settings = typescriptSettings;
121-
model = context.getModel();
122-
nonTraits = context.getModelWithoutTraitShapes();
117+
model = modifiedModel;
118+
nonTraits = ModelTransformer.create().getModelWithoutTraitShapes(model);
119+
123120
service = settings.getService(model);
124121

125122
if (settings.getArtifactType().equals(ArtifactType.SSDK)) {

smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/integration/TypeScriptIntegration.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import java.util.Map;
2121
import java.util.function.BiConsumer;
2222
import java.util.function.Consumer;
23-
import software.amazon.smithy.build.PluginContext;
2423
import software.amazon.smithy.codegen.core.Symbol;
2524
import software.amazon.smithy.codegen.core.SymbolDependency;
2625
import software.amazon.smithy.codegen.core.SymbolProvider;
@@ -61,12 +60,12 @@ default byte getOrder() {
6160
* <p>This can be used to remove unsupported features, remove traits
6261
* from shapes (e.g., make members optional), etc.
6362
*
64-
* @param context Plugin context.
63+
* @param model Model being generated.
6564
* @param settings Setting used to generate.
6665
* @return Returns the updated model.
6766
*/
68-
default Model preprocessModel(PluginContext context, TypeScriptSettings settings) {
69-
return context.getModel();
67+
default Model preprocessModel(Model model, TypeScriptSettings settings) {
68+
return model;
7069
}
7170

7271
/**

0 commit comments

Comments
 (0)