| class IMPL_INCLUDE |
|---|
| **** | Information for handling an `include' clause. |
| attr as:AS_INCLUDE_CLAUSE; |
|---|
| **** | The include clause. but with SAME referring to 'tp'. |
| attr con:TP_CONTEXT; |
|---|
| **** | The context, in which impl is to be created. but with SAME referring to 'tp'. |
| attr elt_tbl:ELT_TBL; |
|---|
| **** | The translated included elements. |
| attr impl:IMPL; |
|---|
| **** | The implementation of the included class but with SAME referring to 'tp'. |
| attr itp: TP_CLASS; |
|---|
| **** | The included class. but with SAME referring to 'tp'. |
| attr tp:TP_CLASS; |
|---|
| **** | The type with the include clause. but with SAME referring to 'tp'. |
| attr used_mods:FSET{AS_FEAT_MOD}; |
|---|
| **** | The modifiers which were used. |
| attr as:AS_INCLUDE_CLAUSE; |
|---|
| **** | The include clause. but with SAME referring to 'tp'. |
| attr con:TP_CONTEXT; |
|---|
| **** | The context, in which impl is to be created. but with SAME referring to 'tp'. |
| attr elt_tbl:ELT_TBL; |
|---|
| **** | The translated included elements. |
| attr impl:IMPL; |
|---|
| **** | The implementation of the included class but with SAME referring to 'tp'. |
| attr itp: TP_CLASS; |
|---|
| **** | The included class. but with SAME referring to 'tp'. |
| attr tp:TP_CLASS; |
|---|
| **** | The type with the include clause. but with SAME referring to 'tp'. |
| attr used_mods:FSET{AS_FEAT_MOD}; |
|---|
| **** | The modifiers which were used. |
| create( |
|---|
| **** |
| include_bound_err(t:$AS_CLASS_ELT) |
|---|
| **** | Print an error message about including bound types. |
| include_conflict_err(en,f:ELT) |
|---|
| include_ext_err(t:$AS_CLASS_ELT) |
|---|
| include__err(t:$AS_CLASS_ELT) |
|---|
| **** | Print an error message if a reader or writer (or both) are missing for readonly features. |
| included_elt_tbl:ELT_TBL |
|---|
| **** | The table of elements as transformeded by the new value of SAME and any feature modification clauses. |
| included_impl:IMPL |
|---|
| **** | Compute the implementation `impl' of the included type. Set the location for reporting an error in case a loop is found. |
| included_tp:TP_CLASS |
|---|
| **** | Compute the type which is included by the clause `as' in the type `tp'. Print an error and return void if the included type is external, bound, or a type parameter. |
| modifier_for_name(i:IDENT):AS_FEAT_MOD |
|---|
| **** | Return the feature modifier in `as' for the name `i', or void, if there isn't one for that name. |
| modify_elt(e:ELT):ELT |
|---|
| **** | Make a new element from `e' by changing its name by the modifiers in `as', by changing SAME to have the value `tp', and by modifying `is_private' according to the include clause and feature modifier. Make `srctp' be the old `srctp'. Return void if an error or if the element is made to be undefined. |
| param_include_err(t:$AS_CLASS_ELT) |
|---|
| prog:PROG |
|---|
| **** | The program object for this interface. |
| test_array_err:BOOL |
|---|
| **** | Print an error message and return true if `tp' is a value type and `itp' includes AREF or if `tp' is a reference type and `itp' includes AVAL. |
| test_duplicate_feat_mod_err:BOOL |
|---|
| **** | If two feature modifiers have the same name then print an error and return true, otherwise return false. |
| unused_mod_err(t:AS_FEAT_MOD) |
|---|