Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When the parameter of choice type is constant, document generation fails. #592

Closed
kancve opened this issue Apr 12, 2024 · 1 comment
Closed
Assignees
Labels
bug Something isn't working doc HTML documentation generator
Milestone

Comments

@kancve
Copy link

kancve commented Apr 12, 2024

Zserio version and language
Zserio: 2.13.0
Language: C++/Doc

Describe the bug
When the parameter of choice type is constant, document generation fails.

How to reproduce
Steps to reproduce the behavior:

  • Schema (minimum working example)
package choicetest;

const uint8 COORD_32 = 32;

choice VarCoordXY(uint8 width) on width
{
    case  8: bit:8  coord8;
    case 16: bit:16 coord16;
    case 24: bit:24 coord24;
    case COORD_32: bit:32 coord32;
};
  • Zserio command line options
java -jar zserio.jar -src . -cpp cpp -doc doc choicetest.zs
  • Error
root@93862d0b4653:/root/schema# java -jar zserio.jar -src . -cpp cpp -doc doc choicetest.zs 
Parsing ./choicetest.zs
Calling C++11 Generator extension check
Calling Doc Generator extension check
Calling Java Generator extension check
Calling Python Generator extension check
Calling XML Generator extension check
Calling C++11 Generator extension
  Generated 3 files
Calling Doc Generator extension
[ERROR] Doc Generator: java.lang.NullPointerException
        at zserio.extension.doc.AstNodeNameMapper.getName(AstNodeNameMapper.java:57)
        at zserio.extension.doc.SymbolTemplateDataCreator.createHtmlTitle(SymbolTemplateDataCreator.java:184)
        at zserio.extension.doc.SymbolTemplateDataCreator.createData(SymbolTemplateDataCreator.java:77)
        at zserio.extension.doc.SymbolTemplateDataCreator.createData(SymbolTemplateDataCreator.java:141)
        at zserio.extension.doc.ChoiceTemplateData$CaseTemplateData.<init>(ChoiceTemplateData.java:95)
        at zserio.extension.doc.ChoiceTemplateData$CaseMemberTemplateData.<init>(ChoiceTemplateData.java:65)
        at zserio.extension.doc.ChoiceTemplateData.<init>(ChoiceTemplateData.java:35)
        at zserio.extension.doc.PackageEmitter.beginChoice(PackageEmitter.java:140)
        at zserio.ast.ZserioAstTreeWalker.visitChoiceType(ZserioAstTreeWalker.java:127)
        at zserio.ast.ChoiceType.accept(ChoiceType.java:48)
        at zserio.ast.Package.visitChildren(Package.java:66)
        at zserio.ast.ZserioAstTreeWalker.visitPackage(ZserioAstTreeWalker.java:42)
        at zserio.ast.Package.accept(Package.java:51)
        at zserio.ast.Root.visitChildren(Root.java:39)
        at zserio.ast.ZserioAstTreeWalker.visitRoot(ZserioAstTreeWalker.java:27)
        at zserio.ast.Root.accept(Root.java:32)
        at zserio.ast.Root.walk(Root.java:66)
        at zserio.extension.doc.DocExtension.process(DocExtension.java:103)
        at zserio.tools.ExtensionManager.process(ExtensionManager.java:122)
        at zserio.tools.ExtensionManager.callExtensions(ExtensionManager.java:87)
        at zserio.tools.ZserioTool.process(ZserioTool.java:163)
        at zserio.tools.ZserioTool.execute(ZserioTool.java:154)
        at zserio.tools.ZserioTool.runTool(ZserioTool.java:83)
        at zserio.tools.ZserioTool.main(ZserioTool.java:66)

root@93862d0b4653:/root/schema#
@kancve kancve added the bug Something isn't working label Apr 12, 2024
@Mi-La
Copy link
Contributor

Mi-La commented Apr 12, 2024

Thanks for the nice and clear report!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working doc HTML documentation generator
Projects
None yet
Development

No branches or pull requests

3 participants