Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(484)

Unified Diff: pkg/analyzer/lib/src/summary/format.dart

Issue 1686713002: Add support for redirectedConstructor to summaries. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/summary/idl.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/lib/src/summary/format.dart
diff --git a/pkg/analyzer/lib/src/summary/format.dart b/pkg/analyzer/lib/src/summary/format.dart
index 061569bb129b4e2b33a23a12316b05512e2cd767..a595343127a9cdacfe3f0245f30e3d39c47adc69 100644
--- a/pkg/analyzer/lib/src/summary/format.dart
+++ b/pkg/analyzer/lib/src/summary/format.dart
@@ -2430,11 +2430,14 @@ class UnlinkedExecutableBuilder extends Object with _UnlinkedExecutableMixin imp
bool _isConst;
bool _isExternal;
bool _isFactory;
+ bool _isRedirectedConstructor;
bool _isStatic;
idl.UnlinkedExecutableKind _kind;
String _name;
int _nameOffset;
List<UnlinkedParamBuilder> _parameters;
+ EntityRefBuilder _redirectedConstructor;
+ String _redirectedConstructorName;
EntityRefBuilder _returnType;
List<UnlinkedTypeParamBuilder> _typeParameters;
@@ -2534,6 +2537,17 @@ class UnlinkedExecutableBuilder extends Object with _UnlinkedExecutableMixin imp
}
@override
+ bool get isRedirectedConstructor => _isRedirectedConstructor ??= false;
+
+ /**
+ * Indicates whether the executable is a redirected constructor.
+ */
+ void set isRedirectedConstructor(bool _value) {
+ assert(!_finished);
+ _isRedirectedConstructor = _value;
+ }
+
+ @override
bool get isStatic => _isStatic ??= false;
/**
@@ -2602,6 +2616,31 @@ class UnlinkedExecutableBuilder extends Object with _UnlinkedExecutableMixin imp
}
@override
+ EntityRefBuilder get redirectedConstructor => _redirectedConstructor;
+
+ /**
+ * If [isRedirectedConstructor] and [isFactory] are both `true`, the
+ * constructor to which this constructor redirects; otherwise empty.
+ */
+ void set redirectedConstructor(EntityRefBuilder _value) {
+ assert(!_finished);
+ _redirectedConstructor = _value;
+ }
+
+ @override
+ String get redirectedConstructorName => _redirectedConstructorName ??= '';
+
+ /**
+ * If [isRedirectedConstructor] is `true` and [isFactory] is `false`, the
+ * name of the constructor that this constructor redirects to; otherwise
+ * empty.
+ */
+ void set redirectedConstructorName(String _value) {
+ assert(!_finished);
+ _redirectedConstructorName = _value;
+ }
+
+ @override
EntityRefBuilder get returnType => _returnType;
/**
@@ -2625,7 +2664,7 @@ class UnlinkedExecutableBuilder extends Object with _UnlinkedExecutableMixin imp
_typeParameters = _value;
}
- UnlinkedExecutableBuilder({List<UnlinkedConstBuilder> annotations, List<UnlinkedConstructorInitializerBuilder> constantInitializers, UnlinkedDocumentationCommentBuilder documentationComment, int inferredReturnTypeSlot, bool isAbstract, bool isConst, bool isExternal, bool isFactory, bool isStatic, idl.UnlinkedExecutableKind kind, String name, int nameOffset, List<UnlinkedParamBuilder> parameters, EntityRefBuilder returnType, List<UnlinkedTypeParamBuilder> typeParameters})
+ UnlinkedExecutableBuilder({List<UnlinkedConstBuilder> annotations, List<UnlinkedConstructorInitializerBuilder> constantInitializers, UnlinkedDocumentationCommentBuilder documentationComment, int inferredReturnTypeSlot, bool isAbstract, bool isConst, bool isExternal, bool isFactory, bool isRedirectedConstructor, bool isStatic, idl.UnlinkedExecutableKind kind, String name, int nameOffset, List<UnlinkedParamBuilder> parameters, EntityRefBuilder redirectedConstructor, String redirectedConstructorName, EntityRefBuilder returnType, List<UnlinkedTypeParamBuilder> typeParameters})
: _annotations = annotations,
_constantInitializers = constantInitializers,
_documentationComment = documentationComment,
@@ -2634,11 +2673,14 @@ class UnlinkedExecutableBuilder extends Object with _UnlinkedExecutableMixin imp
_isConst = isConst,
_isExternal = isExternal,
_isFactory = isFactory,
+ _isRedirectedConstructor = isRedirectedConstructor,
_isStatic = isStatic,
_kind = kind,
_name = name,
_nameOffset = nameOffset,
_parameters = parameters,
+ _redirectedConstructor = redirectedConstructor,
+ _redirectedConstructorName = redirectedConstructorName,
_returnType = returnType,
_typeParameters = typeParameters;
@@ -2650,6 +2692,8 @@ class UnlinkedExecutableBuilder extends Object with _UnlinkedExecutableMixin imp
fb.Offset offset_documentationComment;
fb.Offset offset_name;
fb.Offset offset_parameters;
+ fb.Offset offset_redirectedConstructor;
+ fb.Offset offset_redirectedConstructorName;
fb.Offset offset_returnType;
fb.Offset offset_typeParameters;
if (!(_annotations == null || _annotations.isEmpty)) {
@@ -2667,6 +2711,12 @@ class UnlinkedExecutableBuilder extends Object with _UnlinkedExecutableMixin imp
if (!(_parameters == null || _parameters.isEmpty)) {
offset_parameters = fbBuilder.writeList(_parameters.map((b) => b.finish(fbBuilder)).toList());
}
+ if (_redirectedConstructor != null) {
+ offset_redirectedConstructor = _redirectedConstructor.finish(fbBuilder);
+ }
+ if (_redirectedConstructorName != null) {
+ offset_redirectedConstructorName = fbBuilder.writeString(_redirectedConstructorName);
+ }
if (_returnType != null) {
offset_returnType = _returnType.finish(fbBuilder);
}
@@ -2698,26 +2748,35 @@ class UnlinkedExecutableBuilder extends Object with _UnlinkedExecutableMixin imp
if (_isFactory == true) {
fbBuilder.addBool(7, true);
}
- if (_isStatic == true) {
+ if (_isRedirectedConstructor == true) {
fbBuilder.addBool(8, true);
}
+ if (_isStatic == true) {
+ fbBuilder.addBool(9, true);
+ }
if (_kind != null && _kind != idl.UnlinkedExecutableKind.functionOrMethod) {
- fbBuilder.addUint32(9, _kind.index);
+ fbBuilder.addUint32(10, _kind.index);
}
if (offset_name != null) {
- fbBuilder.addOffset(10, offset_name);
+ fbBuilder.addOffset(11, offset_name);
}
if (_nameOffset != null && _nameOffset != 0) {
- fbBuilder.addUint32(11, _nameOffset);
+ fbBuilder.addUint32(12, _nameOffset);
}
if (offset_parameters != null) {
- fbBuilder.addOffset(12, offset_parameters);
+ fbBuilder.addOffset(13, offset_parameters);
+ }
+ if (offset_redirectedConstructor != null) {
+ fbBuilder.addOffset(14, offset_redirectedConstructor);
+ }
+ if (offset_redirectedConstructorName != null) {
+ fbBuilder.addOffset(15, offset_redirectedConstructorName);
}
if (offset_returnType != null) {
- fbBuilder.addOffset(13, offset_returnType);
+ fbBuilder.addOffset(16, offset_returnType);
}
if (offset_typeParameters != null) {
- fbBuilder.addOffset(14, offset_typeParameters);
+ fbBuilder.addOffset(17, offset_typeParameters);
}
return fbBuilder.endTable();
}
@@ -2743,11 +2802,14 @@ class _UnlinkedExecutableImpl extends Object with _UnlinkedExecutableMixin imple
bool _isConst;
bool _isExternal;
bool _isFactory;
+ bool _isRedirectedConstructor;
bool _isStatic;
idl.UnlinkedExecutableKind _kind;
String _name;
int _nameOffset;
List<idl.UnlinkedParam> _parameters;
+ idl.EntityRef _redirectedConstructor;
+ String _redirectedConstructorName;
idl.EntityRef _returnType;
List<idl.UnlinkedTypeParam> _typeParameters;
@@ -2800,44 +2862,62 @@ class _UnlinkedExecutableImpl extends Object with _UnlinkedExecutableMixin imple
}
@override
+ bool get isRedirectedConstructor {
+ _isRedirectedConstructor ??= const fb.BoolReader().vTableGet(_bp, 8, false);
+ return _isRedirectedConstructor;
+ }
+
+ @override
bool get isStatic {
- _isStatic ??= const fb.BoolReader().vTableGet(_bp, 8, false);
+ _isStatic ??= const fb.BoolReader().vTableGet(_bp, 9, false);
return _isStatic;
}
@override
idl.UnlinkedExecutableKind get kind {
- _kind ??= const _UnlinkedExecutableKindReader().vTableGet(_bp, 9, idl.UnlinkedExecutableKind.functionOrMethod);
+ _kind ??= const _UnlinkedExecutableKindReader().vTableGet(_bp, 10, idl.UnlinkedExecutableKind.functionOrMethod);
return _kind;
}
@override
String get name {
- _name ??= const fb.StringReader().vTableGet(_bp, 10, '');
+ _name ??= const fb.StringReader().vTableGet(_bp, 11, '');
return _name;
}
@override
int get nameOffset {
- _nameOffset ??= const fb.Uint32Reader().vTableGet(_bp, 11, 0);
+ _nameOffset ??= const fb.Uint32Reader().vTableGet(_bp, 12, 0);
return _nameOffset;
}
@override
List<idl.UnlinkedParam> get parameters {
- _parameters ??= const fb.ListReader<idl.UnlinkedParam>(const _UnlinkedParamReader()).vTableGet(_bp, 12, const <idl.UnlinkedParam>[]);
+ _parameters ??= const fb.ListReader<idl.UnlinkedParam>(const _UnlinkedParamReader()).vTableGet(_bp, 13, const <idl.UnlinkedParam>[]);
return _parameters;
}
@override
+ idl.EntityRef get redirectedConstructor {
+ _redirectedConstructor ??= const _EntityRefReader().vTableGet(_bp, 14, null);
+ return _redirectedConstructor;
+ }
+
+ @override
+ String get redirectedConstructorName {
+ _redirectedConstructorName ??= const fb.StringReader().vTableGet(_bp, 15, '');
+ return _redirectedConstructorName;
+ }
+
+ @override
idl.EntityRef get returnType {
- _returnType ??= const _EntityRefReader().vTableGet(_bp, 13, null);
+ _returnType ??= const _EntityRefReader().vTableGet(_bp, 16, null);
return _returnType;
}
@override
List<idl.UnlinkedTypeParam> get typeParameters {
- _typeParameters ??= const fb.ListReader<idl.UnlinkedTypeParam>(const _UnlinkedTypeParamReader()).vTableGet(_bp, 14, const <idl.UnlinkedTypeParam>[]);
+ _typeParameters ??= const fb.ListReader<idl.UnlinkedTypeParam>(const _UnlinkedTypeParamReader()).vTableGet(_bp, 17, const <idl.UnlinkedTypeParam>[]);
return _typeParameters;
}
}
@@ -2853,11 +2933,14 @@ abstract class _UnlinkedExecutableMixin implements idl.UnlinkedExecutable {
"isConst": isConst,
"isExternal": isExternal,
"isFactory": isFactory,
+ "isRedirectedConstructor": isRedirectedConstructor,
"isStatic": isStatic,
"kind": kind,
"name": name,
"nameOffset": nameOffset,
"parameters": parameters,
+ "redirectedConstructor": redirectedConstructor,
+ "redirectedConstructorName": redirectedConstructorName,
"returnType": returnType,
"typeParameters": typeParameters,
};
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/summary/idl.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698