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

Side by Side Diff: third_party/closure_compiler/runner/src/com/google/javascript/jscomp/ChromePass.java

Issue 543863002: Typecheck chrome://bookmarks using Closure Compiler (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@true_master
Patch Set: debug warns Created 6 years, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package com.google.javascript.jscomp; 5 package com.google.javascript.jscomp;
6 6
7 import com.google.javascript.jscomp.NodeTraversal.AbstractPostOrderCallback; 7 import com.google.javascript.jscomp.NodeTraversal.AbstractPostOrderCallback;
8 import com.google.javascript.rhino.IR; 8 import com.google.javascript.rhino.IR;
9 import com.google.javascript.rhino.JSDocInfoBuilder; 9 import com.google.javascript.rhino.JSDocInfoBuilder;
10 import com.google.javascript.rhino.JSTypeExpression; 10 import com.google.javascript.rhino.JSTypeExpression;
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 NodeTraversal.traverse(compiler, functionBlock, new RenameInternalsToExt ernalsCallback( 306 NodeTraversal.traverse(compiler, functionBlock, new RenameInternalsToExt ernalsCallback(
307 namespace, exports, functionBlock)); 307 namespace, exports, functionBlock));
308 } 308 }
309 309
310 private Map<String, String> objectLitToMap(Node objectLit) { 310 private Map<String, String> objectLitToMap(Node objectLit) {
311 Map<String, String> res = new HashMap<String, String>(); 311 Map<String, String> res = new HashMap<String, String>();
312 312
313 for (Node keyNode : objectLit.children()) { 313 for (Node keyNode : objectLit.children()) {
314 String key = keyNode.getString(); 314 String key = keyNode.getString();
315 315
316 // TODO(vitalyp): Can dict value be other than a simple NAME? What i f NAME doesn't 316 Node valueNode = keyNode.getFirstChild();
317 // refer to a function/constructor? 317 if (valueNode.isName()) {
318 String value = keyNode.getFirstChild().getString(); 318 String value = keyNode.getFirstChild().getString();
319 319 res.put(value, key);
320 res.put(value, key); 320 }
321 } 321 }
322 322
323 return res; 323 return res;
324 } 324 }
325 325
326 /** 326 /**
327 * For a string "a.b.c" produce the following JS IR: 327 * For a string "a.b.c" produce the following JS IR:
328 * 328 *
329 * <p><pre> 329 * <p><pre>
330 * var a = a || {}; 330 * var a = a || {};
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
445 } 445 }
446 } 446 }
447 447
448 private Node buildQualifiedName(Node internalName) { 448 private Node buildQualifiedName(Node internalName) {
449 String externalName = this.exports.get(internalName.getString()); 449 String externalName = this.exports.get(internalName.getString());
450 return NodeUtil.newQName(compiler, this.namespaceName + "." + extern alName).srcrefTree( 450 return NodeUtil.newQName(compiler, this.namespaceName + "." + extern alName).srcrefTree(
451 internalName); 451 internalName);
452 } 452 }
453 } 453 }
454 } 454 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698