google / google/closure-templates
SoySyntaxException: Undefined field for param that have two record type
- Dominant language
- Java
- Stars
- 700
- Forks
- 199
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 26
Description
INTERNAL SOY ERROR.
Please open an issue at https://github.com/google/closure-templates/issues with this stack trace and repro steps
com.google.template.soy.base.SoySyntaxException: In file blocks/b-bouton/b-bouton.soy:19:5, template gorod.bBouton.Bo
utonTemplate.render: Invalid expression "$params.label2": Undefined field 'label2' for record type [label: string]
at com.google.template.soy.base.SoySyntaxException.createWithoutMetaInfo(SoySyntaxException.java:53)
at com.google.template.soy.soytree.SoySyntaxExceptionUtils.createWithNode(SoySyntaxExceptionUtils.java:47)
at com.google.template.soy.sharedpasses.ResolveExpressionTypesVisitor$ResolveTypesExprVisitor.createException
ForInvalidExpr(ResolveExpressionTypesVisitor.java:890)
at com.google.template.soy.sharedpasses.ResolveExpressionTypesVisitor$ResolveTypesExprVisitor.getFieldType(Re
solveExpressionTypesVisitor.java:780)
at com.google.template.soy.sharedpasses.ResolveExpressionTypesVisitor$ResolveTypesExprVisitor.getFieldType(Re
solveExpressionTypesVisitor.java:802)
at com.google.template.soy.sharedpasses.ResolveExpressionTypesVisitor$ResolveTypesExprVisitor.visitFieldAcces
sNode(ResolveExpressionTypesVisitor.java:461)
at com.google.template.soy.exprtree.AbstractExprNodeVisitor.visit(AbstractExprNodeVisitor.java:92)
at com.google.template.soy.exprtree.AbstractExprNodeVisitor.visit(AbstractExprNodeVisitor.java:70)
at com.google.template.soy.basetree.AbstractNodeVisitor.visitChildren(AbstractNodeVisitor.java:64)
at com.google.template.soy.exprtree.AbstractExprNodeVisitor.visitChildren(AbstractExprNodeVisitor.java:129)
at com.google.template.soy.sharedpasses.ResolveExpressionTypesVisitor$ResolveTypesExprVisitor.visitExprRootNo
de(ResolveExpressionTypesVisitor.java:370)
at com.google.template.soy.exprtree.AbstractExprNodeVisitor.visit(AbstractExprNodeVisitor.java:80)
at com.google.template.soy.sharedpasses.ResolveExpressionTypesVisitor$ResolveTypesExprVisitor.exec(ResolveExp
ressionTypesVisitor.java:362)
at com.google.template.soy.sharedpasses.ResolveExpressionTypesVisitor.visitExpressions(ResolveExpressionTypes
Visitor.java:282)
at com.google.template.soy.sharedpasses.ResolveExpressionTypesVisitor.visitSoyNode(ResolveExpressionTypesVisi
tor.java:270)
at com.google.template.soy.sharedpasses.ResolveExpressionTypesVisitor.visitPrintNode(ResolveExpressionTypesVi
sitor.java:134)
at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:89)
at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:55)
at com.google.template.soy.basetree.AbstractNodeVisitor.visitChildren(AbstractNodeVisitor.java:64)
at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visitChildren(AbstractSoyNodeVisitor.java:131)
at com.google.template.soy.sharedpasses.ResolveExpressionTypesVisitor.visitSoyNode(ResolveExpressionTypesVisi
tor.java:274)
at com.google.template.soy.sharedpasses.ResolveExpressionTypesVisitor.visitTemplateNode(ResolveExpressionType
sVisitor.java:130)
at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visitTemplateBasicNode(AbstractSoyNodeVisitor.java:
162)
at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:68)
at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:55)
at com.google.template.soy.basetree.AbstractNodeVisitor.visitChildren(AbstractNodeVisitor.java:64)
at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visitChildren(AbstractSoyNodeVisitor.java:131)
at com.google.template.soy.sharedpasses.ResolveExpressionTypesVisitor.visitSoyNode(ResolveExpressionTypesVisi
tor.java:274)
at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visitSoyFileNode(AbstractSoyNodeVisitor.java:158)
at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:66)
at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:55)
at com.google.template.soy.basetree.AbstractNodeVisitor.exec(AbstractNodeVisitor.java:45)
at com.google.template.soy.SoyFileSetParser.runSingleFileParsingPasses(SoyFileSetParser.java:265)
at com.google.template.soy.SoyFileSetParser.parseWithVersions(SoyFileSetParser.java:185)
at com.google.template.soy.SoyFileSetParser.parse(SoyFileSetParser.java:142)
at com.google.template.soy.SoyFileSet.compileToJsSrcFiles(SoyFileSet.java:965)
at com.google.template.soy.SoyToJsSrcCompiler.execMain(SoyToJsSrcCompiler.java:305)
at com.google.template.soy.SoyToJsSrcCompiler.access$100(SoyToJsSrcCompiler.java:41)
at com.google.template.soy.SoyToJsSrcCompiler$1.main(SoyToJsSrcCompiler.java:246)
at com.google.template.soy.MainClassUtils.runInternal(MainClassUtils.java:195)
at com.google.template.soy.MainClassUtils.run(MainClassUtils.java:187)
at com.google.template.soy.SoyToJsSrcCompiler.main(SoyToJsSrcCompiler.java:243)
Template:
```
{template .render}
{@param params: [
label: string
]|[
label: string,
label2: string
]}
{ $params.label }
{ $params.label2 }
{/template}
```
```
{call gorod.bBouton.BoutonTemplate.render}
{param params : [
'label': '',
'label2': ''
]/}
{/call}
```
Contributor guide
Assessment
This issue has not been assessed yet.