mirror of
https://github.com/dart-lang/sdk
synced 2024-09-16 02:47:36 +00:00
Macro. Add 'correctionMessage' to MacroDiagnostic.
Note, that currently `correctionMessage` is a property of `ErrorCode`, so we cannot forward from macro diagnostic. Something to discuss. Change-Id: I6de86f4c16356bbf7bd61c483bad4d039ca67638 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/351620 Commit-Queue: Konstantin Shcheglov <scheglov@google.com> Reviewed-by: Phil Quitslund <pquitslund@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
This commit is contained in:
parent
670b9ba9cf
commit
3125174cb1
|
@ -2366,6 +2366,7 @@ class ResolutionReader {
|
|||
severity: readEnum(macro.Severity.values),
|
||||
message: _readMacroDiagnosticMessage(),
|
||||
contextMessages: readTypedList(_readMacroDiagnosticMessage),
|
||||
correctionMessage: _reader.readOptionalStringUtf8(),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -972,6 +972,7 @@ class ResolutionSink extends _SummaryDataWriter {
|
|||
diagnostic.contextMessages,
|
||||
_writeMacroDiagnosticMessage,
|
||||
);
|
||||
writeOptionalStringUtf8(diagnostic.correctionMessage);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -580,6 +580,7 @@ class LibraryMacroApplier {
|
|||
message: convertMessage(diagnostic.message),
|
||||
contextMessages:
|
||||
diagnostic.contextMessages.map(convertMessage).toList(),
|
||||
correctionMessage: diagnostic.correctionMessage,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
|
|
@ -101,11 +101,13 @@ final class MacroDiagnostic extends AnalyzerMacroDiagnostic {
|
|||
final macro.Severity severity;
|
||||
final MacroDiagnosticMessage message;
|
||||
final List<MacroDiagnosticMessage> contextMessages;
|
||||
final String? correctionMessage;
|
||||
|
||||
MacroDiagnostic({
|
||||
required this.severity,
|
||||
required this.message,
|
||||
required this.contextMessages,
|
||||
required this.correctionMessage,
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -935,6 +935,11 @@ class _ElementWriter {
|
|||
_sink.writelnWithIndent(
|
||||
'severity: ${diagnostic.severity.name}',
|
||||
);
|
||||
if (diagnostic.correctionMessage case var correctionMessage?) {
|
||||
_sink.writelnWithIndent(
|
||||
'correctionMessage: $correctionMessage',
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
|
|
@ -94,6 +94,7 @@ import 'package:_fe_analyzer_shared/src/macros/api.dart';
|
|||
target: declaration.asDiagnosticTarget,
|
||||
),
|
||||
_severity,
|
||||
correctionMessage: 'Correction message',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
|
|
@ -3597,6 +3597,7 @@ library
|
|||
target: ElementMacroDiagnosticTarget
|
||||
element: self::@class::A
|
||||
severity: warning
|
||||
correctionMessage: Correction message
|
||||
''');
|
||||
}
|
||||
|
||||
|
@ -3632,6 +3633,7 @@ library
|
|||
target: ElementMacroDiagnosticTarget
|
||||
element: self::@class::A::@constructor::new
|
||||
severity: warning
|
||||
correctionMessage: Correction message
|
||||
''');
|
||||
}
|
||||
|
||||
|
@ -3671,6 +3673,7 @@ library
|
|||
target: ElementMacroDiagnosticTarget
|
||||
element: self::@class::A::@field::foo
|
||||
severity: warning
|
||||
correctionMessage: Correction message
|
||||
accessors
|
||||
synthetic get foo @-1
|
||||
returnType: int
|
||||
|
@ -3712,6 +3715,7 @@ library
|
|||
target: ElementMacroDiagnosticTarget
|
||||
element: self::@class::A::@method::foo
|
||||
severity: warning
|
||||
correctionMessage: Correction message
|
||||
''');
|
||||
}
|
||||
|
||||
|
@ -3745,6 +3749,7 @@ library
|
|||
target: ElementMacroDiagnosticTarget
|
||||
element: self::@mixin::A
|
||||
severity: warning
|
||||
correctionMessage: Correction message
|
||||
superclassConstraints
|
||||
Object
|
||||
''');
|
||||
|
|
Loading…
Reference in a new issue