OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 models; | 5 part of models; |
6 | 6 |
7 enum CodeKind { | 7 enum CodeKind { dart, native, stub, tag, collected } |
8 dart, | |
9 native, | |
10 stub, | |
11 tag, | |
12 collected | |
13 } | |
14 | 8 |
15 bool isSyntheticCode(CodeKind kind) { | 9 bool isSyntheticCode(CodeKind kind) { |
16 switch (kind) { | 10 switch (kind) { |
17 case CodeKind.collected: | 11 case CodeKind.collected: |
18 case CodeKind.native: | 12 case CodeKind.native: |
19 case CodeKind.tag: | 13 case CodeKind.tag: |
20 return true; | 14 return true; |
21 default: | 15 default: |
22 return false; | 16 return false; |
23 } | 17 } |
24 } | 18 } |
25 | 19 |
26 bool isDartCode(CodeKind kind) => !isSyntheticCode(kind); | 20 bool isDartCode(CodeKind kind) => !isSyntheticCode(kind); |
27 | 21 |
28 abstract class CodeRef extends ObjectRef { | 22 abstract class CodeRef extends ObjectRef { |
29 /// The name of this class. | 23 /// The name of this class. |
30 String get name; | 24 String get name; |
31 | 25 |
32 // What kind of code object is this? | 26 // What kind of code object is this? |
33 CodeKind get kind; | 27 CodeKind get kind; |
34 | 28 |
35 bool get isOptimized; | 29 bool get isOptimized; |
36 } | 30 } |
37 | 31 |
38 abstract class Code extends Object implements CodeRef { | 32 abstract class Code extends Object implements CodeRef { |
39 FunctionRef get function; | 33 FunctionRef get function; |
40 ObjectPoolRef get objectPool; | 34 ObjectPoolRef get objectPool; |
41 Iterable<FunctionRef> get inlinedFunctions; | 35 Iterable<FunctionRef> get inlinedFunctions; |
42 } | 36 } |
OLD | NEW |