@@ -76,8 +76,8 @@ pub fn FieldOptions.from_string(s string) !FieldOptions {
76
76
}
77
77
attrs := trimmed.split (';' )
78
78
opt := FieldOptions.from_attrs (attrs)!
79
- // checks
80
- opt.check_wrapper ()!
79
+ // no need to check, from_attrs already called it internally.
80
+ // opt.check_wrapper()!
81
81
82
82
return opt
83
83
}
@@ -113,8 +113,8 @@ pub fn FieldOptions.from_attrs(attrs []string) !FieldOptions {
113
113
return error ('max allowed filtered.len' )
114
114
}
115
115
116
- for attr in filtered {
117
- item := attr. trim_space ()
116
+ // The item has space-trimmed
117
+ for item in filtered {
118
118
if ! is_tag_marker (item) && ! is_optional_marker (item) && ! is_default_marker (item)
119
119
&& ! is_mode_marker (item) && ! is_inner_tag_marker (item) {
120
120
return error ('unsupported keyword' )
@@ -274,13 +274,13 @@ fn (fo FieldOptions) check_wrapper() ! {
274
274
if fo.inner == '' {
275
275
return error ('You provides incorrect inner number' )
276
276
}
277
- inner := fo.inner.trim_space ()
278
- if ! valid_inner_universal_form (inner) && ! valid_extended_inner_form (inner) {
277
+ // inner := fo.inner.trim_space()
278
+ if ! valid_inner_universal_form (fo. inner) && ! valid_extended_inner_form (fo. inner) {
279
279
return error ('invalid inner value format' )
280
280
}
281
281
if valid_inner_universal_form (fo.inner) {
282
- val := fo.inner.trim_space ()
283
- num := val .int ()
282
+ // val := fo.inner.trim_space()
283
+ num := fo.inner .int ()
284
284
if num > max_universal_tagnumber {
285
285
return error ('Inner number exceed universal limit' )
286
286
}
@@ -355,8 +355,7 @@ fn valid_mode_value(s string) bool {
355
355
// support two format:
356
356
// - unviersal inner format in the form `inner:number`, where number is universal class number.
357
357
// - extended inner format in the form 'inner:class,form,number' for more broad support of the inner class.
358
- fn parse_inner_tag_marker (attr string ) ! (string , string ) {
359
- src := attr.trim_space ()
358
+ fn parse_inner_tag_marker (src string ) ! (string , string ) {
360
359
if is_inner_tag_marker (src) {
361
360
item := src.split (':' )
362
361
if item.len != 2 {
@@ -414,46 +413,37 @@ fn valid_inner_tag_key(s string) bool {
414
413
return s == 'inner'
415
414
}
416
415
417
- fn valid_inner_universal_form (s string ) bool {
416
+ fn valid_inner_universal_form (value string ) bool {
418
417
// 'inner: number' part
419
- value := s.trim_space ()
420
418
return valid_string_tag_number (value)
421
419
}
422
420
423
- fn valid_extended_inner_form (s string ) bool {
424
- // 'inner:class,form,number' part
425
- value := s.trim_space ()
426
- // comma separated value.
421
+ fn valid_extended_inner_form (value string ) bool {
422
+ // 'inner:class,form,number' part in comma separated value.
427
423
items := value.split (',' )
428
424
if items.len != 3 {
429
425
return false
430
426
}
431
- cls := items[0 ].trim_space ()
432
- if ! is_extended_inner_cls_marker (cls) {
427
+ if ! is_extended_inner_cls_marker (items[0 ].trim_space ()) {
433
428
return false
434
429
}
435
- if ! valid_extended_inner_cls_marker (cls ) {
430
+ if ! valid_extended_inner_cls_marker (items[ 0 ]. trim_space () ) {
436
431
return false
437
432
}
438
433
// second form should be 'true' or 'false'
439
- form := items[1 ].trim_space ()
440
- if ! valid_extended_inner_form_marker (form) {
434
+ if ! valid_extended_inner_form_marker (items[1 ].trim_space ()) {
441
435
return false
442
436
}
443
-
444
437
// third item should be a number
445
- third := items[2 ].trim_space ()
446
- if ! valid_extended_inner_number_marker (third) {
438
+ if ! valid_extended_inner_number_marker (items[2 ].trim_space ()) {
447
439
return false
448
440
}
449
441
return true
450
442
}
451
443
452
444
fn parse_inner_extended_form (s string ) ! (string , string , string ) {
453
- // 'inner:class,form,number' part
454
- value := s.trim_space ()
455
- // comma separated value.
456
- items := value.split (',' )
445
+ // 'inner:class,form,number' part in comma separated value.
446
+ items := s.split (',' )
457
447
if items.len != 3 {
458
448
return error ('invalid extended form length' )
459
449
}
@@ -469,7 +459,6 @@ fn parse_inner_extended_form(s string) !(string, string, string) {
469
459
if ! valid_extended_inner_form_marker (form) {
470
460
return error ('Your ext inner form is invalid' )
471
461
}
472
-
473
462
// third item should be a number
474
463
third := items[2 ].trim_space ()
475
464
if ! valid_extended_inner_number_marker (third) {
@@ -487,13 +476,11 @@ fn valid_extended_inner_cls_marker(attr string) bool {
487
476
return valid_tagclass_name (attr) || attr == 'universal'
488
477
}
489
478
490
- fn valid_extended_inner_form_marker (attr string ) bool {
491
- s := attr.trim_space ()
479
+ fn valid_extended_inner_form_marker (s string ) bool {
492
480
return s == 'true' || s == 'false'
493
481
}
494
482
495
- fn valid_extended_inner_number_marker (attr string ) bool {
496
- s := attr.trim_space ()
483
+ fn valid_extended_inner_number_marker (s string ) bool {
497
484
return valid_string_tag_number (s)
498
485
}
499
486
@@ -503,8 +490,7 @@ fn valid_extended_inner_number_marker(attr string) bool {
503
490
// - the only optional key 'optional' marker, and
504
491
// - extended bit of presence of optional, 'optional:present'
505
492
fn parse_optional_marker (attr string ) ! (string , string ) {
506
- opt := attr.trim_space ()
507
- values := opt.split (':' )
493
+ values := attr.split (':' )
508
494
if values.len != 1 && values.len != 2 {
509
495
return error ('Bad optional length' )
510
496
}
@@ -576,8 +562,8 @@ fn valid_default_marker(attr string) bool {
576
562
// UTILTIY
577
563
//
578
564
// is_asn1_options_marker checks if provided string is valid supported field options string.
579
- fn is_asn1_options_marker (s string ) bool {
580
- item := s.trim_space ()
565
+ fn is_asn1_options_marker (item string ) bool {
566
+ // item := s.trim_space()
581
567
// belowng to one of five supported marker.
582
568
valid := is_tag_marker (item) || is_mode_marker (item) || is_inner_tag_marker (item)
583
569
|| is_optional_marker (item) || is_default_marker (item)
0 commit comments