Closed
Description
If a field is named case
in the protos, the generator fails with the following exception:
Exception in thread "main" com.google.api.generator.engine.ast.IdentifierNode$InvalidIdentifierException: Name case cannot be a keyword.
at com.google.api.generator.engine.ast.IdentifierNode$Builder.build(IdentifierNode.java:99)
at com.google.api.generator.engine.ast.IdentifierNode$Builder.buildVariableIdentifier(IdentifierNode.java:63)
at com.google.api.generator.engine.ast.Variable$Builder.build(Variable.java:46)
at com.google.api.generator.gapic.composer.common.AbstractServiceClientClassComposer.lambda$createMethodVariants$6(AbstractServiceClientClassComposer.java:668)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
at com.google.api.generator.gapic.composer.common.AbstractServiceClientClassComposer.createMethodVariants(AbstractServiceClientClassComposer.java:671)
at com.google.api.generator.gapic.composer.common.AbstractServiceClientClassComposer.createServiceMethods(AbstractServiceClientClassComposer.java:578)
at com.google.api.generator.gapic.composer.common.AbstractServiceClientClassComposer.createClassMethods(AbstractServiceClientClassComposer.java:216)
at com.google.api.generator.gapic.composer.common.AbstractServiceClientClassComposer.generate(AbstractServiceClientClassComposer.java:150)
at com.google.api.generator.gapic.composer.Composer.lambda$generateClientSettingsClasses$3(Composer.java:134)
at com.google.common.collect.ImmutableList.forEach(ImmutableList.java:422)
at com.google.api.generator.gapic.composer.Composer.generateClientSettingsClasses(Composer.java:122)
at com.google.api.generator.gapic.composer.Composer.generateServiceClasses(Composer.java:58)
at com.google.api.generator.gapic.composer.Composer.composeServiceClasses(Composer.java:45)
at com.google.api.generator.gapic.Generator.generateGapic(Generator.java:30)
at com.google.api.generator.Main.main(Main.java:28)
--java_gapic_out: protoc-gen-java_gapic: Plugin failed with status code 1.
AIP-140 suggests that the APIs should not use possible keywords in names but does not forbid it, and this specific API won't be able to rename it because it's already public.