mirror of
https://github.com/dart-lang/sdk
synced 2024-10-14 11:03:19 +00:00
Clean up TODOs in TryConstantEvaluator.
Issue: #48820 Change-Id: I01a9c7b1de3697afc2d643a5a1c7aaa26532ea70 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/352974 Commit-Queue: Mayank Patke <fishythefish@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com>
This commit is contained in:
parent
2fc877a09a
commit
0d9d7f4e75
|
@ -15,7 +15,7 @@ class Dart2jsConstantEvaluator extends ir.TryConstantEvaluator {
|
|||
ir.TypeEnvironment typeEnvironment, ir.ReportErrorFunction reportError,
|
||||
{Environment? environment,
|
||||
super.supportReevaluationForTesting,
|
||||
super.evaluationMode})
|
||||
required super.evaluationMode})
|
||||
: super(
|
||||
const Dart2jsDartLibrarySupport(),
|
||||
const Dart2jsConstantsBackend(supportsUnevaluatedConstants: false),
|
||||
|
|
|
@ -24,7 +24,7 @@ class ConstConditionalSimplifier extends RemovingTransformer {
|
|||
this._component,
|
||||
ReportErrorFunction _reportError, {
|
||||
Map<String, String>? environmentDefines,
|
||||
EvaluationMode evaluationMode = EvaluationMode.weak,
|
||||
required EvaluationMode evaluationMode,
|
||||
bool Function(TreeNode)? shouldNotInline,
|
||||
CoreTypes? coreTypes,
|
||||
ClassHierarchy? classHierarchy,
|
||||
|
@ -122,7 +122,7 @@ class _ConstantEvaluator extends TryConstantEvaluator {
|
|||
_ConstantEvaluator(super.librarySupport, super.constantsBackend,
|
||||
super.component, super.typeEnvironment, super.reportError,
|
||||
{super.environmentDefines,
|
||||
super.evaluationMode,
|
||||
required super.evaluationMode,
|
||||
bool Function(TreeNode)? shouldNotInline})
|
||||
: _shouldNotInline = shouldNotInline ?? ((_) => false);
|
||||
|
||||
|
|
|
@ -15,6 +15,9 @@ typedef ReportErrorFunction = void Function(
|
|||
class TryConstantEvaluator extends ConstantEvaluator {
|
||||
final bool _supportReevaluationForTesting;
|
||||
|
||||
@override
|
||||
final _ErrorReporter errorReporter;
|
||||
|
||||
TryConstantEvaluator(
|
||||
DartLibrarySupport librarySupport,
|
||||
ConstantsBackend constantsBackend,
|
||||
|
@ -22,28 +25,28 @@ class TryConstantEvaluator extends ConstantEvaluator {
|
|||
TypeEnvironment typeEnvironment,
|
||||
ReportErrorFunction reportError,
|
||||
{Map<String, String>? environmentDefines,
|
||||
super.evaluationMode,
|
||||
required EvaluationMode evaluationMode,
|
||||
bool supportReevaluationForTesting = false})
|
||||
: this._(librarySupport, constantsBackend, component, typeEnvironment,
|
||||
new _ErrorReporter(reportError),
|
||||
environmentDefines: environmentDefines,
|
||||
evaluationMode: evaluationMode,
|
||||
supportReevaluationForTesting: supportReevaluationForTesting);
|
||||
|
||||
TryConstantEvaluator._(
|
||||
DartLibrarySupport librarySupport,
|
||||
ConstantsBackend constantsBackend,
|
||||
Component component,
|
||||
TypeEnvironment typeEnvironment,
|
||||
this.errorReporter,
|
||||
{Map<String, String>? environmentDefines,
|
||||
required super.evaluationMode,
|
||||
bool supportReevaluationForTesting = false})
|
||||
: _supportReevaluationForTesting = supportReevaluationForTesting,
|
||||
assert((evaluationMode as dynamic) != null),
|
||||
super(
|
||||
librarySupport,
|
||||
constantsBackend,
|
||||
component,
|
||||
environmentDefines ?? const {},
|
||||
typeEnvironment,
|
||||
new _ErrorReporter(reportError),
|
||||
super(librarySupport, constantsBackend, component,
|
||||
environmentDefines ?? const {}, typeEnvironment, errorReporter,
|
||||
enableTripleShift: true);
|
||||
|
||||
@override
|
||||
_ErrorReporter get errorReporter => super.errorReporter as _ErrorReporter;
|
||||
// TODO(48820): ^Store another reference to the error reporter with the
|
||||
// refined type and use that.
|
||||
|
||||
// We can't override [ConstantEvaluator.evaluate] and have a nullable
|
||||
// return type.
|
||||
// TODO(48820): Consider using composition. We will need to ensure that
|
||||
// [TryConstantEvaluator] is not referenced via [ConstantEvaluator].
|
||||
@override
|
||||
Constant evaluate(StaticTypeContext staticTypeContext, Expression node,
|
||||
{TreeNode? contextNode}) {
|
||||
|
|
Loading…
Reference in a new issue