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 13:39:20 +0000 (15:39 +0200)
commit69233eb2ae0aa8505f390b617fb9a386d39ba2b6
tree38520469cbbfd3ffa5f0ba61122eeada733b70c5
parent266e071addccb50a116f5d4ac3f1d22c7e4c2098
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