solidity-antlr4
Version:
Solidity Lang Lexer and Parser by official ANTLR4 grammar
28 lines (27 loc) • 700 B
JavaScript
import { BaseNodeString } from "../base.js";
export class Visibility extends BaseNodeString {
// type = 'Visibility' as const;
name = null;
constructor(ctx, visitor) {
super(ctx, visitor);
const format = (n) => {
if (Array.isArray(n)) {
return !!n.length;
} else if (!!n?.symbol) {
return true;
}
return false;
};
if (format(ctx.External?.())) {
this.name = "external";
} else if (format(ctx.Internal?.())) {
this.name = "internal";
} else if (format(ctx.Private?.())) {
this.name = "private";
} else if (format(ctx.Public?.())) {
this.name = "public";
} else {
this.name = null;
}
}
}