solidity-antlr4
Version:
Solidity Lang Lexer and Parser by official ANTLR4 grammar
23 lines (22 loc) • 710 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.TypeName = void 0;
var _base = require("../base.cjs");
class TypeNameWithArray extends _base.BaseNodeString {
type = "TypeName";
baseType;
expression;
constructor(ctx, visitor) {
super(ctx, visitor);
const target = [ctx.elementaryTypeName(), ctx.functionTypeName(), ctx.mappingType(), ctx.identifierPath(), ctx.typeName()].find(Boolean);
if (!ctx.LBrack()) {
return target.accept(visitor);
}
this.name = ctx.getText();
this.baseType = target.accept(visitor);
this.expression = ctx.expression()?.accept(visitor) ?? null;
}
}
const TypeName = exports.TypeName = TypeNameWithArray;