OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 library native; | 5 library native; |
6 | 6 |
7 import 'dart:collection' show Queue; | 7 import 'dart:collection' show Queue; |
8 | 8 |
9 import '../common/registry.dart' show | 9 import '../common/registry.dart' show |
10 Registry; | 10 Registry; |
11 import '../compiler.dart' show | 11 import '../compiler.dart' show |
12 Compiler; | 12 Compiler; |
13 import '../constants/values.dart'; | 13 import '../constants/values.dart'; |
14 import '../dart_types.dart'; | 14 import '../dart_types.dart'; |
15 import '../diagnostics/diagnostic_listener.dart'; | 15 import '../diagnostics/diagnostic_listener.dart'; |
16 import '../diagnostics/messages.dart' show MessageKind; | 16 import '../diagnostics/messages.dart' show |
| 17 MessageKind; |
17 import '../diagnostics/spannable.dart' show | 18 import '../diagnostics/spannable.dart' show |
18 NO_LOCATION_SPANNABLE, | 19 NO_LOCATION_SPANNABLE, |
19 Spannable; | 20 Spannable; |
20 import '../enqueue.dart' show | 21 import '../enqueue.dart' show |
21 Enqueuer, | 22 Enqueuer, |
22 ResolutionEnqueuer; | 23 ResolutionEnqueuer; |
23 import '../elements/elements.dart'; | 24 import '../elements/elements.dart'; |
24 import '../elements/modelx.dart' show | 25 import '../elements/modelx.dart' show |
25 BaseClassElementX, | 26 BaseClassElementX, |
26 ElementX, | 27 ElementX, |
27 FunctionElementX, | 28 FunctionElementX, |
28 LibraryElementX; | 29 LibraryElementX; |
29 import '../js/js.dart' as js; | 30 import '../js/js.dart' as js; |
30 import '../js_backend/js_backend.dart'; | 31 import '../js_backend/js_backend.dart'; |
31 import '../js_emitter/js_emitter.dart' show CodeEmitterTask, NativeEmitter; | 32 import '../js_emitter/js_emitter.dart' show |
32 import '../resolution/members.dart' show ResolverVisitor; | 33 CodeEmitterTask, |
33 import '../scanner/scannerlib.dart'; | 34 NativeEmitter; |
| 35 import '../resolution/members.dart' show |
| 36 ResolverVisitor; |
| 37 import '../scanner/listener.dart' show |
| 38 ElementListener, |
| 39 Listener, |
| 40 PartialMetadataAnnotation; |
| 41 import '../scanner/token.dart' show |
| 42 BeginGroupToken, |
| 43 EOF_TOKEN, |
| 44 STRING_TOKEN, |
| 45 Token; |
34 import '../ssa/ssa.dart'; | 46 import '../ssa/ssa.dart'; |
35 import '../tree/tree.dart'; | 47 import '../tree/tree.dart'; |
36 import '../universe/universe.dart' show SideEffects; | 48 import '../universe/universe.dart' show SideEffects; |
37 import '../util/util.dart'; | 49 import '../util/util.dart'; |
38 | 50 |
39 part 'behavior.dart'; | 51 part 'behavior.dart'; |
40 part 'enqueue.dart'; | 52 part 'enqueue.dart'; |
41 part 'js.dart'; | 53 part 'js.dart'; |
42 part 'scanner.dart'; | 54 part 'scanner.dart'; |
43 part 'ssa.dart'; | 55 part 'ssa.dart'; |
(...skipping 25 matching lines...) Expand all Loading... |
69 String quotedName = cls.nativeTagInfo; | 81 String quotedName = cls.nativeTagInfo; |
70 return quotedName.substring(1, quotedName.length - 1).split(','); | 82 return quotedName.substring(1, quotedName.length - 1).split(','); |
71 } | 83 } |
72 | 84 |
73 List<String> nativeTagsOfClass(ClassElement cls) { | 85 List<String> nativeTagsOfClass(ClassElement cls) { |
74 return nativeTagsOfClassRaw(cls).where((s) => !s.startsWith('!')).toList(); | 86 return nativeTagsOfClassRaw(cls).where((s) => !s.startsWith('!')).toList(); |
75 } | 87 } |
76 | 88 |
77 bool nativeTagsForcedNonLeaf(ClassElement cls) => | 89 bool nativeTagsForcedNonLeaf(ClassElement cls) => |
78 nativeTagsOfClassRaw(cls).contains('!nonleaf'); | 90 nativeTagsOfClassRaw(cls).contains('!nonleaf'); |
OLD | NEW |