[cfe] Cache field class members

Change-Id: I43e2ac785d361649420e47a6302a74b93a71a67b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/158011
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
This commit is contained in:
Johnni Winther 2020-08-11 13:55:59 +00:00 committed by commit-bot@chromium.org
parent e92533dea3
commit d98aa34388

View file

@ -399,11 +399,16 @@ class SourceFieldBuilder extends MemberBuilderImpl implements FieldBuilder {
DartType get builtType => fieldType;
@override
List<ClassMember> get localMembers => _fieldEncoding.getLocalMembers(this);
List<ClassMember> _localMembers;
List<ClassMember> _localSetters;
@override
List<ClassMember> get localSetters => _fieldEncoding.getLocalSetters(this);
List<ClassMember> get localMembers =>
_localMembers ??= _fieldEncoding.getLocalMembers(this);
@override
List<ClassMember> get localSetters =>
_localSetters ??= _fieldEncoding.getLocalSetters(this);
static String createFieldName(FieldNameType type, String name,
{bool isInstanceMember,