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

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

Issue 1691693002: Serialize local functions and variables. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Remove unused class. 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') | pkg/analyzer/lib/src/summary/idl.dart » ('J')
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 a595343127a9cdacfe3f0245f30e3d39c47adc69..f0acfd89a4a4404fa0fb9ea6457e239c2473f06c 100644
--- a/pkg/analyzer/lib/src/summary/format.dart
+++ b/pkg/analyzer/lib/src/summary/format.dart
@@ -2425,6 +2425,7 @@ class UnlinkedExecutableBuilder extends Object with _UnlinkedExecutableMixin imp
List<UnlinkedConstBuilder> _annotations;
List<UnlinkedConstructorInitializerBuilder> _constantInitializers;
UnlinkedDocumentationCommentBuilder _documentationComment;
+ List<UnlinkedExecutableBuilder> _executables;
int _inferredReturnTypeSlot;
bool _isAbstract;
bool _isConst;
@@ -2440,6 +2441,9 @@ class UnlinkedExecutableBuilder extends Object with _UnlinkedExecutableMixin imp
String _redirectedConstructorName;
EntityRefBuilder _returnType;
List<UnlinkedTypeParamBuilder> _typeParameters;
+ List<UnlinkedVariableBuilder> _variables;
+ int _visibleLength;
+ int _visibleOffset;
@override
List<UnlinkedConstBuilder> get annotations => _annotations ??= <UnlinkedConstBuilder>[];
@@ -2477,6 +2481,17 @@ class UnlinkedExecutableBuilder extends Object with _UnlinkedExecutableMixin imp
}
@override
+ List<UnlinkedExecutableBuilder> get executables => _executables ??= <UnlinkedExecutableBuilder>[];
+
+ /**
+ * The list of local functions.
+ */
+ void set executables(List<UnlinkedExecutableBuilder> _value) {
+ assert(!_finished);
+ _executables = _value;
+ }
+
+ @override
int get inferredReturnTypeSlot => _inferredReturnTypeSlot ??= 0;
/**
@@ -2664,10 +2679,46 @@ 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 isRedirectedConstructor, bool isStatic, idl.UnlinkedExecutableKind kind, String name, int nameOffset, List<UnlinkedParamBuilder> parameters, EntityRefBuilder redirectedConstructor, String redirectedConstructorName, EntityRefBuilder returnType, List<UnlinkedTypeParamBuilder> typeParameters})
+ @override
+ List<UnlinkedVariableBuilder> get variables => _variables ??= <UnlinkedVariableBuilder>[];
+
+ /**
+ * The list of local variable.
+ */
+ void set variables(List<UnlinkedVariableBuilder> _value) {
+ assert(!_finished);
+ _variables = _value;
+ }
+
+ @override
+ int get visibleLength => _visibleLength ??= 0;
+
+ /**
+ * If a local function, the length of the visible range; absent otherwise.
+ */
+ void set visibleLength(int _value) {
+ assert(!_finished);
+ assert(_value == null || _value >= 0);
+ _visibleLength = _value;
+ }
+
+ @override
+ int get visibleOffset => _visibleOffset ??= 0;
+
+ /**
+ * If a local function, the beginning of the visible range; absent otherwise.
+ */
+ void set visibleOffset(int _value) {
+ assert(!_finished);
+ assert(_value == null || _value >= 0);
+ _visibleOffset = _value;
+ }
+
+ UnlinkedExecutableBuilder({List<UnlinkedConstBuilder> annotations, List<UnlinkedConstructorInitializerBuilder> constantInitializers, UnlinkedDocumentationCommentBuilder documentationComment, List<UnlinkedExecutableBuilder> executables, 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, List<UnlinkedVariableBuilder> variables, int visibleLength, int visibleOffset})
: _annotations = annotations,
_constantInitializers = constantInitializers,
_documentationComment = documentationComment,
+ _executables = executables,
_inferredReturnTypeSlot = inferredReturnTypeSlot,
_isAbstract = isAbstract,
_isConst = isConst,
@@ -2682,7 +2733,10 @@ class UnlinkedExecutableBuilder extends Object with _UnlinkedExecutableMixin imp
_redirectedConstructor = redirectedConstructor,
_redirectedConstructorName = redirectedConstructorName,
_returnType = returnType,
- _typeParameters = typeParameters;
+ _typeParameters = typeParameters,
+ _variables = variables,
+ _visibleLength = visibleLength,
+ _visibleOffset = visibleOffset;
fb.Offset finish(fb.Builder fbBuilder) {
assert(!_finished);
@@ -2690,12 +2744,14 @@ class UnlinkedExecutableBuilder extends Object with _UnlinkedExecutableMixin imp
fb.Offset offset_annotations;
fb.Offset offset_constantInitializers;
fb.Offset offset_documentationComment;
+ fb.Offset offset_executables;
fb.Offset offset_name;
fb.Offset offset_parameters;
fb.Offset offset_redirectedConstructor;
fb.Offset offset_redirectedConstructorName;
fb.Offset offset_returnType;
fb.Offset offset_typeParameters;
+ fb.Offset offset_variables;
if (!(_annotations == null || _annotations.isEmpty)) {
offset_annotations = fbBuilder.writeList(_annotations.map((b) => b.finish(fbBuilder)).toList());
}
@@ -2705,6 +2761,9 @@ class UnlinkedExecutableBuilder extends Object with _UnlinkedExecutableMixin imp
if (_documentationComment != null) {
offset_documentationComment = _documentationComment.finish(fbBuilder);
}
+ if (!(_executables == null || _executables.isEmpty)) {
+ offset_executables = fbBuilder.writeList(_executables.map((b) => b.finish(fbBuilder)).toList());
+ }
if (_name != null) {
offset_name = fbBuilder.writeString(_name);
}
@@ -2723,6 +2782,9 @@ class UnlinkedExecutableBuilder extends Object with _UnlinkedExecutableMixin imp
if (!(_typeParameters == null || _typeParameters.isEmpty)) {
offset_typeParameters = fbBuilder.writeList(_typeParameters.map((b) => b.finish(fbBuilder)).toList());
}
+ if (!(_variables == null || _variables.isEmpty)) {
+ offset_variables = fbBuilder.writeList(_variables.map((b) => b.finish(fbBuilder)).toList());
+ }
fbBuilder.startTable();
if (offset_annotations != null) {
fbBuilder.addOffset(0, offset_annotations);
@@ -2733,50 +2795,62 @@ class UnlinkedExecutableBuilder extends Object with _UnlinkedExecutableMixin imp
if (offset_documentationComment != null) {
fbBuilder.addOffset(2, offset_documentationComment);
}
+ if (offset_executables != null) {
+ fbBuilder.addOffset(3, offset_executables);
+ }
if (_inferredReturnTypeSlot != null && _inferredReturnTypeSlot != 0) {
- fbBuilder.addUint32(3, _inferredReturnTypeSlot);
+ fbBuilder.addUint32(4, _inferredReturnTypeSlot);
}
if (_isAbstract == true) {
- fbBuilder.addBool(4, true);
+ fbBuilder.addBool(5, true);
}
if (_isConst == true) {
- fbBuilder.addBool(5, true);
+ fbBuilder.addBool(6, true);
}
if (_isExternal == true) {
- fbBuilder.addBool(6, true);
+ fbBuilder.addBool(7, true);
}
if (_isFactory == true) {
- fbBuilder.addBool(7, true);
+ fbBuilder.addBool(8, true);
}
if (_isRedirectedConstructor == true) {
- fbBuilder.addBool(8, true);
+ fbBuilder.addBool(9, true);
}
if (_isStatic == true) {
- fbBuilder.addBool(9, true);
+ fbBuilder.addBool(10, true);
}
if (_kind != null && _kind != idl.UnlinkedExecutableKind.functionOrMethod) {
- fbBuilder.addUint32(10, _kind.index);
+ fbBuilder.addUint32(11, _kind.index);
}
if (offset_name != null) {
- fbBuilder.addOffset(11, offset_name);
+ fbBuilder.addOffset(12, offset_name);
}
if (_nameOffset != null && _nameOffset != 0) {
- fbBuilder.addUint32(12, _nameOffset);
+ fbBuilder.addUint32(13, _nameOffset);
}
if (offset_parameters != null) {
- fbBuilder.addOffset(13, offset_parameters);
+ fbBuilder.addOffset(14, offset_parameters);
}
if (offset_redirectedConstructor != null) {
- fbBuilder.addOffset(14, offset_redirectedConstructor);
+ fbBuilder.addOffset(15, offset_redirectedConstructor);
}
if (offset_redirectedConstructorName != null) {
- fbBuilder.addOffset(15, offset_redirectedConstructorName);
+ fbBuilder.addOffset(16, offset_redirectedConstructorName);
}
if (offset_returnType != null) {
- fbBuilder.addOffset(16, offset_returnType);
+ fbBuilder.addOffset(17, offset_returnType);
}
if (offset_typeParameters != null) {
- fbBuilder.addOffset(17, offset_typeParameters);
+ fbBuilder.addOffset(18, offset_typeParameters);
+ }
+ if (offset_variables != null) {
+ fbBuilder.addOffset(19, offset_variables);
+ }
+ if (_visibleLength != null && _visibleLength != 0) {
+ fbBuilder.addUint32(20, _visibleLength);
+ }
+ if (_visibleOffset != null && _visibleOffset != 0) {
+ fbBuilder.addUint32(21, _visibleOffset);
}
return fbBuilder.endTable();
}
@@ -2797,6 +2871,7 @@ class _UnlinkedExecutableImpl extends Object with _UnlinkedExecutableMixin imple
List<idl.UnlinkedConst> _annotations;
List<idl.UnlinkedConstructorInitializer> _constantInitializers;
idl.UnlinkedDocumentationComment _documentationComment;
+ List<idl.UnlinkedExecutable> _executables;
int _inferredReturnTypeSlot;
bool _isAbstract;
bool _isConst;
@@ -2812,6 +2887,9 @@ class _UnlinkedExecutableImpl extends Object with _UnlinkedExecutableMixin imple
String _redirectedConstructorName;
idl.EntityRef _returnType;
List<idl.UnlinkedTypeParam> _typeParameters;
+ List<idl.UnlinkedVariable> _variables;
+ int _visibleLength;
+ int _visibleOffset;
@override
List<idl.UnlinkedConst> get annotations {
@@ -2832,94 +2910,118 @@ class _UnlinkedExecutableImpl extends Object with _UnlinkedExecutableMixin imple
}
@override
+ List<idl.UnlinkedExecutable> get executables {
+ _executables ??= const fb.ListReader<idl.UnlinkedExecutable>(const _UnlinkedExecutableReader()).vTableGet(_bp, 3, const <idl.UnlinkedExecutable>[]);
+ return _executables;
+ }
+
+ @override
int get inferredReturnTypeSlot {
- _inferredReturnTypeSlot ??= const fb.Uint32Reader().vTableGet(_bp, 3, 0);
+ _inferredReturnTypeSlot ??= const fb.Uint32Reader().vTableGet(_bp, 4, 0);
return _inferredReturnTypeSlot;
}
@override
bool get isAbstract {
- _isAbstract ??= const fb.BoolReader().vTableGet(_bp, 4, false);
+ _isAbstract ??= const fb.BoolReader().vTableGet(_bp, 5, false);
return _isAbstract;
}
@override
bool get isConst {
- _isConst ??= const fb.BoolReader().vTableGet(_bp, 5, false);
+ _isConst ??= const fb.BoolReader().vTableGet(_bp, 6, false);
return _isConst;
}
@override
bool get isExternal {
- _isExternal ??= const fb.BoolReader().vTableGet(_bp, 6, false);
+ _isExternal ??= const fb.BoolReader().vTableGet(_bp, 7, false);
return _isExternal;
}
@override
bool get isFactory {
- _isFactory ??= const fb.BoolReader().vTableGet(_bp, 7, false);
+ _isFactory ??= const fb.BoolReader().vTableGet(_bp, 8, false);
return _isFactory;
}
@override
bool get isRedirectedConstructor {
- _isRedirectedConstructor ??= const fb.BoolReader().vTableGet(_bp, 8, false);
+ _isRedirectedConstructor ??= const fb.BoolReader().vTableGet(_bp, 9, false);
return _isRedirectedConstructor;
}
@override
bool get isStatic {
- _isStatic ??= const fb.BoolReader().vTableGet(_bp, 9, false);
+ _isStatic ??= const fb.BoolReader().vTableGet(_bp, 10, false);
return _isStatic;
}
@override
idl.UnlinkedExecutableKind get kind {
- _kind ??= const _UnlinkedExecutableKindReader().vTableGet(_bp, 10, idl.UnlinkedExecutableKind.functionOrMethod);
+ _kind ??= const _UnlinkedExecutableKindReader().vTableGet(_bp, 11, idl.UnlinkedExecutableKind.functionOrMethod);
return _kind;
}
@override
String get name {
- _name ??= const fb.StringReader().vTableGet(_bp, 11, '');
+ _name ??= const fb.StringReader().vTableGet(_bp, 12, '');
return _name;
}
@override
int get nameOffset {
- _nameOffset ??= const fb.Uint32Reader().vTableGet(_bp, 12, 0);
+ _nameOffset ??= const fb.Uint32Reader().vTableGet(_bp, 13, 0);
return _nameOffset;
}
@override
List<idl.UnlinkedParam> get parameters {
- _parameters ??= const fb.ListReader<idl.UnlinkedParam>(const _UnlinkedParamReader()).vTableGet(_bp, 13, const <idl.UnlinkedParam>[]);
+ _parameters ??= const fb.ListReader<idl.UnlinkedParam>(const _UnlinkedParamReader()).vTableGet(_bp, 14, const <idl.UnlinkedParam>[]);
return _parameters;
}
@override
idl.EntityRef get redirectedConstructor {
- _redirectedConstructor ??= const _EntityRefReader().vTableGet(_bp, 14, null);
+ _redirectedConstructor ??= const _EntityRefReader().vTableGet(_bp, 15, null);
return _redirectedConstructor;
}
@override
String get redirectedConstructorName {
- _redirectedConstructorName ??= const fb.StringReader().vTableGet(_bp, 15, '');
+ _redirectedConstructorName ??= const fb.StringReader().vTableGet(_bp, 16, '');
return _redirectedConstructorName;
}
@override
idl.EntityRef get returnType {
- _returnType ??= const _EntityRefReader().vTableGet(_bp, 16, null);
+ _returnType ??= const _EntityRefReader().vTableGet(_bp, 17, null);
return _returnType;
}
@override
List<idl.UnlinkedTypeParam> get typeParameters {
- _typeParameters ??= const fb.ListReader<idl.UnlinkedTypeParam>(const _UnlinkedTypeParamReader()).vTableGet(_bp, 17, const <idl.UnlinkedTypeParam>[]);
+ _typeParameters ??= const fb.ListReader<idl.UnlinkedTypeParam>(const _UnlinkedTypeParamReader()).vTableGet(_bp, 18, const <idl.UnlinkedTypeParam>[]);
return _typeParameters;
}
+
+ @override
+ List<idl.UnlinkedVariable> get variables {
+ _variables ??= const fb.ListReader<idl.UnlinkedVariable>(const _UnlinkedVariableReader()).vTableGet(_bp, 19, const <idl.UnlinkedVariable>[]);
+ return _variables;
+ }
+
+ @override
+ int get visibleLength {
+ _visibleLength ??= const fb.Uint32Reader().vTableGet(_bp, 20, 0);
+ return _visibleLength;
+ }
+
+ @override
+ int get visibleOffset {
+ _visibleOffset ??= const fb.Uint32Reader().vTableGet(_bp, 21, 0);
+ return _visibleOffset;
+ }
}
abstract class _UnlinkedExecutableMixin implements idl.UnlinkedExecutable {
@@ -2928,6 +3030,7 @@ abstract class _UnlinkedExecutableMixin implements idl.UnlinkedExecutable {
"annotations": annotations,
"constantInitializers": constantInitializers,
"documentationComment": documentationComment,
+ "executables": executables,
"inferredReturnTypeSlot": inferredReturnTypeSlot,
"isAbstract": isAbstract,
"isConst": isConst,
@@ -2943,6 +3046,9 @@ abstract class _UnlinkedExecutableMixin implements idl.UnlinkedExecutable {
"redirectedConstructorName": redirectedConstructorName,
"returnType": returnType,
"typeParameters": typeParameters,
+ "variables": variables,
+ "visibleLength": visibleLength,
+ "visibleOffset": visibleOffset,
};
}
@@ -5118,6 +5224,8 @@ class UnlinkedVariableBuilder extends Object with _UnlinkedVariableMixin impleme
int _nameOffset;
int _propagatedTypeSlot;
EntityRefBuilder _type;
+ int _visibleLength;
+ int _visibleOffset;
@override
List<UnlinkedConstBuilder> get annotations => _annotations ??= <UnlinkedConstBuilder>[];
@@ -5258,7 +5366,31 @@ class UnlinkedVariableBuilder extends Object with _UnlinkedVariableMixin impleme
_type = _value;
}
- UnlinkedVariableBuilder({List<UnlinkedConstBuilder> annotations, UnlinkedConstBuilder constExpr, UnlinkedDocumentationCommentBuilder documentationComment, int inferredTypeSlot, bool isConst, bool isFinal, bool isStatic, String name, int nameOffset, int propagatedTypeSlot, EntityRefBuilder type})
+ @override
+ int get visibleLength => _visibleLength ??= 0;
+
+ /**
+ * If a local variable, the length of the visible range; absent otherwise.
+ */
+ void set visibleLength(int _value) {
+ assert(!_finished);
+ assert(_value == null || _value >= 0);
+ _visibleLength = _value;
+ }
+
+ @override
+ int get visibleOffset => _visibleOffset ??= 0;
+
+ /**
+ * If a local variable, the beginning of the visible range; absent otherwise.
+ */
+ void set visibleOffset(int _value) {
+ assert(!_finished);
+ assert(_value == null || _value >= 0);
+ _visibleOffset = _value;
+ }
+
+ UnlinkedVariableBuilder({List<UnlinkedConstBuilder> annotations, UnlinkedConstBuilder constExpr, UnlinkedDocumentationCommentBuilder documentationComment, int inferredTypeSlot, bool isConst, bool isFinal, bool isStatic, String name, int nameOffset, int propagatedTypeSlot, EntityRefBuilder type, int visibleLength, int visibleOffset})
: _annotations = annotations,
_constExpr = constExpr,
_documentationComment = documentationComment,
@@ -5269,7 +5401,9 @@ class UnlinkedVariableBuilder extends Object with _UnlinkedVariableMixin impleme
_name = name,
_nameOffset = nameOffset,
_propagatedTypeSlot = propagatedTypeSlot,
- _type = type;
+ _type = type,
+ _visibleLength = visibleLength,
+ _visibleOffset = visibleOffset;
fb.Offset finish(fb.Builder fbBuilder) {
assert(!_finished);
@@ -5328,6 +5462,12 @@ class UnlinkedVariableBuilder extends Object with _UnlinkedVariableMixin impleme
if (offset_type != null) {
fbBuilder.addOffset(10, offset_type);
}
+ if (_visibleLength != null && _visibleLength != 0) {
+ fbBuilder.addUint32(11, _visibleLength);
+ }
+ if (_visibleOffset != null && _visibleOffset != 0) {
+ fbBuilder.addUint32(12, _visibleOffset);
+ }
return fbBuilder.endTable();
}
}
@@ -5355,6 +5495,8 @@ class _UnlinkedVariableImpl extends Object with _UnlinkedVariableMixin implement
int _nameOffset;
int _propagatedTypeSlot;
idl.EntityRef _type;
+ int _visibleLength;
+ int _visibleOffset;
@override
List<idl.UnlinkedConst> get annotations {
@@ -5421,6 +5563,18 @@ class _UnlinkedVariableImpl extends Object with _UnlinkedVariableMixin implement
_type ??= const _EntityRefReader().vTableGet(_bp, 10, null);
return _type;
}
+
+ @override
+ int get visibleLength {
+ _visibleLength ??= const fb.Uint32Reader().vTableGet(_bp, 11, 0);
+ return _visibleLength;
+ }
+
+ @override
+ int get visibleOffset {
+ _visibleOffset ??= const fb.Uint32Reader().vTableGet(_bp, 12, 0);
+ return _visibleOffset;
+ }
}
abstract class _UnlinkedVariableMixin implements idl.UnlinkedVariable {
@@ -5437,6 +5591,8 @@ abstract class _UnlinkedVariableMixin implements idl.UnlinkedVariable {
"nameOffset": nameOffset,
"propagatedTypeSlot": propagatedTypeSlot,
"type": type,
+ "visibleLength": visibleLength,
+ "visibleOffset": visibleOffset,
};
}
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/summary/idl.dart » ('j') | pkg/analyzer/lib/src/summary/idl.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698