Show
Ignore:
Timestamp:
04/03/08 10:38:08 (9 months ago)
Author:
pmoura
Message:

Corrected a Logtalk compiler bug where local definition clauses for dynamic predicates are being generated for categories. Thanks to Victor Noel for the bug report.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/compiler/logtalk.pl

    r4184 r4185  
    515515    '$lgt_tr_directives'(Dirs, user_input, _), 
    516516    '$lgt_tr_clauses'(Clauses, user_input), 
    517     '$lgt_gen_local_def_clauses', 
     517    '$lgt_gen_object_local_def_clauses', 
    518518    '$lgt_fix_synchronized_preds', 
    519519    '$lgt_fix_pred_calls', 
     
    565565    '$lgt_tr_directives'(Dirs, user_input, _), 
    566566    '$lgt_tr_clauses'(Clauses, user_input), 
    567     '$lgt_gen_local_def_clauses', 
    568567    '$lgt_fix_synchronized_preds', 
    569568    '$lgt_fix_pred_calls', 
     
    88808879 
    88818880'$lgt_generate_code'(object) :- 
    8882     '$lgt_gen_local_def_clauses', 
     8881    '$lgt_gen_object_local_def_clauses', 
    88838882    '$lgt_fix_synchronized_preds', 
    88848883    '$lgt_fix_pred_calls', 
     
    88888887 
    88898888'$lgt_generate_code'(category) :- 
    8890     '$lgt_gen_local_def_clauses', 
    88918889    '$lgt_fix_synchronized_preds', 
    88928890    '$lgt_fix_pred_calls', 
     
    90709068 
    90719069 
    9072 % '$lgt_gen_local_def_clauses' 
     9070% '$lgt_gen_object_local_def_clauses' 
    90739071% 
    90749072% generates local def clauses for undefined but declared (via scope or dynamic directives) predicates 
    9075  
    9076 '$lgt_gen_local_def_clauses' :- 
     9073% (only necessary for objects as categories cannot contain clauses for dynamic predicates) 
     9074 
     9075'$lgt_gen_object_local_def_clauses' :- 
    90779076    '$lgt_pp_entity'(_, _, EntityPrefix, _, _), 
    90789077    '$lgt_ctx_prefix'(Ctx, EntityPrefix), 
     
    90889087    fail. 
    90899088 
    9090 '$lgt_gen_local_def_clauses'. 
     9089'$lgt_gen_object_local_def_clauses'. 
    90919090 
    90929091