| Index: lib/type.ts
|
| diff --git a/lib/type.ts b/lib/type.ts
|
| index b5680f281106246fd898fbc59f72956de1e488ca..d74362db9ead2f7e310b0d8224765c30a9a517aa 100644
|
| --- a/lib/type.ts
|
| +++ b/lib/type.ts
|
| @@ -9,7 +9,7 @@ export default class TypeTranspiler extends base.TranspilerBase {
|
|
|
| visitNode(node: ts.Node): boolean {
|
| if (base.isTypeNode(node)) {
|
| - this.emit(this.fc.generateDartTypeName(<ts.TypeNode>node, this.insideCodeComment));
|
| + this.emit(this.fc.generateDartTypeName(<ts.TypeNode>node));
|
| return true;
|
| }
|
| switch (node.kind) {
|
| @@ -33,11 +33,17 @@ export default class TypeTranspiler extends base.TranspilerBase {
|
| this.visit(typeParam.constraint);
|
| }
|
| break;
|
| + case ts.SyntaxKind.PropertyAccessExpression:
|
| + let expr = <ts.PropertyAccessExpression>node;
|
| + this.visit(expr.expression);
|
| + this.emit('.');
|
| + this.fc.visitTypeName(expr.name);
|
| + break;
|
| case ts.SyntaxKind.QualifiedName:
|
| // TODO(jacobr): there is overlap between this case and
|
| // generateDartTypeName in facade_converter.
|
| let first = <ts.QualifiedName>node;
|
| - let match = this.fc.lookupCustomDartTypeName(first, this.insideCodeComment);
|
| + let match = this.fc.lookupCustomDartTypeName(first);
|
| if (match) {
|
| this.emitType(match.name, match.comment);
|
| break;
|
| @@ -47,26 +53,10 @@ export default class TypeTranspiler extends base.TranspilerBase {
|
| this.visit(first.right);
|
| break;
|
| case ts.SyntaxKind.Identifier:
|
| - let ident = <ts.Identifier>node;
|
| - let text = fixupIdentifierName(ident.text);
|
| + case ts.SyntaxKind.FirstLiteralToken:
|
| + let text = fixupIdentifierName(base.ident(node));
|
| this.emit(text);
|
| break;
|
| - // TODO(jacobr): all these cases might be obsolete.
|
| - case ts.SyntaxKind.NumberKeyword:
|
| - this.emit('num');
|
| - break;
|
| - case ts.SyntaxKind.StringKeyword:
|
| - this.emit('String');
|
| - break;
|
| - case ts.SyntaxKind.VoidKeyword:
|
| - this.emit('void');
|
| - break;
|
| - case ts.SyntaxKind.BooleanKeyword:
|
| - this.emit('bool');
|
| - break;
|
| - case ts.SyntaxKind.AnyKeyword:
|
| - this.emit('dynamic');
|
| - break;
|
| default:
|
| return false;
|
| }
|
|
|