Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(24)

Unified Diff: lib/src/codegen/js_codegen.dart

Issue 1111893002: small refactor: use JS.* prefix for our other JS extensions (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | lib/src/codegen/js_metalet.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/src/codegen/js_codegen.dart
diff --git a/lib/src/codegen/js_codegen.dart b/lib/src/codegen/js_codegen.dart
index f8724d4a0e69c1f0b6467f55e78b2726ba354b71..85ff96ca41c184514ea998be3ba25f18d5a2c928 100644
--- a/lib/src/codegen/js_codegen.dart
+++ b/lib/src/codegen/js_codegen.dart
@@ -31,8 +31,8 @@ import 'package:dev_compiler/src/utils.dart';
import 'code_generator.dart';
import 'js_field_storage.dart';
-import 'js_names.dart' show JSTemporary, invalidJSStaticMethodName;
-import 'js_metalet.dart';
+import 'js_names.dart' as JS;
+import 'js_metalet.dart' as JS;
import 'js_printer.dart' show writeJsLibrary;
import 'side_effect_analysis.dart';
@@ -71,17 +71,17 @@ class JSCodegenVisitor extends GeneralizingAstVisitor with ConversionVisitor {
final _exports = new Set<String>();
final _lazyFields = <VariableDeclaration>[];
final _properties = <FunctionDeclaration>[];
- final _privateNames = new HashMap<String, JSTemporary>();
+ final _privateNames = new HashMap<String, JS.TemporaryId>();
final _extensionMethodNames = new HashSet<String>();
final _pendingStatements = <JS.Statement>[];
- final _temps = new HashMap<Element, JSTemporary>();
+ final _temps = new HashMap<Element, JS.TemporaryId>();
/// The name for the library's exports inside itself.
/// This much be a constant because we interpolate it into template strings,
/// and otherwise it would break caching for them.
/// `exports` was chosen as the most similar to ES module patterns.
- final JSTemporary _exportsVar = new JSTemporary('exports');
- final JSTemporary _namedArgTemp = new JSTemporary('opts');
+ final _exportsVar = new JS.TemporaryId('exports');
+ final _namedArgTemp = new JS.TemporaryId('opts');
/// Classes we have not emitted yet. Values can be [ClassDeclaration] or
/// [ClassTypeAlias].
@@ -1097,8 +1097,8 @@ class JSCodegenVisitor extends GeneralizingAstVisitor with ConversionVisitor {
return new JS.Identifier(name);
}
- JSTemporary _getTemp(Object key, String name) =>
- _temps.putIfAbsent(key, () => new JSTemporary(name));
+ JS.TemporaryId _getTemp(Object key, String name) =>
+ _temps.putIfAbsent(key, () => new JS.TemporaryId(name));
JS.ArrayInitializer _emitTypeNames(List<DartType> types) {
return new JS.ArrayInitializer(types.map(_emitTypeName).toList());
@@ -1197,7 +1197,7 @@ class JSCodegenVisitor extends GeneralizingAstVisitor with ConversionVisitor {
context: node);
}
- JSMetaLet _emitOpAssign(
+ JS.MetaLet _emitOpAssign(
Expression left, Expression right, String op, ExecutableElement element,
{Expression context}) {
// Desugar `x += y` as `x = x + y`, ensuring that if `x` has subexpressions
@@ -1207,7 +1207,7 @@ class JSCodegenVisitor extends GeneralizingAstVisitor with ConversionVisitor {
var inc = AstBuilder.binaryExpression(lhs, op, right);
inc.staticElement = element;
inc.staticType = getStaticType(left);
- return new JSMetaLet(vars, [_emitSet(lhs, inc)]);
+ return new JS.MetaLet(vars, [_emitSet(lhs, inc)]);
}
JS.Expression _emitSet(Expression lhs, Expression rhs) {
@@ -1778,7 +1778,7 @@ class JSCodegenVisitor extends GeneralizingAstVisitor with ConversionVisitor {
/// // psuedocode mix of Scheme and JS:
/// (let* (x1=expr1, x2=expr2, t=expr1[expr2]) { x1[x2] = t + 1; t })
///
- /// The [JSMetaLet] nodes automatically simplify themselves if they can.
+ /// The [JS.JS.MetaLet] nodes automatically simplify themselves if they can.
/// For example, if the result value is not used, then `t` goes away.
@override
JS.Expression visitPostfixExpression(PostfixExpression node) {
@@ -1809,7 +1809,7 @@ class JSCodegenVisitor extends GeneralizingAstVisitor with ConversionVisitor {
..staticType = getStaticType(expr);
var body = [_emitSet(left, increment), _visit(x)];
- return new JSMetaLet(vars, body, statelessResult: true);
+ return new JS.MetaLet(vars, body, statelessResult: true);
}
@override
@@ -1827,7 +1827,7 @@ class JSCodegenVisitor extends GeneralizingAstVisitor with ConversionVisitor {
var vars = {};
var x = _bindLeftHandSide(vars, expr, context: expr);
var body = js.call('# = # $mathop 1', [_visit(x), notNull(x)]);
- return new JSMetaLet(vars, [body]);
+ return new JS.MetaLet(vars, [body]);
} else {
return js.call('$op#', notNull(expr));
}
@@ -1856,7 +1856,7 @@ class JSCodegenVisitor extends GeneralizingAstVisitor with ConversionVisitor {
_cascadeTarget = _bindValue(vars, '_', node.target, context: node);
var sections = _visitList(node.cascadeSections);
sections.add(_visit(_cascadeTarget));
- var result = new JSMetaLet(vars, sections, statelessResult: true);
+ var result = new JS.MetaLet(vars, sections, statelessResult: true);
_cascadeTarget = savedCascadeTemp;
return result;
}
@@ -2360,7 +2360,7 @@ class JSCodegenVisitor extends GeneralizingAstVisitor with ConversionVisitor {
{DartType type, bool unary: false, bool isStatic: false}) {
if (name.startsWith('_')) {
return _privateNames.putIfAbsent(
- name, () => _initSymbol(new JSTemporary(name)));
+ name, () => _initSymbol(new JS.TemporaryId(name)));
}
// Check for extension method:
@@ -2374,7 +2374,7 @@ class JSCodegenVisitor extends GeneralizingAstVisitor with ConversionVisitor {
name = 'unary-';
}
- if (isStatic && invalidJSStaticMethodName(name)) {
+ if (isStatic && JS.invalidStaticMethodName(name)) {
// Choose an string name. Use an invalid identifier so it won't conflict
// with any valid member names.
// TODO(jmesserly): this works around the problem, but I'm pretty sure we
« no previous file with comments | « no previous file | lib/src/codegen/js_metalet.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698