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

Side by Side Diff: tool/input_sdk/private/ddc_runtime/rtti.dart

Issue 1879373004: Implement modular compilation (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 4 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 /// This library defines the association between runtime objects and 5 /// This library defines the association between runtime objects and
6 /// runtime types. 6 /// runtime types.
7 part of dart._runtime; 7 part of dart._runtime;
8 8
9 /// 9 ///
10 /// Runtime type information. This module defines the mapping from 10 /// Runtime type information. This module defines the mapping from
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 let t; 59 let t;
60 if ($args.length == 0) { 60 if ($args.length == 0) {
61 // No type arguments, it's all dynamic 61 // No type arguments, it's all dynamic
62 t = $definiteFunctionType( 62 t = $definiteFunctionType(
63 $dynamicR, Array($closure.length).fill($dynamicR)); 63 $dynamicR, Array($closure.length).fill($dynamicR));
64 } else { 64 } else {
65 // We're passed the piecewise components of the function type, 65 // We're passed the piecewise components of the function type,
66 // construct it. 66 // construct it.
67 t = $definiteFunctionType.apply(null, $args); 67 t = $definiteFunctionType.apply(null, $args);
68 } 68 }
69 tag($closure, t); 69 $tag($closure, t);
70 return $closure; 70 return $closure;
71 })()'''); 71 })()''');
72 72
73 // TODO(vsm): How should we encode the runtime type? 73 // TODO(vsm): How should we encode the runtime type?
74 final _runtimeType = JS('', 'Symbol("_runtimeType")'); 74 final _runtimeType = JS('', 'Symbol("_runtimeType")');
75 75
76 checkPrimitiveType(obj) => JS('', '''(() => { 76 checkPrimitiveType(obj) => JS('', '''(() => {
77 switch (typeof $obj) { 77 switch (typeof $obj) {
78 case "undefined": 78 case "undefined":
79 return $Null; 79 return $Null;
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 tagMemoized(value, compute) => JS('', '''(() => { 167 tagMemoized(value, compute) => JS('', '''(() => {
168 let cache = null; 168 let cache = null;
169 function getter() { 169 function getter() {
170 if ($compute == null) return cache; 170 if ($compute == null) return cache;
171 cache = $compute(); 171 cache = $compute();
172 $compute = null; 172 $compute = null;
173 return cache; 173 return cache;
174 } 174 }
175 $tagComputed($value, getter); 175 $tagComputed($value, getter);
176 })()'''); 176 })()''');
OLDNEW
« no previous file with comments | « tool/input_sdk/private/ddc_runtime/operations.dart ('k') | tool/input_sdk/private/ddc_runtime/runtime.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698