OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 /// Enables debugging of fast/slow objects using V8-specific primitives. | 7 /// Enables debugging of fast/slow objects using V8-specific primitives. |
8 const DEBUG_FAST_OBJECTS = false; | 8 const DEBUG_FAST_OBJECTS = false; |
9 | 9 |
10 /** | 10 /** |
11 * Call-back for adding property with [name] and [value]. | 11 * Call-back for adding property with [name] and [value]. |
12 */ | 12 */ |
13 typedef jsAst.Property AddPropertyFunction(String name, jsAst.Expression value); | 13 typedef jsAst.Property AddPropertyFunction(jsAst.Name name, |
| 14 jsAst.Expression value); |
14 | 15 |
15 /** | 16 /** |
16 * [member] is a field (instance, static, or top level). | 17 * [member] is a field (instance, static, or top level). |
17 * | 18 * |
18 * [name] is the field name that the [Namer] has picked for this field's | 19 * [name] is the field name that the [Namer] has picked for this field's |
19 * storage, that is, the JavaScript property name. | 20 * storage, that is, the JavaScript property name. |
20 * | 21 * |
21 * [accessorName] is the name of the accessor. For instance fields this is | 22 * [accessorName] is the name of the accessor. For instance fields this is |
22 * mostly the same as [name] except when [member] is shadowing a field in its | 23 * mostly the same as [name] except when [member] is shadowing a field in its |
23 * superclass. For other fields, they are rarely the same. | 24 * superclass. For other fields, they are rarely the same. |
24 * | 25 * |
25 * [needsGetter] and [needsSetter] represent if a getter or a setter | 26 * [needsGetter] and [needsSetter] represent if a getter or a setter |
26 * respectively is needed. There are many factors in this, for example, if the | 27 * respectively is needed. There are many factors in this, for example, if the |
27 * accessor can be inlined. | 28 * accessor can be inlined. |
28 * | 29 * |
29 * [needsCheckedSetter] indicates that a checked getter is needed, and in this | 30 * [needsCheckedSetter] indicates that a checked getter is needed, and in this |
30 * case, [needsSetter] is always false. [needsCheckedSetter] is only true when | 31 * case, [needsSetter] is always false. [needsCheckedSetter] is only true when |
31 * type assertions are enabled (checked mode). | 32 * type assertions are enabled (checked mode). |
32 */ | 33 */ |
33 typedef void AcceptField(VariableElement member, | 34 typedef void AcceptField(VariableElement member, |
34 String name, | 35 jsAst.Name name, |
35 String accessorName, | 36 jsAst.Name accessorName, |
36 bool needsGetter, | 37 bool needsGetter, |
37 bool needsSetter, | 38 bool needsSetter, |
38 bool needsCheckedSetter); | 39 bool needsCheckedSetter); |
39 | 40 |
40 // Function signatures used in the generation of runtime type information. | 41 // Function signatures used in the generation of runtime type information. |
41 typedef void FunctionTypeSignatureEmitter(Element method, | 42 typedef void FunctionTypeSignatureEmitter(Element method, |
42 FunctionType methodType); | 43 FunctionType methodType); |
43 | 44 |
44 typedef void SubstitutionEmitter(Element element, {bool emitNull}); | 45 typedef void SubstitutionEmitter(Element element, {bool emitNull}); |
45 | 46 |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 // characters. | 81 // characters. |
81 const FIELD_CODE_CHARACTERS = r"<=>?@{|}~%&'()*"; | 82 const FIELD_CODE_CHARACTERS = r"<=>?@{|}~%&'()*"; |
82 const NO_FIELD_CODE = 0; | 83 const NO_FIELD_CODE = 0; |
83 const FIRST_FIELD_CODE = 1; | 84 const FIRST_FIELD_CODE = 1; |
84 const RANGE1_FIRST = 0x3c; // <=>?@ encodes 1..5 | 85 const RANGE1_FIRST = 0x3c; // <=>?@ encodes 1..5 |
85 const RANGE1_LAST = 0x40; | 86 const RANGE1_LAST = 0x40; |
86 const RANGE2_FIRST = 0x7b; // {|}~ encodes 6..9 | 87 const RANGE2_FIRST = 0x7b; // {|}~ encodes 6..9 |
87 const RANGE2_LAST = 0x7e; | 88 const RANGE2_LAST = 0x7e; |
88 const RANGE3_FIRST = 0x25; // %&'()*+ encodes 10..16 | 89 const RANGE3_FIRST = 0x25; // %&'()*+ encodes 10..16 |
89 const RANGE3_LAST = 0x2b; | 90 const RANGE3_LAST = 0x2b; |
OLD | NEW |