From 2007487cf042628a8776e0d741a86e1d6c605a4f Mon Sep 17 00:00:00 2001 From: Stephen Adams Date: Thu, 3 Aug 2017 14:47:30 -0700 Subject: [PATCH] Work-around for missing mixin-application charOffset BUG= R=sigmund@google.com Review-Url: https://codereview.chromium.org/2994553002 . --- .../lib/src/fasta/kernel/kernel_library_builder.dart | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_library_builder.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_library_builder.dart index d8df4f86fc8..181d22ca1c5 100644 --- a/pkg/front_end/lib/src/fasta/kernel/kernel_library_builder.dart +++ b/pkg/front_end/lib/src/fasta/kernel/kernel_library_builder.dart @@ -290,6 +290,10 @@ class KernelLibraryBuilder int unresolvedCount = 0; Map freeTypes = {}; + // TODO(30316): Use correct locations of mixin applications + // (e.g. identifiers for mixed-in classes). + if (charOffset == -1) charOffset = type.charOffset; + if (name == null || type.mixins.length != 1) { TypeBuilder last = type.mixins.last; @@ -419,8 +423,8 @@ class KernelLibraryBuilder checkArguments(mixin); supertype = applyMixin(supertype, mixin, signature, isSyntheticMixinImplementation: true, - typeVariables: - new List.from(variables.values)); + typeVariables: new List.from(variables.values), + charOffset: charOffset); } KernelNamedTypeBuilder mixin = type.mixins.last;