blob: 12d84df2c86191abee6fb9504de5575646e6448c [file] [log] [blame]
// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
part of models;
enum CodeKind { dart, native, stub, tag, collected }
bool isSyntheticCode(CodeKind kind) {
switch (kind) {
case CodeKind.collected:
case CodeKind.native:
case CodeKind.tag:
return true;
default:
return false;
}
}
bool isDartCode(CodeKind kind) => !isSyntheticCode(kind);
abstract class CodeRef extends ObjectRef {
/// The name of this class.
String get name;
// What kind of code object is this?
CodeKind get kind;
bool get isOptimized;
}
abstract class Code extends Object implements CodeRef {
FunctionRef get function;
ObjectPoolRef get objectPool;
Iterable<FunctionRef> get inlinedFunctions;
}