New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Uri.resolveUri does not work correctly for relative URIs. #27447
Comments
The actual problem should be fixed in SDKs Uri implementation. #27447 R=paulberry@google.com BUG= Review URL: https://codereview.chromium.org/2376073003 .
We have special casing for resolving a relative URI reference against another relative URI reference (the URI spec assumes always resolving against a non-relative URI, and it's behavior isn't really useful, but technically we are not following the specification). |
In some cases it didn't follow our non-RFC behavior for resolving a relative path on top of another relative path. Fixes issue #27447 BUG= http://dartbug.com/27447 R=eernst@google.com Review URL: https://codereview.chromium.org/2374253004 .
@scheglov is this really P1? |
This causes invalid analysis (and possibly DDC compilation) when using summaries. |
In what real-world context are we using a relative base? |
Analyzer summary logic uses a relative base so that it can create portable summaries. For example, assuming user Joe has the following file structure:
In the summary for |
It should be fixed on by 9bd4406 now. |
Just for context: |
The last full push to 1.20 happened earlier today; do we need to merge this? CC @whesse |
Yes, that would be very helpful, since analyzer's workaround for this issue is incomplete, and we can't remove it safely until a version of the Dart SDK is published that contains the bug fix. So if we don't get this fix merged into 1.20, we'll have to wait until 1.21 is released before we can clean up analyzer. |
For reference, this CL would remove the incomplete analyze workaround. |
The fix for this was the last thing that made it into -dev.10.0, so no, we don't need to merge this. |
Great, thanks for checking! On Thu, Sep 29, 2016 at 4:28 PM, William Hesse notifications@github.com
|
This issue was fixed in the SDK sufficiently long ago that it doesn't seem necessary to keep the workaround in analyzer. R=scheglov@google.com Review-Url: https://codereview.chromium.org/2662033002 .
I expected that this code would print
../b.dart
and../c.dart
.But it prints
b.dart
andc.dart
.Moreover, if I step into
_SimpleUri.resolveUri
and invoke_toNonSimple().resolveUri(reference)
, I get the expected results. So, I guess that the_SimpleUri
's implementation is broken.@stereotype441 @lrhn
The text was updated successfully, but these errors were encountered: