ECMAScriptParser.java 文件源码

java
阅读 16 收藏 0 点赞 0 评论 0

项目:monto-javascript-services 作者:
@Override
public ProductMessage onVersionMessage(List<Message> messages) throws IOException {
    VersionMessage version = Messages.getVersionMessage(messages);
    if (!version.getLanguage().equals(JAVASCRIPT)) {
        throw new IllegalArgumentException("wrong language in version message");
    }
    lexer.setInputStream(new ANTLRInputStream(version.getContent().getReader()));
    CommonTokenStream tokens = new CommonTokenStream(lexer);

    parser.setTokenStream(tokens);
    ParserRuleContext root = parser.program();
    ParseTreeWalker walker = new ParseTreeWalker();

    Converter converter = new Converter();
    walker.walk(converter, root);

    return new ProductMessage(
            version.getVersionId(),
            new LongKey(1),
            version.getSource(),
            AST,
            JAVASCRIPT,
            ASTs.encode(converter.getRoot()));
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号