Chromium Code Reviews| Index: sdk/lib/_internal/compiler/implementation/mirror_renamer/emitter_unparser.dart |
| diff --git a/sdk/lib/_internal/compiler/implementation/mirror_renamer/emitter_unparser.dart b/sdk/lib/_internal/compiler/implementation/mirror_renamer/emitter_unparser.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..6202a6499a8cab393706a5a1321128bfa4547d7b |
| --- /dev/null |
| +++ b/sdk/lib/_internal/compiler/implementation/mirror_renamer/emitter_unparser.dart |
| @@ -0,0 +1,31 @@ |
| +part of mirror_renamer; |
|
ahe
2013/08/12 15:43:21
No copyright.
|
| + |
| +class MirrorRenamerUnparser extends EmitterUnparser { |
| + |
| + MirrorRenamerUnparser(Map<Node, String> renames) : super(renames); |
| + |
| + emitRenames() { |
| + var renames = MirrorRenamer.inverseRenames; |
| + for(String s in renames.keys) { |
| + sb.write("${MirrorRenamer.MIRROR_HELPER_CLASS_FULLY_QUALIFIED_NAME}." |
| + "${MirrorRenamer.MIRROR_HELPER_ADD_RENAME_FUNCTION}" |
| + "('$s','${renames[s]}');"); |
| + } |
| + } |
| + |
| + unparseTopLevelMain(FunctionExpression node) { |
| + visit(node.returnType); |
| + sb.write(' '); |
| + unparseFunctionName(node.name); |
| + visit(node.parameters); |
| + Block body = node.body; |
| + NodeList statements = body.statements; |
| + addToken(statements.beginToken); |
| + |
| + emitRenames(); |
| + if (statements.nodes != null) { |
| + unparseNodeListFrom(statements, statements.nodes); |
| + } |
| + if (statements.endToken != null) add(statements.endToken.value); |
| + } |
| +} |