| // Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file | 
 | // for details. All rights reserved. Use of this source code is governed by a | 
 | // BSD-style license that can be found in the LICENSE file. | 
 |  | 
 | extension UriExtension on Uri { | 
 |   /// Whether this URI represents a path in a package's private "implementation" | 
 |   /// directory. | 
 |   bool get isImplementation => | 
 |       (isScheme('package') || !hasAbsolutePath) && | 
 |       pathSegments.length > 2 && | 
 |       pathSegments[1] == 'src'; | 
 |  | 
 |   /// Whether this URI and [other] are each 'package:' URIs referencing the same | 
 |   /// package name. | 
 |   bool isSamePackageAs(Uri other) { | 
 |     return isScheme('package') && | 
 |         other.isScheme('package') && | 
 |         pathSegments.isNotEmpty && | 
 |         other.pathSegments.isNotEmpty && | 
 |         pathSegments.first == other.pathSegments.first; | 
 |   } | 
 | } |