generator: fix absname for fields with only accessor function
authorChristian Linhart <chris@demorecorder.com>
Wed, 3 Sep 2014 11:22:36 +0000 (13:22 +0200)
committerChristian Linhart <chris@demorecorder.com>
Sat, 6 Sep 2014 18:26:35 +0000 (20:26 +0200)
commitd15b6caa78c0f7cd73509d72f39c88ec542a5a37
treee128c76a0f838c272f4ce02608a6004c8463de9e
parent0e084248d9d616aee8bb3ea50f754f993a8e2685
generator: fix absname for fields with only accessor function

Fix _c_helper_absolute_name for fields which cannot be accessed
as a struct/union member but which can be accessed by an
accessor function.

The fix calls the accessor function in these cases.

Example:
<struct name="AbsnameTest">
   <field type="CARD32" name="len" />
   <list type="CARD8" name="mylist1">
       <fieldref>len</fieldref>
   </list>
   <list type="CARD8" name="mylist2">
       <sumof ref="mylist1"/>
   </list>
</struct>

The sumof-expression ( <sumof ref="mylist1"/> ) refers to mylist1
which is only acessible by an accessor function.

Previously, sumof was only used inside bitcases,
where such lists are accessible by members of the
deserialized parent struct.
(there is a difference between deserialization of switches
and structs.)

Message-ID: <1409743361-466-1-git-send-email-chris@demorecorder.com>
Patch-Thread-Subject: [Xcb] xinput: make ListInputDevices work, sumof with nested expr, ...
Patch-Set: ListInputDevices
Patch-Number: libxcb 1/6
Patch-Version: V1
Signed-off-by: Christian Linhart <chris@DemoRecorder.com>
src/c_client.py