| // 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; |
| |
| abstract class FieldRef extends ObjectRef { |
| /// The name of this field. |
| String get name; |
| |
| /// The owner of this field, which can be either a Library or a |
| /// Class. |
| ObjectRef get dartOwner; |
| |
| /// The declared type of this field. |
| /// |
| /// The value will always be of one of the kinds: |
| /// Type, TypeRef, TypeParameter. |
| InstanceRef get declaredType; |
| |
| /// Is this field const? |
| bool get isConst; |
| |
| /// Is this field final? |
| bool get isFinal; |
| |
| /// Is this field static? |
| bool get isStatic; |
| } |
| |
| enum GuardClassKind { unknown, single, dynamic } |
| |
| abstract class Field extends Object implements FieldRef { |
| /// [optional] The value of this field, if the field is static. |
| ObjectRef get staticValue; |
| |
| /// [optional] The location of this field in the source code. |
| SourceLocation get location; |
| |
| GuardClassKind get guardClassKind; |
| ClassRef get guardClass; |
| bool get guardNullable; |
| } |