< prev index next >

src/java.base/share/classes/java/net/URI.java

Print this page

3709                 if (at(p + 1, n, ':'))
3710                     break;              // "::"
3711                 p++;
3712                 q = scan(p, n, L_HEX, H_HEX);
3713                 if (q <= p)
3714                     failExpecting("digits for an IPv6 address", p);
3715                 if (at(q, n, '.')) {    // Beginning of IPv4 address
3716                     p--;
3717                     break;
3718                 }
3719                 if (q > p + 4)
3720                     fail("IPv6 hexadecimal digit sequence too long", p);
3721                 ipv6byteCount += 2;
3722                 p = q;
3723             }
3724 
3725             return p;
3726         }
3727 
3728     }

3729     static {





3730         SharedSecrets.setJavaNetUriAccess(
3731             new JavaNetUriAccess() {
3732                 public URI create(String scheme, String path) {
3733                     return new URI(scheme, path);
3734                 }
3735             }
3736         );
3737     }
3738 }

3709                 if (at(p + 1, n, ':'))
3710                     break;              // "::"
3711                 p++;
3712                 q = scan(p, n, L_HEX, H_HEX);
3713                 if (q <= p)
3714                     failExpecting("digits for an IPv6 address", p);
3715                 if (at(q, n, '.')) {    // Beginning of IPv4 address
3716                     p--;
3717                     break;
3718                 }
3719                 if (q > p + 4)
3720                     fail("IPv6 hexadecimal digit sequence too long", p);
3721                 ipv6byteCount += 2;
3722                 p = q;
3723             }
3724 
3725             return p;
3726         }
3727 
3728     }
3729 
3730     static {
3731         runtimeSetup();
3732     }
3733 
3734     // Called from JVM when loading an AOT cache
3735     private static void runtimeSetup() {
3736         SharedSecrets.setJavaNetUriAccess(
3737             new JavaNetUriAccess() {
3738                 public URI create(String scheme, String path) {
3739                     return new URI(scheme, path);
3740                 }
3741             }
3742         );
3743     }
3744 }
< prev index next >