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

Unified Diff: pkg/front_end/lib/src/fasta/builder/type_declaration_builder.dart

Issue 2708893002: fasta: Cache relativizeUri(fileUri) on LibraryBuilder and ClassBuilder (or rather it's base class) (Closed)
Patch Set: addressed comments Created 3 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
Index: pkg/front_end/lib/src/fasta/builder/type_declaration_builder.dart
diff --git a/pkg/front_end/lib/src/fasta/builder/type_declaration_builder.dart b/pkg/front_end/lib/src/fasta/builder/type_declaration_builder.dart
index bb3ceb2c87cc15ffa1adcdb05481000a043f5159..901b29c4ee2516f1b5c981cec6cb09c28807e92e 100644
--- a/pkg/front_end/lib/src/fasta/builder/type_declaration_builder.dart
+++ b/pkg/front_end/lib/src/fasta/builder/type_declaration_builder.dart
@@ -10,6 +10,9 @@ import 'builder.dart' show
ModifierBuilder,
TypeBuilder;
+import '../util/relativize.dart' show
+ relativizeUri;
+
abstract class TypeDeclarationBuilder<T extends TypeBuilder, R>
extends ModifierBuilder {
final List<MetadataBuilder> metadata;
@@ -20,9 +23,16 @@ abstract class TypeDeclarationBuilder<T extends TypeBuilder, R>
Builder parent;
+ final Uri fileUri;
+ final String relativeFileUri;
+
TypeDeclarationBuilder(this.metadata, this.modifiers, this.name,
Builder parent, int charOffset, [Uri fileUri])
- : parent = parent, super(parent, charOffset, fileUri ?? parent?.fileUri);
+ : fileUri = fileUri ?? parent?.fileUri,
+ relativeFileUri = fileUri != null
+ ? relativizeUri(fileUri)
+ : parent?.relativeFileUri,
+ super(parent, charOffset, fileUri ?? parent?.fileUri);
bool get isTypeDeclaration => true;
« no previous file with comments | « pkg/front_end/lib/src/fasta/builder/library_builder.dart ('k') | pkg/front_end/lib/src/fasta/kernel/kernel_field_builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698