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

Unified Diff: pkg/front_end/lib/src/fasta/source/source_library_builder.dart

Issue 2691523002: Ensure locations are always provided, but don't store them yet. (Closed)
Patch Set: Address 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/source/source_library_builder.dart
diff --git a/pkg/front_end/lib/src/fasta/source/source_library_builder.dart b/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
index 2e4aee047436675a1faea06a994c5b6893921652..a27c9255019544a16284e357085b33b6d323503e 100644
--- a/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
@@ -75,7 +75,8 @@ abstract class SourceLibraryBuilder<T extends TypeBuilder, R>
/// for example, [addClass] is called.
DeclarationBuilder<T> currentDeclaration;
- SourceLibraryBuilder(this.loader, this.fileUri) {
+ SourceLibraryBuilder(this.loader, Uri fileUri)
+ : fileUri = fileUri, super(fileUri) {
currentDeclaration = libraryDeclaration;
}
@@ -99,21 +100,21 @@ abstract class SourceLibraryBuilder<T extends TypeBuilder, R>
return currentDeclaration.types;
}
- T addNamedType(String name, List<T> arguments);
+ T addNamedType(String name, List<T> arguments, int charOffset);
- T addMixinApplication(T supertype, List<T> mixins);
+ T addMixinApplication(T supertype, List<T> mixins, int charOffset);
T addType(T type) {
currentDeclaration.addType(type);
return type;
}
- T addVoidType();
+ T addVoidType(int charOffset);
ConstructorReferenceBuilder addConstructorReference(
- String name, List<T> typeArguments, String suffix) {
- ConstructorReferenceBuilder ref =
- new ConstructorReferenceBuilder(name, typeArguments, suffix);
+ String name, List<T> typeArguments, String suffix, int charOffset) {
+ ConstructorReferenceBuilder ref = new ConstructorReferenceBuilder(name,
+ typeArguments, suffix, this, charOffset);
constructorReferences.add(ref);
return ref;
}
@@ -132,14 +133,15 @@ abstract class SourceLibraryBuilder<T extends TypeBuilder, R>
Uri resolve(String path) => uri.resolve(path);
void addExport(List<MetadataBuilder> metadata, String uri,
- Unhandled conditionalUris, List<Combinator> combinators) {
- loader.read(resolve(uri)).addExporter(this, combinators);
+ Unhandled conditionalUris, List<Combinator> combinators, int charOffset) {
+ loader.read(resolve(uri)).addExporter(this, combinators, charOffset);
}
void addImport(List<MetadataBuilder> metadata, String uri,
Unhandled conditionalUris, String prefix, List<Combinator> combinators,
- bool deferred) {
- imports.add(new Import(loader.read(resolve(uri)), prefix, combinators));
+ bool deferred, int charOffset, int prefixCharOffset) {
+ imports.add(new Import(this, loader.read(resolve(uri)), prefix, combinators,
+ charOffset, prefixCharOffset));
}
void addPart(List<MetadataBuilder> metadata, String path) {
@@ -162,20 +164,21 @@ abstract class SourceLibraryBuilder<T extends TypeBuilder, R>
ClassBuilder addClass(List<MetadataBuilder> metadata,
int modifiers, String name,
List<TypeVariableBuilder> typeVariables, T supertype,
- List<T> interfaces);
+ List<T> interfaces, int charOffset);
NamedMixinApplicationBuilder addNamedMixinApplication(
List<MetadataBuilder> metadata, String name,
List<TypeVariableBuilder> typeVariables, int modifiers,
- T mixinApplication, List<T> interfaces);
+ T mixinApplication, List<T> interfaces, int charOffset);
FieldBuilder addField(List<MetadataBuilder> metadata,
- int modifiers, T type, String name);
+ int modifiers, T type, String name, int charOffset);
void addFields(List<MetadataBuilder> metadata, int modifiers,
T type, List<String> names) {
for (String name in names) {
- addField(metadata, modifiers, type, name);
+ // TODO(ahe): Get charOffset of name.
+ addField(metadata, modifiers, type, name, -1);
}
}
@@ -183,25 +186,26 @@ abstract class SourceLibraryBuilder<T extends TypeBuilder, R>
int modifiers, T returnType, String name,
List<TypeVariableBuilder> typeVariables,
List<FormalParameterBuilder> formals, AsyncMarker asyncModifier,
- ProcedureKind kind);
+ ProcedureKind kind, int charOffset);
EnumBuilder addEnum(List<MetadataBuilder> metadata, String name,
- List<String> constants);
+ List<String> constants, int charOffset);
FunctionTypeAliasBuilder addFunctionTypeAlias(List<MetadataBuilder> metadata,
T returnType, String name,
List<TypeVariableBuilder> typeVariables,
- List<FormalParameterBuilder> formals);
+ List<FormalParameterBuilder> formals, int charOffset);
void addFactoryMethod(List<MetadataBuilder> metadata,
ConstructorReferenceBuilder name, List<FormalParameterBuilder> formals,
- AsyncMarker asyncModifier, ConstructorReferenceBuilder redirectionTarget);
+ AsyncMarker asyncModifier, ConstructorReferenceBuilder redirectionTarget,
+ int charOffset);
FormalParameterBuilder addFormalParameter(
List<MetadataBuilder> metadata, int modifiers,
- T type, String name, bool hasThis);
+ T type, String name, bool hasThis, int charOffset);
- TypeVariableBuilder addTypeVariable(String name, T bound);
+ TypeVariableBuilder addTypeVariable(String name, T bound, int charOffset);
Builder addBuilder(String name, Builder builder) {
// TODO(ahe): Set the parent correctly here. Could then change the
@@ -310,7 +314,7 @@ abstract class SourceLibraryBuilder<T extends TypeBuilder, R>
}
void addToScope(String name, Builder member) {
- Builder existing = scope.lookup(name);
+ Builder existing = scope.lookup(name, member.charOffset, fileUri);
if (existing != null) {
if (existing != member) {
scope.local[name] = existing.combineAmbiguousImport(name, member, this);
« no previous file with comments | « pkg/front_end/lib/src/fasta/source/source_class_builder.dart ('k') | pkg/front_end/lib/src/fasta/util/relativize.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698