mirror of
https://github.com/dart-lang/sdk
synced 2024-09-15 21:20:36 +00:00
25401964ab
Before this CL the kernel service was during the build trained with an attempt at a full file uri for dart2js. There was a suddle bug though: Under non-Windows the uri would become something like "file:////full/path/to/dart2js.dart" (i.e. have 4 slashes) whereas under Windows it would look something like "file:///C:/full/path/to/dart2js.dart" (i.e. correctly with 3 slashes). Mostly, having 4 slashes instead of 3 doesn't matter much: Everything will just look weird and have 4 slashes instead of 3, but when at the same time giving the compiler a relative .packages file (so it will be translated according to the current directory and become a uri with 3 slashes) with relative uris in it (so those uris also get 3 slashes in them) and then doing a sub-string match to - in some cases - interpreting the input as a package uri things go awry. "file:///path/to/whatever" is not a substring of "file:////path/to/whatever" and thus the interpreting the input as a package uri doesn't happen, which can cause weird compilation errors when mixing relative and package uri imports, e.g.: file:////b/s/w/ir/cache/builder/sdk/pkg/compiler/lib/src/common/codegen.dart:439:38: Error: The argument type 'MemberEntity/*1*/' can't be assigned to the parameter type 'MemberEntity/*2*/'. - 'MemberEntity/*1*/' is from 'file:////b/s/w/ir/cache/builder/sdk/pkg/compiler/lib/src/elements/entities.dart'. - 'MemberEntity/*2*/' is from 'package:compiler/src/elements/entities.dart' ('file:///b/s/w/ir/cache/builder/sdk/pkg/compiler/lib/src/elements/entities.dart'). Try changing the type of the parameter, or casting the argument to 'MemberEntity/*2*/'. return _functionCompiler.compile(member); ^ Change-Id: I4c6b5ea2e7e2e4a75331847138a79708ac365769 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103126 Reviewed-by: Johnni Winther <johnniwinther@google.com> Commit-Queue: Jens Johansen <jensj@google.com> |
||
---|---|---|
.. | ||
BUILD.gn |