in src/parser/WDL/hermes/wdl_parser.js [1945:1982]
function nud_type_e(ctx) {
var tree = new ParseTree(new NonTerminal(76, 'type_e'));
var current = ctx.tokens.current();
var ast_parameters;
ctx.nonterminal = "type_e";
if (!current) {
return tree;
}
if (rule_first[76].indexOf(current.id) != -1) {
// $type_e = :type <=> :lsquare $_gen17 :rsquare -> Type( name=$0, subtype=$2 )
ctx.rule = rules[76];
tree.astTransform = new AstTransformSubstitution(0);
tree.nudMorphemeCount = 1;
tree.add(expect(ctx, 41));
}
else if (rule_first[77].indexOf(current.id) != -1) {
// $type_e = :type <=> :qmark -> OptionalType( innerType=$0 )
ctx.rule = rules[77];
tree.astTransform = new AstTransformSubstitution(0);
tree.nudMorphemeCount = 1;
tree.add(expect(ctx, 41));
}
else if (rule_first[78].indexOf(current.id) != -1) {
// $type_e = :type <=> :plus -> NonEmptyType( innerType=$0 )
ctx.rule = rules[78];
tree.astTransform = new AstTransformSubstitution(0);
tree.nudMorphemeCount = 1;
tree.add(expect(ctx, 41));
}
else if (rule_first[79].indexOf(current.id) != -1) {
// $type_e = :type
ctx.rule = rules[79];
tree.astTransform = new AstTransformSubstitution(0);
tree.nudMorphemeCount = 1;
tree.add(expect(ctx, 41));
}
return tree;
}