THRIFT-5635 Update erlang client for Erlang 23-25
Client: erl
Patch: Sergey Yelin

This closes #2677

Summary of changes:
 - Add useful compiler options
 - Format sources using erlfmt
 - Switch to modern callbacks in thrift_* modules
 - Add static analysis (dialyzer), disabled by default
 - Add/fix types for API calls

NOTE: Enabling static analysis requires additional tweaks in multiplexer module.
diff --git a/lib/erl/test/test_thrift_1151.erl b/lib/erl/test/test_thrift_1151.erl
index f4a910e..141787e 100644
--- a/lib/erl/test/test_thrift_1151.erl
+++ b/lib/erl/test/test_thrift_1151.erl
@@ -1,3 +1,22 @@
+%%
+%% Licensed to the Apache Software Foundation (ASF) under one
+%% or more contributor license agreements. See the NOTICE file
+%% distributed with this work for additional information
+%% regarding copyright ownership. The ASF licenses this file
+%% to you under the Apache License, Version 2.0 (the
+%% "License"); you may not use this file except in compliance
+%% with the License. You may obtain a copy of the License at
+%%
+%%   http://www.apache.org/licenses/LICENSE-2.0
+%%
+%% Unless required by applicable law or agreed to in writing,
+%% software distributed under the License is distributed on an
+%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+%% KIND, either express or implied. See the License for the
+%% specific language governing permissions and limitations
+%% under the License.
+%%
+
 -module(test_thrift_1151).
 
 -include("gen-erl/thrift1151_types.hrl").
@@ -6,29 +25,29 @@
 -include_lib("eunit/include/eunit.hrl").
 
 unmatched_struct_test() ->
-  S1 = #'StructC'{x=#'StructB'{x=1}},
-  {ok, Transport} = thrift_memory_buffer:new(),
-  {ok, Protocol} = thrift_binary_protocol:new(Transport),
-  ?assertException(
-    error,
-    struct_unmatched,
-    thrift_protocol:write(
-      Protocol,
-      {{struct, element(2, thrift1151_types:struct_info('StructC'))}, S1}
-    )
-  ).
+    S1 = #'StructC'{x = #'StructB'{x = 1}},
+    {ok, Transport} = thrift_memory_buffer:new(),
+    {ok, Protocol} = thrift_binary_protocol:new(Transport),
+    ?assertException(
+        error,
+        struct_unmatched,
+        thrift_protocol:write(
+            Protocol,
+            {{struct, element(2, thrift1151_types:struct_info('StructC'))}, S1}
+        )
+    ).
 
 badarg_test() ->
-  S2 = #'StructC'{x=#'StructA'{x="1"}},
-  {ok, Transport} = thrift_memory_buffer:new(),
-  {ok, Protocol} = thrift_binary_protocol:new(Transport),
-  ?assertException(
-    error,
-    badarg,
-    thrift_protocol:write(
-      Protocol,
-      {{struct, element(2, thrift1151_types:struct_info('StructC'))}, S2}
-    )
-  ).
+    S2 = #'StructC'{x = #'StructA'{x = "1"}},
+    {ok, Transport} = thrift_memory_buffer:new(),
+    {ok, Protocol} = thrift_binary_protocol:new(Transport),
+    ?assertException(
+        error,
+        badarg,
+        thrift_protocol:write(
+            Protocol,
+            {{struct, element(2, thrift1151_types:struct_info('StructC'))}, S2}
+        )
+    ).
 
 -endif.