Changeset 92 for trunk/src/modules.erl
- Timestamp:
- 01/28/10 16:21:51 (2 years ago)
- File:
-
- 1 edited
-
trunk/src/modules.erl (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/modules.erl
r68 r92 9 9 -export ([compile/1]). 10 10 -export ([module_name/1]). 11 -export ([locate/2]). 11 12 12 13 to_binary (File_name) -> … … 23 24 24 25 compile (Fun, Parameter) -> 25 Options = [binary, return, warn_unused_import ],26 Options = [binary, return, warn_unused_import, debug_info], 26 27 Fun (Parameter, Options). 27 28 … … 33 34 String = filename: rootname (filename: basename (Filename)), 34 35 list_to_atom (String). 36 37 locate ({M, F, A}, Binary) -> 38 {ok, {M, Chunks}} = beam_lib: chunks (Binary, [abstract_code, compile_info]), 39 [{abstract_code, Code}, {compile_info, Info}] = Chunks, 40 {value, {source, Filename}} = lists: keysearch (source, 1, Info), 41 {raw_abstract_v1, Forms} = Code, 42 Line = locate_line (F, A, Forms), 43 {Filename, Line}. 44 45 locate_line (Function, Arity, [{function, Line, Function, Arity, _} | _]) -> 46 Line; 47 locate_line (Function, Arity, [_ | Forms]) -> 48 locate_line (Function, Arity, Forms); 49 locate_line (_, _, []) -> 50 unknown.
Note: See TracChangeset
for help on using the changeset viewer.
