@@ -47,46 +47,27 @@ repeat 10 with $iter
4747
4848 public override TryAddTokenRes TryAddToken ( BaseToken token )
4949 {
50- switch ( token )
50+ if ( token is not IValueToken valToken || ! valToken . CapableOf < NumberValue > ( out var getNumber ) )
5151 {
52- case NumberToken numberToken :
52+ return TryAddTokenRes . Error ( $ "Value '{ token . RawRep } ' cannot be interpreted as a number.") ;
53+ }
54+
55+ _repeatCountExpression = ( ) =>
56+ {
57+ if ( getNumber ( ) . HasErrored ( out var error , out var value ) )
5358 {
54- if ( numberToken . Value < 0 )
55- {
56- return TryAddTokenRes . Error (
57- $ "Value '{ numberToken . Value } ' cannot be negative.") ;
58- }
59-
60- _repeatCount = ( uint ) numberToken . Value ;
61- return TryAddTokenRes . End ( ) ;
59+ return error ;
6260 }
63-
64- case IValueToken valToken :
65- {
66- if ( ! valToken . CapableOf < NumberValue > ( out var getNumber ) )
67- {
68- return TryAddTokenRes . Error ( $ "Value '{ token . RawRep } ' returns a value, but.") ;
69- }
70-
71- _repeatCountExpression = ( ) =>
72- {
73- if ( getNumber ( ) . HasErrored ( out var error , out var value ) )
74- {
75- return error ;
76- }
7761
78- if ( value . Value < 0 )
79- {
80- return $ "Value '{ value } ' cannot be negative.";
81- }
82-
83- return ( uint ) value . Value ;
84- } ;
85- return TryAddTokenRes . End ( ) ;
62+ if ( value . Value < 0 )
63+ {
64+ return $ "Value '{ value } ' cannot be negative.";
8665 }
87- }
8866
89- return TryAddTokenRes . Error ( $ "Value '{ token . RawRep } ' cannot be interpreted as a number.") ;
67+ return ( uint ) value . Value ;
68+ } ;
69+
70+ return TryAddTokenRes . End ( ) ;
9071 }
9172
9273 public override Result VerifyCurrentState ( )
0 commit comments