blob: 91c4a055fd812ae93cd6528cd5c81b4973c4142c [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;
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, FunctionType, 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;
}