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

Unified Diff: pkg/status_file/lib/status_file.dart

Issue 2987633002: Added functionality to dump relevant status file entries to a single file to make it easier to see … (Closed)
Patch Set: Addressed additional comments Created 3 years, 5 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 | tools/migration/.packages » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/status_file/lib/status_file.dart
diff --git a/pkg/status_file/lib/status_file.dart b/pkg/status_file/lib/status_file.dart
index d6cd7f362166c4016a54cb5f970cca4e1a13c8ec..f2445841da85b07d276799cb996ecba908686423 100644
--- a/pkg/status_file/lib/status_file.dart
+++ b/pkg/status_file/lib/status_file.dart
@@ -43,14 +43,16 @@ final _issuePattern = new RegExp(r"[Ii]ssue (\d+)");
/// Entries may also appear before any section header, in which case they
/// always apply.
class StatusFile {
- final String _path;
+ final String path;
final List<StatusSection> sections = [];
- /// Parses the status file at [_path].
+ StatusFile(this.path);
+
+ /// Parses the status file at [path].
///
/// Throws a [SyntaxError] if the file could not be parsed.
- StatusFile.read(this._path) {
- var lines = new File(_path).readAsLinesSync();
+ StatusFile.read(this.path) {
+ var lines = new File(path).readAsLinesSync();
// The current section whose rules are being parsed.
StatusSection section;
@@ -121,6 +123,8 @@ class StatusFile {
}
}
+ bool get isEmpty => sections.isEmpty;
+
/// Validates that the variables and values used in all of the section
/// condition expressions are defined in [environment].
///
@@ -129,15 +133,15 @@ class StatusFile {
// TODO(rnystrom): It would be more useful if it reported all of the errors
// instead of stopping on the first.
for (var section in sections) {
- if (section._condition == null) continue;
+ if (section.condition == null) continue;
var errors = <String>[];
- section._condition.validate(environment, errors);
+ section.condition.validate(environment, errors);
if (errors.isNotEmpty) {
var s = errors.length > 1 ? "s" : "";
throw new SyntaxError(_shortPath, section.lineNumber,
- "[ ${section._condition} ]", 'Validation error$s', errors);
+ "[ ${section.condition} ]", 'Validation error$s', errors);
}
}
}
@@ -145,7 +149,7 @@ class StatusFile {
/// Gets the path to this status file relative to the Dart repo root.
String get _shortPath {
var repoRoot = p.join(p.dirname(p.fromUri(Platform.script)), "../../../");
- return p.normalize(p.relative(_path, from: repoRoot));
+ return p.normalize(p.relative(path, from: repoRoot));
}
/// Returns the issue number embedded in [comment] or `null` if there is none.
@@ -159,7 +163,7 @@ class StatusFile {
String toString() {
var buffer = new StringBuffer();
for (var section in sections) {
- buffer.writeln("[ ${section._condition} ]");
+ buffer.writeln("[ ${section.condition} ]");
for (var entry in section.entries) {
buffer.write("${entry.path}: ${entry.expectations.join(', ')}");
@@ -183,14 +187,14 @@ class StatusSection {
///
/// May be `null` for paths that appear before any section header in the file.
/// In that case, the section always applies.
- final Expression _condition;
+ final Expression condition;
final List<StatusEntry> entries = [];
/// Returns true if this section should apply in the given [environment].
bool isEnabled(Environment environment) =>
- _condition == null || _condition.evaluate(environment);
+ condition == null || condition.evaluate(environment);
- StatusSection(this._condition);
+ StatusSection(this.condition);
}
/// Describes the test status of the file or files at a given path.
« no previous file with comments | « no previous file | tools/migration/.packages » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698