@@ -37,12 +37,12 @@ public Boolean AllowLiteral(out LiteralToken value)
3737 if ( EvaluateCurrent ( ) is Scalar scalar )
3838 {
3939 // Tag specified
40- if ( ! String . IsNullOrEmpty ( scalar . Tag . Value ) )
40+ if ( ! scalar . Tag . IsEmpty && ! scalar . Tag . IsNonSpecific )
4141 {
4242 // String tag
4343 if ( String . Equals ( scalar . Tag . Value , c_stringTag , StringComparison . Ordinal ) )
4444 {
45- value = new StringToken ( m_fileId , scalar . Start . Line , scalar . Start . Column , scalar . Value ) ;
45+ value = new StringToken ( m_fileId , ( int ) scalar . Start . Line , ( int ) scalar . Start . Column , scalar . Value ) ;
4646 MoveNext ( ) ;
4747 return true ;
4848 }
@@ -94,15 +94,15 @@ public Boolean AllowLiteral(out LiteralToken value)
9494 }
9595 else
9696 {
97- value = new StringToken ( m_fileId , scalar . Start . Line , scalar . Start . Column , scalar . Value ) ;
97+ value = new StringToken ( m_fileId , ( int ) scalar . Start . Line , ( int ) scalar . Start . Column , scalar . Value ) ;
9898 }
9999
100100 MoveNext ( ) ;
101101 return true ;
102102 }
103103
104104 // Otherwise assume string
105- value = new StringToken ( m_fileId , scalar . Start . Line , scalar . Start . Column , scalar . Value ) ;
105+ value = new StringToken ( m_fileId , ( int ) scalar . Start . Line , ( int ) scalar . Start . Column , scalar . Value ) ;
106106 MoveNext ( ) ;
107107 return true ;
108108 }
@@ -115,7 +115,7 @@ public Boolean AllowSequenceStart(out SequenceToken value)
115115 {
116116 if ( EvaluateCurrent ( ) is SequenceStart sequenceStart )
117117 {
118- value = new SequenceToken ( m_fileId , sequenceStart . Start . Line , sequenceStart . Start . Column ) ;
118+ value = new SequenceToken ( m_fileId , ( int ) sequenceStart . Start . Line , ( int ) sequenceStart . Start . Column ) ;
119119 MoveNext ( ) ;
120120 return true ;
121121 }
@@ -139,7 +139,7 @@ public Boolean AllowMappingStart(out MappingToken value)
139139 {
140140 if ( EvaluateCurrent ( ) is MappingStart mappingStart )
141141 {
142- value = new MappingToken ( m_fileId , mappingStart . Start . Line , mappingStart . Start . Column ) ;
142+ value = new MappingToken ( m_fileId , ( int ) mappingStart . Start . Line , ( int ) mappingStart . Start . Column ) ;
143143 MoveNext ( ) ;
144144 return true ;
145145 }
@@ -481,12 +481,12 @@ private Boolean MatchBoolean(
481481 case "true" :
482482 case "True" :
483483 case "TRUE" :
484- value = new BooleanToken ( m_fileId , scalar . Start . Line , scalar . Start . Column , true ) ;
484+ value = new BooleanToken ( m_fileId , ( int ) scalar . Start . Line , ( int ) scalar . Start . Column , true ) ;
485485 return true ;
486486 case "false" :
487487 case "False" :
488488 case "FALSE" :
489- value = new BooleanToken ( m_fileId , scalar . Start . Line , scalar . Start . Column , false ) ;
489+ value = new BooleanToken ( m_fileId , ( int ) scalar . Start . Line , ( int ) scalar . Start . Column , false ) ;
490490 return true ;
491491 }
492492
@@ -511,17 +511,17 @@ private Boolean MatchFloat(
511511 case "+.inf" :
512512 case "+.Inf" :
513513 case "+.INF" :
514- value = new NumberToken ( m_fileId , scalar . Start . Line , scalar . Start . Column , Double . PositiveInfinity ) ;
514+ value = new NumberToken ( m_fileId , ( int ) scalar . Start . Line , ( int ) scalar . Start . Column , Double . PositiveInfinity ) ;
515515 return true ;
516516 case "-.inf" :
517517 case "-.Inf" :
518518 case "-.INF" :
519- value = new NumberToken ( m_fileId , scalar . Start . Line , scalar . Start . Column , Double . NegativeInfinity ) ;
519+ value = new NumberToken ( m_fileId , ( int ) scalar . Start . Line , ( int ) scalar . Start . Column , Double . NegativeInfinity ) ;
520520 return true ;
521521 case ".nan" :
522522 case ".NaN" :
523523 case ".NAN" :
524- value = new NumberToken ( m_fileId , scalar . Start . Line , scalar . Start . Column , Double . NaN ) ;
524+ value = new NumberToken ( m_fileId , ( int ) scalar . Start . Line , ( int ) scalar . Start . Column , Double . NaN ) ;
525525 return true ;
526526 }
527527
@@ -564,7 +564,7 @@ private Boolean MatchFloat(
564564 // Try parse
565565 if ( Double . TryParse ( str , NumberStyles . AllowLeadingSign | NumberStyles . AllowDecimalPoint , CultureInfo . InvariantCulture , out var doubleValue ) )
566566 {
567- value = new NumberToken ( m_fileId , scalar . Start . Line , scalar . Start . Column , doubleValue ) ;
567+ value = new NumberToken ( m_fileId , ( int ) scalar . Start . Line , ( int ) scalar . Start . Column , doubleValue ) ;
568568 return true ;
569569 }
570570 // Otherwise exceeds range
@@ -598,7 +598,7 @@ private Boolean MatchFloat(
598598 // Try parse
599599 if ( Double . TryParse ( str , NumberStyles . AllowLeadingSign | NumberStyles . AllowDecimalPoint | NumberStyles . AllowExponent , CultureInfo . InvariantCulture , out var doubleValue ) )
600600 {
601- value = new NumberToken ( m_fileId , scalar . Start . Line , scalar . Start . Column , ( Double ) doubleValue ) ;
601+ value = new NumberToken ( m_fileId , ( int ) scalar . Start . Line , ( int ) scalar . Start . Column , ( Double ) doubleValue ) ;
602602 return true ;
603603 }
604604 // Otherwise exceeds range
@@ -631,7 +631,7 @@ private Boolean MatchInteger(
631631 // Try parse
632632 if ( Double . TryParse ( str , NumberStyles . None , CultureInfo . InvariantCulture , out var doubleValue ) )
633633 {
634- value = new NumberToken ( m_fileId , scalar . Start . Line , scalar . Start . Column , doubleValue ) ;
634+ value = new NumberToken ( m_fileId , ( int ) scalar . Start . Line , ( int ) scalar . Start . Column , doubleValue ) ;
635635 return true ;
636636 }
637637
@@ -646,7 +646,7 @@ private Boolean MatchInteger(
646646 // Try parse
647647 if ( Double . TryParse ( str , NumberStyles . AllowLeadingSign , CultureInfo . InvariantCulture , out var doubleValue ) )
648648 {
649- value = new NumberToken ( m_fileId , scalar . Start . Line , scalar . Start . Column , doubleValue ) ;
649+ value = new NumberToken ( m_fileId , ( int ) scalar . Start . Line , ( int ) scalar . Start . Column , doubleValue ) ;
650650 return true ;
651651 }
652652
@@ -662,7 +662,7 @@ private Boolean MatchInteger(
662662 // Try parse
663663 if ( Int32 . TryParse ( str . Substring ( 2 ) , NumberStyles . AllowHexSpecifier , CultureInfo . InvariantCulture , out var integerValue ) )
664664 {
665- value = new NumberToken ( m_fileId , scalar . Start . Line , scalar . Start . Column , integerValue ) ;
665+ value = new NumberToken ( m_fileId , ( int ) scalar . Start . Line , ( int ) scalar . Start . Column , integerValue ) ;
666666 return true ;
667667 }
668668
@@ -687,7 +687,7 @@ private Boolean MatchInteger(
687687 ThrowInvalidValue ( scalar , c_integerTag ) ; // throws
688688 }
689689
690- value = new NumberToken ( m_fileId , scalar . Start . Line , scalar . Start . Column , integerValue ) ;
690+ value = new NumberToken ( m_fileId , ( int ) scalar . Start . Line , ( int ) scalar . Start . Column , integerValue ) ;
691691 return true ;
692692 }
693693 }
@@ -708,7 +708,7 @@ private Boolean MatchNull(
708708 case "Null" :
709709 case "NULL" :
710710 case "~" :
711- value = new NullToken ( m_fileId , scalar . Start . Line , scalar . Start . Column ) ;
711+ value = new NullToken ( m_fileId , ( int ) scalar . Start . Line , ( int ) scalar . Start . Column ) ;
712712 return true ;
713713 }
714714
0 commit comments