[erlang-questions] Dialyzer type/spec info question

Stavros Aronis <>
Mon Nov 17 17:32:34 CET 2014


For .erl files, dialyzer calls the compiler with 'to_pp', which stops the
compilation before code is converted to Core, and reads attributes from
there.

Judging from v3_core, line 170 the two representations should be compatible.

/Stavros

On Mon, Nov 17, 2014 at 5:11 PM, Robert Virding <> wrote:

> From where does it get it if I have .erl files as input? From the AST as
> well? Do you know if there is any difference in the data itself between the
> AST and core? I am guessing not but want to check. If there is no
> difference then the info could be gotten from Core. This would make it
> easier to use dialyzer together with LFE.
>
> Robert
>
>
> On 17 November 2014 17:03, Stavros Aronis <> wrote:
>
>> Hi Robert,
>>
>> Dialyzer gets this info from beam_lib:chunks(File, [abstract_code]) which
>> corresponds to the AST and is included in beam files if +debug_info is used
>> while compiling.
>>
>> To my knowledge there is no reason to not let sources be combined (except
>> perhaps when building a PLT), but the implementation seems to require
>> uniformity.
>>
>> Relevant functions:
>> dialyzer_utils:get_abstract_code_from_{src,beam}/{1,2}, get_spec_info/3,
>> get_record_and_type_info/1.
>>
>> Regards,
>>
>> Stavros
>>
>> On Mon, Nov 17, 2014 at 4:53 PM, Robert Virding <>
>> wrote:
>>
>>> From where does dialyzer get the user added type and spec info? From the
>>> AST, or from Core erlang which contains the same type/spec data? And why?
>>> Can I control it?
>>>
>>> An extra question: why doesn't dialyzer allow me to mix input from both
>>> .erl and .beam files? Or does it and I have missed that?
>>>
>>> Robert
>>>
>>>
>>> _______________________________________________
>>> erlang-questions mailing list
>>> 
>>> http://erlang.org/mailman/listinfo/erlang-questions
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20141117/13ffa07c/attachment.htm>


More information about the erlang-questions mailing list