@@ -462,7 +462,7 @@ def exitIdentifierStatement(self, ctx: ExpressionParser.IdentifierStatementConte
462462 signalid = Empty .GUID
463463
464464 if ctx .GUID_LITERAL () is not None :
465- signalid = UUID (ctx .GUID_LITERAL ().getText ())
465+ signalid = FilterExpressionParser . _parse_guidliteral (ctx .GUID_LITERAL ().getText ())
466466
467467 if not self .track_filteredrows and not self .track_filteredsignalids :
468468 # Handle edge case of encountering standalone Guid when not tracking rows or table identifiers.
@@ -930,13 +930,13 @@ def exitLiteralValue(self, ctx: ExpressionParser.LiteralValueContext):
930930
931931 if value > Limits .MAXINT32 :
932932 if value > Limits .MAXINT64 :
933- result = self ._parse_numericliteral (literal )
933+ result = FilterExpressionParser ._parse_numericliteral (literal )
934934 else :
935935 result = ValueExpression (ExpressionValueType .INT64 , value )
936936 else :
937937 result = ValueExpression (ExpressionValueType .INT32 , value )
938938 except Exception :
939- result = self ._parse_numericliteral (literal )
939+ result = FilterExpressionParser ._parse_numericliteral (literal )
940940 elif ctx .NUMERIC_LITERAL () is not None :
941941 literal : str = ctx .NUMERIC_LITERAL ().getText ()
942942
@@ -945,15 +945,15 @@ def exitLiteralValue(self, ctx: ExpressionParser.LiteralValueContext):
945945 if "E" in literal .upper ():
946946 result = ValueExpression (ExpressionValueType .DOUBLE , float (literal ))
947947 else :
948- result = self ._parse_numericliteral (literal )
948+ result = FilterExpressionParser ._parse_numericliteral (literal )
949949 except Exception :
950- result = self ._parse_numericliteral (literal )
950+ result = FilterExpressionParser ._parse_numericliteral (literal )
951951 elif ctx .STRING_LITERAL () is not None :
952- result = ValueExpression (ExpressionValueType .STRING , self ._parse_stringliteral (ctx .STRING_LITERAL ().getText ()))
952+ result = ValueExpression (ExpressionValueType .STRING , FilterExpressionParser ._parse_stringliteral (ctx .STRING_LITERAL ().getText ()))
953953 elif ctx .DATETIME_LITERAL () is not None :
954- result = ValueExpression (ExpressionValueType .DATETIME , self ._parse_datetimeliteral (ctx .DATETIME_LITERAL ().getText ()))
954+ result = ValueExpression (ExpressionValueType .DATETIME , FilterExpressionParser ._parse_datetimeliteral (ctx .DATETIME_LITERAL ().getText ()))
955955 elif ctx .GUID_LITERAL () is not None :
956- result = ValueExpression (ExpressionValueType .GUID , self ._parse_guidliteral (ctx .GUID_LITERAL ().getText ()))
956+ result = ValueExpression (ExpressionValueType .GUID , FilterExpressionParser ._parse_guidliteral (ctx .GUID_LITERAL ().getText ()))
957957 elif ctx .BOOLEAN_LITERAL () is not None :
958958 literal : str = ctx .BOOLEAN_LITERAL ().getText ()
959959 result = TRUEVALUE if literal .upper () == "TRUE" else FALSEVALUE
@@ -963,7 +963,8 @@ def exitLiteralValue(self, ctx: ExpressionParser.LiteralValueContext):
963963 if result is not None :
964964 self ._add_expr (ctx , result )
965965
966- def _parse_numericliteral (self , literal : str ) -> ValueExpression :
966+ @staticmethod
967+ def _parse_numericliteral (literal : str ) -> ValueExpression :
967968 try :
968969 value = Decimal (literal )
969970 return ValueExpression (ExpressionValueType .DECIMAL , value )
@@ -974,17 +975,20 @@ def _parse_numericliteral(self, literal: str) -> ValueExpression:
974975 except Exception :
975976 return ValueExpression (ExpressionValueType .STRING , literal )
976977
977- def _parse_stringliteral (self , literal : str ) -> str :
978+ @staticmethod
979+ def _parse_stringliteral (literal : str ) -> str :
978980 # Remove any surrounding quotes from string, ANTLR grammar already
979981 # ensures strings starting with quote also ends with one
980982 return literal [1 :- 1 ] if literal [0 ] == "'" else literal
981983
982- def _parse_guidliteral (self , literal : str ) -> UUID :
984+ @staticmethod
985+ def _parse_guidliteral (literal : str ) -> UUID :
983986 # Remove any quotes from GUID (boost currently only handles optional braces),
984987 # ANTLR grammar already ensures GUID starting with quote also ends with one
985988 return UUID (literal [1 :- 1 ] if literal [0 ] in ["{" , "'" ] else literal )
986989
987- def _parse_datetimeliteral (self , literal : str ) -> datetime :
990+ @staticmethod
991+ def _parse_datetimeliteral (literal : str ) -> datetime :
988992 # Remove any surrounding '#' symbols from date/time, ANTLR grammar already
989993 # ensures date/time starting with '#' symbol will also end with one
990994 literal = literal [1 :- 1 ] if literal [0 ] == "#" else literal
0 commit comments