diff options
author | Björn Gustavsson <[email protected]> | 2016-12-15 09:22:28 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2017-01-12 12:10:12 +0100 |
commit | cd2734811a5fe7c891db1063484489a81c6a92b0 (patch) | |
tree | 012edde2ca563578627f74487827342c4aba102d /lib | |
parent | 96c27f2e656402a9d064766a190edc83f7f5f464 (diff) | |
download | otp-cd2734811a5fe7c891db1063484489a81c6a92b0.tar.gz otp-cd2734811a5fe7c891db1063484489a81c6a92b0.tar.bz2 otp-cd2734811a5fe7c891db1063484489a81c6a92b0.zip |
beam_listing: Add types and specs
Diffstat (limited to 'lib')
-rw-r--r-- | lib/compiler/src/beam_listing.erl | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/compiler/src/beam_listing.erl b/lib/compiler/src/beam_listing.erl index d82ed8639d..94b47cf568 100644 --- a/lib/compiler/src/beam_listing.erl +++ b/lib/compiler/src/beam_listing.erl @@ -21,14 +21,24 @@ -export([module/2]). +-include("core_parse.hrl"). +-include("v3_kernel.hrl"). -include("v3_life.hrl"). -import(lists, [foreach/2]). -module(File, Core) when element(1, Core) == c_module -> +-type code() :: cerl:c_module() + | beam_utils:module_code() + | #k_mdef{} + | {module(),_,_,_} %v3_life + | [_]. %form-based format + +-spec module(file:io_device(), code()) -> 'ok'. + +module(File, #c_module{}=Core) -> %% This is a core module. io:put_chars(File, core_pp:format(Core)); -module(File, Kern) when element(1, Kern) == k_mdef -> +module(File, #k_mdef{}=Kern) -> %% This is a kernel module. io:put_chars(File, v3_kernel_pp:format(Kern)); %%io:put_chars(File, io_lib:format("~p~n", [Kern])); |