19 lines
830 B
Erlang
19 lines
830 B
Erlang
-define(ELIXIR_WRAP_CALL(Line, Module, Method, Args),
|
|
{ call, Line,
|
|
{ remote, Line, { atom, Line, Module }, { atom, Line, Method} },
|
|
Args
|
|
}).
|
|
|
|
-define(ELIXIR_ATOM_CONCAT(Atoms), list_to_atom(lists:concat(Atoms))).
|
|
|
|
% A representation for Elixir Object. It contains:
|
|
%
|
|
% 1) An Atom 'name that represents the constant assigned to the object
|
|
% 2) An #elixir_object record 'parent that represents the parent object (if it can be represented by a constant)
|
|
% 3) A tuple 'mixins containing an ETS table index and a list of mixins
|
|
% 4) A tuple 'protos containing an ETS table index and a list of protos
|
|
% 5) Data holds the remaining information for the object.
|
|
%
|
|
-record(elixir_object, {name=[], parent=[], mixins=[], protos=[], data=[] }).
|
|
-record(elixir_orddict, {struct=[]}).
|
|
-record(elixir_string, {struct=[]}). |