~ubuntu-branches/debian/squeeze/erlang/squeeze

« back to all changes in this revision

Viewing changes to lib/ic/src/icstruct.erl

  • Committer: Bazaar Package Importer
  • Author(s): Sergei Golovan
  • Date: 2009-08-05 20:54:29 UTC
  • mfrom: (6.1.2 sid)
  • Revision ID: james.westby@ubuntu.com-20090805205429-pm4pnwew8axraosl
Tags: 1:13.b.1-dfsg-5
* Fixed parentheses in Emacs mode (closes: #536891).
* Removed unnecessary conflicts with erlang-manpages package.
* Added workaround for #475459: disabled threads on sparc architecture.
  This breaks wxErlang, so it's only a temporary solution.

Show diffs side-by-side

added added

removed removed

Lines of Context:
58
58
%%------------------------------------------------------------
59
59
 
60
60
 
61
 
except_gen(G, N, X, L) when record(X, except) ->
 
61
except_gen(G, N, X, L) when is_record(X, except) ->
62
62
    N2 = [ic_forms:get_id2(X) | N],
63
63
    if
64
64
        L == c ->
68
68
    end,
69
69
    struct_gen_list(G, N2, ic_forms:get_body(X), L).
70
70
 
71
 
struct_gen(G, N, X, L) when record(X, struct) ->
 
71
struct_gen(G, N, X, L) when is_record(X, struct) ->
72
72
    N2 = [ic_forms:get_id2(X) | N],
73
73
    struct_gen_list(G, N2, ic_forms:get_body(X), L),
74
74
    emit_struct(G, N, X, L);
75
 
struct_gen(G, N, X, L) when record(X, union) ->
 
75
struct_gen(G, N, X, L) when is_record(X, union) ->
76
76
    N2 = [ic_forms:get_id2(X) | N],
77
77
    if
78
78
        L == c ->
84
84
            struct_gen_list(G, N2, ic_forms:get_body(X), L)
85
85
    end,
86
86
    emit_union(G, N, X, L);
87
 
struct_gen(G, N, X, L) when record(X, member) ->
 
87
struct_gen(G, N, X, L) when is_record(X, member) ->
88
88
    struct_gen(G, N, ic_forms:get_type(X), L);
89
 
struct_gen(G, N, X, L) when record(X, typedef) ->
 
89
struct_gen(G, N, X, L) when is_record(X, typedef) ->
90
90
    struct_gen(G, N, ic_forms:get_body(X), L),
91
91
    emit_typedef(G, N, X, L);
92
 
struct_gen(G, N, X, L) when record(X, type_dcl) ->
 
92
struct_gen(G, N, X, L) when is_record(X, type_dcl) ->
93
93
    struct_gen_list(G, N, ic_forms:get_type(X), L);
94
 
struct_gen(G, N, X, L) when record(X, case_dcl) ->
 
94
struct_gen(G, N, X, L) when is_record(X, case_dcl) ->
95
95
    struct_gen(G, N, ic_forms:get_type(X), L);
96
 
struct_gen(G, N, X, L) when record(X, sequence) ->
 
96
struct_gen(G, N, X, L) when is_record(X, sequence) ->
97
97
    struct_gen(G, N, ic_forms:get_type(X), L),
98
98
    X;
99
 
struct_gen(G, N, X, L) when record(X, enum) -> 
 
99
struct_gen(G, N, X, L) when is_record(X, enum) -> 
100
100
    icenum:enum_gen(G, N, X, L);
101
101
struct_gen(_G, _N, _X, _L) -> 
102
102
    ok.
109
109
              if
110
110
                  L == c ->
111
111
                      if
112
 
                          record(R,sequence) ->
 
112
                          is_record(R,sequence) ->
113
113
                              emit_sequence_head_def(G,N,X,R,L);
114
114
                          true ->
115
115
                              ok
171
171
                          lists:map(
172
172
                            fun(XXX) ->
173
173
                                    if 
174
 
                                        record(XXX, array) ->
 
174
                                        is_record(XXX, array) ->
175
175
                                            Type = ic_forms:get_type(XX),
176
176
                                            Name = element(3,element(2,XXX)),
177
177
                                            {_, _, StructTK, _} =
262
262
    "[" ++ Dim ++ "]" ++ mk_array_name(Dims).
263
263
 
264
264
 
265
 
emit_struct_member(Fd, G, N, X, Name,{Type,Array}) when record(Array, array)->
 
265
emit_struct_member(Fd, G, N, X, Name,{Type,Array}) when is_record(Array, array)->
266
266
    {_, _, StructTK, _} = 
267
267
        ic_symtab:get_full_scoped_name(
268
268
          G, 
272
272
    Dim = extract_dim(ArrayTK),
273
273
    emit(Fd, "   ~s ~s;\n",
274
274
         [ic_cbe:mk_c_type(G, N, Type),mk_array_name(Name,Dim)]);
275
 
emit_struct_member(Fd, _G, N, _X, Name, Union) when record(Union, union)->
 
275
emit_struct_member(Fd, _G, N, _X, Name, Union) when is_record(Union, union)->
276
276
    emit(Fd, "   ~s ~s;\n",
277
277
         [ic_util:to_undersc([ic_forms:get_id2(Union) | N]),Name]);
278
278
emit_struct_member(Fd, _G, _N, _X, Name, {string, _}) ->
293
293
emit_struct_member(Fd, _G, _N, _X, Name, "ETERM*") ->
294
294
    emit(Fd, "   ETERM* ~s;\n",
295
295
         [Name]);
296
 
emit_struct_member(Fd, _G, _N, _X, Name, Type) when list(Type) ->  
 
296
emit_struct_member(Fd, _G, _N, _X, Name, Type) when is_list(Type) ->  
297
297
    emit(Fd, "   ~s ~s;\n",
298
298
         [Type, Name]);
299
299
emit_struct_member(Fd, G, N, _X, Name, Type) ->
356
356
emit_typedef(G, N, X, c) ->
357
357
    B = ic_forms:get_body(X),
358
358
    if
359
 
        record(B, sequence) ->
 
359
        is_record(B, sequence) ->
360
360
            emit_sequence_head_def(G, N, X, B, c);
361
361
        true ->
362
362
            lists:foreach(fun(D) ->
365
365
                          ic_forms:get_idlist(X))
366
366
    end.
367
367
 
368
 
emit_typedef(G, N, D, Type, c) when record(D, array) ->
 
368
emit_typedef(G, N, D, Type, c) when is_record(D, array) ->
369
369
    emit_array(G, N, D, Type);
370
370
emit_typedef(G, N, D, Type, c)  ->
371
371
    Name = ic_util:to_undersc([ic_forms:get_id2(D) | N]),
1905
1905
            emit(Fd, "name() -> ~p.\n\n",[Name])
1906
1906
    end. 
1907
1907
 
1908
 
get_seq_max(T) when record(T, sequence), T#sequence.length == 0 ->
 
1908
get_seq_max(T) when is_record(T, sequence) andalso T#sequence.length == 0 ->
1909
1909
    infinity;
1910
 
get_seq_max(T) when record(T, sequence), tuple(T#sequence.length) ->
 
1910
get_seq_max(T) when is_record(T, sequence) andalso is_tuple(T#sequence.length) ->
1911
1911
    list_to_integer(element(3, T#sequence.length)).
1912
1912
 
1913
1913