From 58d64b9bd9a5759451f678e8a1dcf36b8ded19fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn-Egil=20Dahlberg?= Date: Thu, 23 Oct 2014 18:44:15 +0200 Subject: syntax_tools: Fix is_literal/1 for binary --- lib/syntax_tools/src/erl_syntax.erl | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'lib/syntax_tools/src/erl_syntax.erl') diff --git a/lib/syntax_tools/src/erl_syntax.erl b/lib/syntax_tools/src/erl_syntax.erl index 46a5ca48df..5da53113e0 100644 --- a/lib/syntax_tools/src/erl_syntax.erl +++ b/lib/syntax_tools/src/erl_syntax.erl @@ -6209,10 +6209,17 @@ is_literal(T) -> is_literal(list_head(T)) andalso is_literal(list_tail(T)); tuple -> lists:all(fun is_literal/1, tuple_elements(T)); + binary -> + lists:all(fun is_literal_binary_field/1, binary_fields(T)); _ -> false end. +is_literal_binary_field(F) -> + case binary_field_types(F) of + [] -> is_literal(binary_field_body(F)); + _ -> false + end. %% ===================================================================== %% @doc Returns an `erl_parse'-compatible representation of a -- cgit v1.2.3