@@ -88,24 +88,19 @@ let transform_string_annotation_expression ~relative =
8888 arguments = variable_name :: List .map ~f: transform_argument remaining_arguments ;
8989 }
9090 | String { StringLiteral. value = string_value ; _ } -> (
91- try
92- let parsed =
93- (* Start at column + 1 since parsing begins after the opening quote of the string
94- literal. *)
95- Parser. parse
96- ~start_line
97- ~start_column: (start_column + 1 )
98- [string_value ^ " \n " ]
99- ~relative
100- in
101- match parsed with
102- | [{ Node. value = Expression { Node. value = Name _ as expression; _ }; _ }]
103- | [{ Node. value = Expression { Node. value = Call _ as expression; _ }; _ }] ->
104- expression
105- | _ -> failwith " Invalid annotation"
91+ (* Start at column + 1 since parsing begins after the opening quote of the string literal. *)
92+ match
93+ Parser. parse
94+ ~start_line
95+ ~start_column: (start_column + 1 )
96+ [string_value ^ " \n " ]
97+ ~relative
10698 with
107- | Parser. Error _
108- | Failure _ ->
99+ | Ok [{ Node. value = Expression { Node. value = Name _ as expression; _ }; _ }]
100+ | Ok [{ Node. value = Expression { Node. value = Call _ as expression; _ }; _ }] ->
101+ expression
102+ | Ok _
103+ | Error _ ->
109104 Log. debug
110105 " Invalid string annotation `%s` at %s:%a"
111106 string_value
@@ -283,14 +278,11 @@ let expand_format_string ({ Source.source_path = { SourcePath.relative; _ }; _ }
283278 List. fold substrings ~init: [] ~f: gather_expressions_in_substring |> List. rev
284279 in
285280 let parse ((start_line , start_column ), input_string ) =
286- try
287- let string = input_string ^ " \n " in
288- match Parser. parse [string ^ " \n " ] ~start_line ~start_column ~relative with
289- | [{ Node. value = Expression expression; _ }] -> [expression]
290- | _ -> failwith " Not an expression"
291- with
292- | Parser. Error _
293- | Failure _ ->
281+ let string = input_string ^ " \n " in
282+ match Parser. parse [string ^ " \n " ] ~start_line ~start_column ~relative with
283+ | Ok [{ Node. value = Expression expression; _ }] -> [expression]
284+ | Ok _
285+ | Error _ ->
294286 Log. debug
295287 " Pyre could not parse format string `%s` at %s:%a"
296288 input_string
@@ -1142,16 +1134,13 @@ let qualify
11421134 | _ -> kind
11431135 in
11441136 if qualify_strings then (
1145- try
1146- match Parser. parse [value ^ " \n " ] ~relative with
1147- | [{ Node. value = Expression expression; _ }] ->
1148- qualify_expression ~qualify_strings ~scope expression
1149- |> Expression. show
1150- |> fun value -> Expression. String { StringLiteral. value; kind }
1151- | _ -> failwith " Not an expression"
1152- with
1153- | Parser. Error _
1154- | Failure _ ->
1137+ match Parser. parse [value ^ " \n " ] ~relative with
1138+ | Ok [{ Node. value = Expression expression; _ }] ->
1139+ qualify_expression ~qualify_strings ~scope expression
1140+ |> Expression. show
1141+ |> fun value -> Expression. String { StringLiteral. value; kind }
1142+ | Ok _
1143+ | Error _ ->
11551144 Log. debug
11561145 " Invalid string annotation `%s` at %s:%a"
11571146 value
0 commit comments