diff options
author | johnvg | 2011-04-15 13:27:17 +0000 |
---|---|---|
committer | johnvg | 2011-04-15 13:27:17 +0000 |
commit | 07421cdc9f40418c2896a0a77f5e038904ac6059 (patch) | |
tree | 465d9c9e9003b51c915d11fa570d44910c63c3c9 /frontend/syntax.dcl | |
parent | remove field icl_copied_from_dcl from type IclModule (diff) |
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1926 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/syntax.dcl')
-rw-r--r-- | frontend/syntax.dcl | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/frontend/syntax.dcl b/frontend/syntax.dcl index cc0b6e7..a689b8c 100644 --- a/frontend/syntax.dcl +++ b/frontend/syntax.dcl @@ -439,7 +439,8 @@ cNameLocationDependent :== True } :: ClassInstance = - { ins_class :: !Global DefinedSymbol + { ins_class_index :: !GlobalIndex + , ins_class_ident :: !ClassIdent , ins_ident :: !Ident , ins_type :: !InstanceType , ins_members :: !{#ClassInstanceMember} @@ -447,6 +448,11 @@ cNameLocationDependent :== True , ins_pos :: !Position } +:: ClassIdent = + { ci_ident :: !Ident + , ci_arity :: !Int + } + :: ClassInstanceMember = { cim_ident :: !Ident , cim_arity :: !Int // module number if cim_index<0 @@ -1491,10 +1497,11 @@ ParsedConstructorToConsDef pc :== cons_exi_vars = pc.pc_exi_vars, cons_type_ptr = nilPtr } ParsedInstanceToClassInstance pi members :== - { ins_class = {glob_object = MakeDefinedSymbol pi.pi_class NoIndex (length pi.pi_types), glob_module = NoIndex}, ins_ident = pi.pi_ident, - ins_type = { it_vars = [], it_types = pi.pi_types, it_attr_vars = [], - it_context = pi.pi_context }, - ins_members = members, ins_specials = pi.pi_specials, ins_pos = pi.pi_pos} + { ins_class_index = {gi_module=NoIndex, gi_index=NoIndex}, + ins_class_ident = {ci_ident=pi.pi_class, ci_arity=length pi.pi_types}, ins_ident = pi.pi_ident, + ins_type = { it_vars = [], it_types = pi.pi_types, it_attr_vars = [], + it_context = pi.pi_context }, + ins_members = members, ins_specials = pi.pi_specials, ins_pos = pi.pi_pos} MakeTypeDef name lhs rhs attr pos :== { td_ident = name, td_index = -1, td_arity = length lhs, td_args = lhs, td_attrs = [], td_attribute = attr, |