| Index: pkg/analyzer/lib/src/dart/constant/value.dart
|
| diff --git a/pkg/analyzer/lib/src/dart/constant/value.dart b/pkg/analyzer/lib/src/dart/constant/value.dart
|
| index a927df61a25e54153166a5a6ec2f78c9bf38275f..686776dd3fedb6631a5fe78ec95fadaa43b40ca4 100644
|
| --- a/pkg/analyzer/lib/src/dart/constant/value.dart
|
| +++ b/pkg/analyzer/lib/src/dart/constant/value.dart
|
| @@ -375,6 +375,36 @@ class DartObjectImpl implements DartObject {
|
| return null;
|
| }
|
|
|
| + /// Gets the constructor that was called to create this value, if this is a
|
| + /// const constructor invocation. Otherwise returns null.
|
| + ConstructorElement getConstructor() {
|
| + InstanceState state = _state;
|
| + if (state is GenericState) {
|
| + return state.constructor;
|
| + }
|
| + return null;
|
| + }
|
| +
|
| + /// Gets the arguments that were passed to create this value, if this is a
|
| + /// const constructor invocation. Otherwise returns null.
|
| + List<DartObject> getPositionalArguments() {
|
| + InstanceState state = _state;
|
| + if (state is GenericState) {
|
| + return state.positionalArguments;
|
| + }
|
| + return null;
|
| + }
|
| +
|
| + /// Gets the named arguments that were passed to create this value, if this is
|
| + /// a const constructor invocation. Otherwise returns null.
|
| + Map<String, DartObject> getNamedArguments() {
|
| + InstanceState state = _state;
|
| + if (state is GenericState) {
|
| + return state.namedArguments;
|
| + }
|
| + return null;
|
| + }
|
| +
|
| /**
|
| * Return the result of invoking the '>' operator on this object with the
|
| * [rightOperand]. The [typeProvider] is the type provider used to find known
|
| @@ -1322,10 +1352,26 @@ class GenericState extends InstanceState {
|
| final HashMap<String, DartObjectImpl> _fieldMap;
|
|
|
| /**
|
| + * The constructor that was invoked to generate this instance.
|
| + */
|
| + final ConstructorElement constructor;
|
| +
|
| + /**
|
| + * The positional arguments passed to the constructor to create this instance.
|
| + */
|
| + final List<DartObject> positionalArguments;
|
| +
|
| + /**
|
| + * The named arguments passed to the constructor to create this instance.
|
| + */
|
| + final Map<String, DartObject> namedArguments;
|
| +
|
| + /**
|
| * Initialize a newly created state to represent a newly created object. The
|
| * [fieldMap] contains the values of the fields of the instance.
|
| */
|
| - GenericState(this._fieldMap);
|
| + GenericState(this._fieldMap,
|
| + {this.constructor, this.positionalArguments, this.namedArguments});
|
|
|
| @override
|
| HashMap<String, DartObjectImpl> get fields => _fieldMap;
|
|
|