From 79b28731c5deb55d035da11dc60a44551a0dcd48 Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Mon, 29 Jul 2019 20:45:49 +0200 Subject: [PATCH] IDEA-200527 java.net.URISyntaxException when PatternInstrumenter instruments code GitOrigin-RevId: 18b29edf49024559b7a58ee4372d53099fedd3e5 --- .../compiler/instrumentation/InstrumentationClassFinder.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/compiler/instrumentation-util/src/com/intellij/compiler/instrumentation/InstrumentationClassFinder.java b/java/compiler/instrumentation-util/src/com/intellij/compiler/instrumentation/InstrumentationClassFinder.java index 8651c35028fc..0b79e5d8c0d3 100644 --- a/java/compiler/instrumentation-util/src/com/intellij/compiler/instrumentation/InstrumentationClassFinder.java +++ b/java/compiler/instrumentation-util/src/com/intellij/compiler/instrumentation/InstrumentationClassFinder.java @@ -527,8 +527,9 @@ public class InstrumentationClassFinder { private static Loader getLoader(final URL url, int index) throws IOException { String s; + final String protocol = url.getProtocol(); try { - s = url.toURI().getSchemeSpecificPart(); + s = Loader.JRT_PROTOCOL.equals(protocol)? url.getFile() : url.toURI().getSchemeSpecificPart(); } catch (URISyntaxException thisShouldNotHappen) { thisShouldNotHappen.printStackTrace(); @@ -536,7 +537,6 @@ public class InstrumentationClassFinder { } if (s != null && s.length() > 0) { - final String protocol = url.getProtocol(); if (Loader.JRT_PROTOCOL.equals(protocol)) { final Loader jrtLoader = JrtClassHolder.create(url, index); if (jrtLoader != null) {