Chromium Code Reviews| Index: runtime/observatory/lib/src/models/objects/function.dart |
| diff --git a/runtime/observatory/lib/src/models/objects/function.dart b/runtime/observatory/lib/src/models/objects/function.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..483012fcff04b72083aea4a966decca98abf438a |
| --- /dev/null |
| +++ b/runtime/observatory/lib/src/models/objects/function.dart |
| @@ -0,0 +1,69 @@ |
| +// 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 FunctionKind { |
| + Regular, |
|
Cutch
2016/08/01 22:24:26
lowerCamelCase
cbernaschina
2016/08/01 22:45:51
Done.
|
| + Closure, |
| + Getter, |
| + Setter, |
| + Constructor, |
| + ImplicitGetter, |
| + ImplicitSetter, |
| + ImplicitStaticFinalGetter, |
| + IrregexpFunction, |
| + StaticInitializer, |
| + MethodExtractor, |
| + NoSuchMethodDispatcher, |
| + InvokeFieldDispatcher, |
| + Collected, |
| + Native, |
| + Stub, |
| + Tag, |
| + SignatureFunction |
| +} |
| + |
| +bool isSyntheticFunction(FunctionKind kind) { |
| + switch (kind) { |
| + case FunctionKind.Collected: |
| + case FunctionKind.Native: |
| + case FunctionKind.Stub: |
| + case FunctionKind.Tag: |
| + return true; |
| + default: |
| + return false; |
| + } |
| +} |
| + |
| +bool isDartFunction(FunctionKind kind) => !isSyntheticFunction(kind); |
| +bool isStubFunction(FunctionKind kind) => kind == FunctionKind.Stub; |
| +bool hasDartCode(FunctionKind kind) => |
| + isDartFunction(kind) || isStubFunction(kind); |
| + |
| +abstract class FunctionRef extends ObjectRef { |
| + /// The name of this class. |
| + String get name; |
| + |
| + /// The owner of this function, which can be a LibraryRef, ClassRef, |
| + /// or a FunctionRef. |
| + ObjectRef get dartOwner; // owner |
| + |
| + /// Is this function static? |
| + bool get isStatic; |
| + |
| + /// Is this function const? |
| + bool get isConst; |
| + |
| + /// The kind of the function. |
| + FunctionKind get kind; |
| +} |
| + |
| +abstract class Function extends Object implements FunctionRef { |
| + /// The location of this function in the source code. [optional] |
| + SourceLocation get location; |
| + |
| + /// The compiled code associated with this function. [optional] |
| + CodeRef get code; |
| +} |