OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 part of dart2js.js_emitter; | 5 part of dart2js.js_emitter; |
6 | 6 |
7 | 7 |
8 class OldEmitter implements Emitter { | 8 class OldEmitter implements Emitter { |
9 final Compiler compiler; | 9 final Compiler compiler; |
10 final CodeEmitterTask task; | 10 final CodeEmitterTask task; |
(...skipping 1654 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1665 compiler.sourceMapUri, compiler.outputUri); | 1665 compiler.sourceMapUri, compiler.outputUri); |
1666 mainBuffer.add( | 1666 mainBuffer.add( |
1667 generateSourceMapTag(compiler.sourceMapUri, compiler.outputUri)); | 1667 generateSourceMapTag(compiler.sourceMapUri, compiler.outputUri)); |
1668 assembledCode = mainBuffer.getText(); | 1668 assembledCode = mainBuffer.getText(); |
1669 } | 1669 } |
1670 | 1670 |
1671 compiler.outputProvider('', 'js') | 1671 compiler.outputProvider('', 'js') |
1672 ..add(assembledCode) | 1672 ..add(assembledCode) |
1673 ..close(); | 1673 ..close(); |
1674 compiler.assembledCode = assembledCode; | 1674 compiler.assembledCode = assembledCode; |
1675 | |
1676 if (!compiler.useContentSecurityPolicy) { | |
1677 CodeBuffer cspBuffer = new CodeBuffer(); | |
1678 cspBuffer.add(mainBuffer); | |
1679 cspBuffer.write(""" | |
1680 { | |
1681 var message = | |
1682 'Deprecation: Automatic generation of output for Content Security\\n' + | |
1683 'Policy is deprecated and will be removed with the next development\\n' + | |
1684 'release. Use the --csp option to generate CSP restricted output.'; | |
1685 if (typeof dartPrint == "function") { | |
1686 dartPrint(message); | |
1687 } else if (typeof console == "object" && typeof console.log == "function") { | |
1688 console.log(message); | |
1689 } else if (typeof print == "function") { | |
1690 print(message); | |
1691 } | |
1692 }\n"""); | |
1693 | |
1694 cspBuffer.write( | |
1695 jsAst.prettyPrint( | |
1696 precompiledFunctionAst, compiler, | |
1697 allowVariableMinification: false).getText()); | |
1698 | |
1699 compiler.outputProvider('', 'precompiled.js') | |
1700 ..add(cspBuffer.getText()) | |
1701 ..close(); | |
1702 } | |
1703 } | 1675 } |
1704 | 1676 |
1705 /// Returns a map from OutputUnit to a hash of its content. The hash uniquely | 1677 /// Returns a map from OutputUnit to a hash of its content. The hash uniquely |
1706 /// identifies the code of the output-unit. It does not include | 1678 /// identifies the code of the output-unit. It does not include |
1707 /// boilerplate JS code, like the sourcemap directives or the hash | 1679 /// boilerplate JS code, like the sourcemap directives or the hash |
1708 /// itself. | 1680 /// itself. |
1709 Map<OutputUnit, String> emitDeferredOutputUnits() { | 1681 Map<OutputUnit, String> emitDeferredOutputUnits() { |
1710 if (!compiler.deferredLoadTask.isProgramSplit) return const {}; | 1682 if (!compiler.deferredLoadTask.isProgramSplit) return const {}; |
1711 | 1683 |
1712 Map<OutputUnit, CodeBuffer> outputBuffers = | 1684 Map<OutputUnit, CodeBuffer> outputBuffers = |
(...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2033 for (Element element in compiler.enqueuer.codegen.newlyEnqueuedElements) { | 2005 for (Element element in compiler.enqueuer.codegen.newlyEnqueuedElements) { |
2034 if (element.isInstanceMember) { | 2006 if (element.isInstanceMember) { |
2035 cachedClassBuilders.remove(element.enclosingClass); | 2007 cachedClassBuilders.remove(element.enclosingClass); |
2036 | 2008 |
2037 nativeEmitter.cachedBuilders.remove(element.enclosingClass); | 2009 nativeEmitter.cachedBuilders.remove(element.enclosingClass); |
2038 | 2010 |
2039 } | 2011 } |
2040 } | 2012 } |
2041 } | 2013 } |
2042 } | 2014 } |
OLD | NEW |