@@ -82,7 +82,7 @@ public ExpressionParser([CanBeNull] ParameterExpression[] parameters, [NotNull]
8282 _parsingConfig = parsingConfig ?? ParsingConfig . Default ;
8383
8484 _keywordsHelper = new KeywordsHelper ( _parsingConfig ) ;
85- _textParser = new TextParser ( expression ) ;
85+ _textParser = new TextParser ( _parsingConfig , expression ) ;
8686 _methodFinder = new MethodFinder ( _parsingConfig ) ;
8787 _expressionHelper = new ExpressionHelper ( _parsingConfig ) ;
8888 _typeFinder = new TypeFinder ( _parsingConfig , _keywordsHelper ) ;
@@ -843,7 +843,7 @@ Expression ParseIntegerLiteral()
843843 text = text . Substring ( 2 ) ;
844844 }
845845
846- if ( ! ulong . TryParse ( text , isHexadecimal ? NumberStyles . HexNumber : NumberStyles . Integer , CultureInfo . CurrentCulture , out ulong value ) )
846+ if ( ! ulong . TryParse ( text , isHexadecimal ? NumberStyles . HexNumber : NumberStyles . Integer , _parsingConfig . NumberParseCulture , out ulong value ) )
847847 {
848848 throw ParseError ( Res . InvalidIntegerLiteral , text ) ;
849849 }
@@ -872,7 +872,7 @@ Expression ParseIntegerLiteral()
872872 text = text . Substring ( 3 ) ;
873873 }
874874
875- if ( ! long . TryParse ( text , isHexadecimal ? NumberStyles . HexNumber : NumberStyles . Integer , CultureInfo . CurrentCulture , out long value ) )
875+ if ( ! long . TryParse ( text , isHexadecimal ? NumberStyles . HexNumber : NumberStyles . Integer , _parsingConfig . NumberParseCulture , out long value ) )
876876 {
877877 throw ParseError ( Res . InvalidIntegerLiteral , text ) ;
878878 }
@@ -924,7 +924,7 @@ Expression TryParseAsFloat(string text, char qualifier)
924924 {
925925 if ( qualifier == 'F' || qualifier == 'f' )
926926 {
927- if ( float . TryParse ( text . Substring ( 0 , text . Length - 1 ) , NumberStyles . Float , CultureInfo . InvariantCulture , out float f ) )
927+ if ( float . TryParse ( text . Substring ( 0 , text . Length - 1 ) , NumberStyles . Float , _parsingConfig . NumberParseCulture , out float f ) )
928928 {
929929 return ConstantExpressionHelper . CreateLiteral ( f , text ) ;
930930 }
@@ -938,7 +938,7 @@ Expression TryParseAsDecimal(string text, char qualifier)
938938 {
939939 if ( qualifier == 'M' || qualifier == 'm' )
940940 {
941- if ( decimal . TryParse ( text . Substring ( 0 , text . Length - 1 ) , NumberStyles . Number , CultureInfo . InvariantCulture , out decimal d ) )
941+ if ( decimal . TryParse ( text . Substring ( 0 , text . Length - 1 ) , NumberStyles . Number , _parsingConfig . NumberParseCulture , out decimal d ) )
942942 {
943943 return ConstantExpressionHelper . CreateLiteral ( d , text ) ;
944944 }
@@ -953,13 +953,13 @@ Expression TryParseAsDouble(string text, char qualifier)
953953 double d ;
954954 if ( qualifier == 'D' || qualifier == 'd' )
955955 {
956- if ( double . TryParse ( text . Substring ( 0 , text . Length - 1 ) , NumberStyles . Number , CultureInfo . InvariantCulture , out d ) )
956+ if ( double . TryParse ( text . Substring ( 0 , text . Length - 1 ) , NumberStyles . Number , _parsingConfig . NumberParseCulture , out d ) )
957957 {
958958 return ConstantExpressionHelper . CreateLiteral ( d , text ) ;
959959 }
960960 }
961961
962- if ( double . TryParse ( text , NumberStyles . Number , CultureInfo . InvariantCulture , out d ) )
962+ if ( double . TryParse ( text , NumberStyles . Number , _parsingConfig . NumberParseCulture , out d ) )
963963 {
964964 return ConstantExpressionHelper . CreateLiteral ( d , text ) ;
965965 }
0 commit comments