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>
Tue, 9 Sep 2014 21:54:41 +0000 (23:54 +0200)
commit19c4056f747452718146cb3ae84cbcd4ecb279fb
tree3a93dbae6503ba15bcb0984d3a6c7e57691dfcac
parentd93938edab83cd56f6ffb197cea0fd33ddbcc0e6
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