diff options
author | alimarin | 2001-04-25 15:57:41 +0000 |
---|---|---|
committer | alimarin | 2001-04-25 15:57:41 +0000 |
commit | 36aaf5c047be8b363b5e0ea9cdb35bf69c3652e1 (patch) | |
tree | 497776e2c0d8c17070794f0285088e6f9ec00c80 /frontend/overloading.icl | |
parent | *** empty log message *** (diff) |
added support for constructors (for toString like usage),
fromString is not yet supported
some error handling improved
parial instances are temporary disabled
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@368 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/overloading.icl')
-rw-r--r-- | frontend/overloading.icl | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/frontend/overloading.icl b/frontend/overloading.icl index bd16b9e..4ef4143 100644 --- a/frontend/overloading.icl +++ b/frontend/overloading.icl @@ -695,10 +695,11 @@ where heaps_and_ptrs) adjust_member_application defs contexts {me_symb,me_offset,me_class={glob_module,glob_object}} symb_arity (CA_Context tc) class_exprs (heaps=:{hp_type_heaps}, ptrs) # (class_context, address, hp_type_heaps) = determineContextAddress contexts defs tc hp_type_heaps - {class_dictionary={ds_index}} = defs.[glob_module].com_class_defs.[glob_object] + {class_dictionary={ds_index,ds_ident}} = defs.[glob_module].com_class_defs.[glob_object] selector = selectFromDictionary glob_module ds_index me_offset defs = (EI_Selection (generateClassSelection address [RecordSelection selector me_offset]) class_context.tc_var class_exprs, ({ heaps & hp_type_heaps = hp_type_heaps }, ptrs)) + adjust_member_application defs contexts _ _ (CA_GlobalTypeCode {tci_index,tci_contexts}) _ heaps_and_ptrs # (exprs, heaps_and_ptrs) = convertClassApplsToExpressions defs contexts tci_contexts heaps_and_ptrs = (EI_TypeCode (TCE_Constructor tci_index (map expressionToTypeCodeExpression exprs)), heaps_and_ptrs) |