Skip to content

Commit df3b2be

Browse files
committed
Support type names with enclosed dots, see #423
1 parent 72dc26e commit df3b2be

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

src/parser.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -459,6 +459,23 @@ export class Parser extends DiagnosticEmitter {
459459
let parameters = new Array<TypeNode>();
460460
let nullable = false;
461461

462+
// Identifier ('.' Identifier)+
463+
while (tn.skip(Token.DOT)) {
464+
if (tn.skip(Token.IDENTIFIER)) {
465+
// TODO: this works for now, but the representation isn't great
466+
identifier = Node.createIdentifierExpression(
467+
identifier.text + "." + tn.readIdentifier(),
468+
tn.range(identifier.range.start, tn.pos)
469+
);
470+
} else {
471+
this.error(
472+
DiagnosticCode.Identifier_expected,
473+
tn.range(tn.pos)
474+
);
475+
return null;
476+
}
477+
}
478+
462479
// Name<T>
463480
if (tn.skip(Token.LESSTHAN)) {
464481
do {

0 commit comments

Comments
 (0)