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; |
+} |