OLD | NEW |
1 import * as ts from 'typescript'; | 1 import * as ts from 'typescript'; |
2 | 2 |
3 import * as base from './base'; | 3 import * as base from './base'; |
4 import {FacadeConverter, fixupIdentifierName} from './facade_converter'; | 4 import {FacadeConverter, fixupIdentifierName} from './facade_converter'; |
5 import {Transpiler} from './main'; | 5 import {Transpiler} from './main'; |
6 | 6 |
7 export default class TypeTranspiler extends base.TranspilerBase { | 7 export default class TypeTranspiler extends base.TranspilerBase { |
8 constructor(tr: Transpiler, private fc: FacadeConverter) { super(tr); } | 8 constructor(tr: Transpiler, private fc: FacadeConverter) { |
| 9 super(tr); |
| 10 } |
9 | 11 |
10 visitNode(node: ts.Node): boolean { | 12 visitNode(node: ts.Node): boolean { |
11 if (base.isTypeNode(node)) { | 13 if (base.isTypeNode(node)) { |
12 this.emit(this.fc.generateDartTypeName(<ts.TypeNode>node)); | 14 this.emit(this.fc.generateDartTypeName(<ts.TypeNode>node)); |
13 return true; | 15 return true; |
14 } | 16 } |
15 switch (node.kind) { | 17 switch (node.kind) { |
16 case ts.SyntaxKind.TypeAssertionExpression: | 18 case ts.SyntaxKind.TypeAssertionExpression: |
17 let typeAssertExpr = <ts.TypeAssertion>node; | 19 let typeAssertExpr = <ts.TypeAssertion>node; |
18 if (this.isReifiedTypeLiteral(typeAssertExpr)) { | 20 if (this.isReifiedTypeLiteral(typeAssertExpr)) { |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 node.type.kind === ts.SyntaxKind.ArrayType) { | 70 node.type.kind === ts.SyntaxKind.ArrayType) { |
69 return true; | 71 return true; |
70 } else if ( | 72 } else if ( |
71 node.expression.kind === ts.SyntaxKind.ObjectLiteralExpression && | 73 node.expression.kind === ts.SyntaxKind.ObjectLiteralExpression && |
72 node.type.kind === ts.SyntaxKind.TypeLiteral) { | 74 node.type.kind === ts.SyntaxKind.TypeLiteral) { |
73 return true; | 75 return true; |
74 } | 76 } |
75 return false; | 77 return false; |
76 } | 78 } |
77 } | 79 } |
OLD | NEW |