tools icon indicating copy to clipboard operation
tools copied to clipboard

"Bad state: no element" for "{**/,}foo.dart"

Open DanTup opened this issue 2 years ago • 0 comments

I'm not sure if this is a valid pattern, but while looking at #52880 I tried to use "{**/,}foo.dart", but it resulted in an exception:

print(Glob('{**/,}foo.dart').matches("c:\\foo\\bar.txt"));
Unhandled exception:
Bad state: No element
#0      List.first (dart:core-patch/growable_array.dart:343:5)
dart-lang/tools#1976      SequenceNode.canMatchAbsolute (package:glob/src/ast.dart:60:38)
dart-lang/tools#1977      OptionsNode.canMatchAbsolute.<anonymous closure> (package:glob/src/ast.dart:371:59)
dart-lang/tools#1978      ListBase.any (dart:collection/list.dart:114:15)
dart-lang/tools#1979      OptionsNode.canMatchAbsolute (package:glob/src/ast.dart:371:40)
dart-lang/tools#1980      SequenceNode.canMatchAbsolute (package:glob/src/ast.dart:60:44)
dart-lang/glob#6      Glob._patternCanMatchAbsolute (package:glob/glob.dart:70:46)
dart-lang/tools#1981      Glob.matchAsPrefix (package:glob/glob.dart:162:9)
dart-lang/tools#1982      Glob.matches (package:glob/glob.dart:154:32)
dart-lang/tools#1983      main (file:///C:/Dev/Test%20Projects/blogtest/bin/blogtest.dart:5:32)
dart-lang/glob#10     _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:294:33)
dart-lang/glob#11     _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:189:12)

If the pattern is invalid and exception is expected, it should be more descriptive than this.

DanTup avatar Jul 10 '23 09:07 DanTup