Sophie

Sophie

distrib > Fedora > 14 > i386 > by-pkgid > dd7a95aabe1c049ac9f84beede8143d3 > files > 1832

synopsis-doc-0.12-4.fc14.i686.rpm

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<!-- Source/Synopsis/Parsers/IDL/idlast.py.html -->
<!-- this view was generated by Source -->
<head>
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"/>
<title >Synopsis - Synopsis/Parsers/IDL/idlast.py</title>
<link href="../../../../style.css" type="text/css" rel="stylesheet" />
</head>
<body class="Source">
<div class="navigation">
<span class="normal"><a href="../../../../Scopes/Synopsis.html" >Global Package</a></span>
<span class="normal"><a href="../../../../InheritanceTree.html" >Inheritance Tree</a></span>
<span class="normal"><a href="../../../../InheritanceGraph.html" >Inheritance Graph</a></span>
<span class="normal"><a href="../../../../NameIndex.html" >Name Index</a></span>
</div>
File: <b >Synopsis/Parsers/IDL/idlast.py</b><pre class="sxr"><a id="line1"></a><span class="lineno">   1</span><span class="line"><span class="py-comment"># -*- python -*-</span></span>
<a id="line2"></a><span class="lineno">   2</span><span class="line"><span class="py-comment">#                           Package   : omniidl</span></span>
<a id="line3"></a><span class="lineno">   3</span><span class="line"><span class="py-comment"># idlast.py                 Created on: 1999/10/27</span></span>
<a id="line4"></a><span class="lineno">   4</span><span class="line"><span class="py-comment">#			    Author    : Duncan Grisby (dpg1)</span></span>
<a id="line5"></a><span class="lineno">   5</span><span class="line"><span class="py-comment">#</span></span>
<a id="line6"></a><span class="lineno">   6</span><span class="line"><span class="py-comment">#    Copyright (C) 1999 AT&amp;T Laboratories Cambridge</span></span>
<a id="line7"></a><span class="lineno">   7</span><span class="line"><span class="py-comment">#</span></span>
<a id="line8"></a><span class="lineno">   8</span><span class="line"><span class="py-comment">#  This file is part of omniidl.</span></span>
<a id="line9"></a><span class="lineno">   9</span><span class="line"><span class="py-comment">#</span></span>
<a id="line10"></a><span class="lineno">  10</span><span class="line"><span class="py-comment">#  omniidl is free software; you can redistribute it and/or modify it</span></span>
<a id="line11"></a><span class="lineno">  11</span><span class="line"><span class="py-comment">#  under the terms of the GNU General Public License as published by</span></span>
<a id="line12"></a><span class="lineno">  12</span><span class="line"><span class="py-comment">#  the Free Software Foundation; either version 2 of the License, or</span></span>
<a id="line13"></a><span class="lineno">  13</span><span class="line"><span class="py-comment">#  (at your option) any later version.</span></span>
<a id="line14"></a><span class="lineno">  14</span><span class="line"><span class="py-comment">#</span></span>
<a id="line15"></a><span class="lineno">  15</span><span class="line"><span class="py-comment">#  This program is distributed in the hope that it will be useful,</span></span>
<a id="line16"></a><span class="lineno">  16</span><span class="line"><span class="py-comment">#  but WITHOUT ANY WARRANTY; without even the implied warranty of</span></span>
<a id="line17"></a><span class="lineno">  17</span><span class="line"><span class="py-comment">#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span></span>
<a id="line18"></a><span class="lineno">  18</span><span class="line"><span class="py-comment">#  General Public License for more details.</span></span>
<a id="line19"></a><span class="lineno">  19</span><span class="line"><span class="py-comment">#</span></span>
<a id="line20"></a><span class="lineno">  20</span><span class="line"><span class="py-comment">#  You should have received a copy of the GNU General Public License</span></span>
<a id="line21"></a><span class="lineno">  21</span><span class="line"><span class="py-comment">#  along with this program; if not, write to the Free Software</span></span>
<a id="line22"></a><span class="lineno">  22</span><span class="line"><span class="py-comment">#  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA</span></span>
<a id="line23"></a><span class="lineno">  23</span><span class="line"><span class="py-comment">#  02111-1307, USA.</span></span>
<a id="line24"></a><span class="lineno">  24</span><span class="line"><span class="py-comment">#</span></span>
<a id="line25"></a><span class="lineno">  25</span><span class="line"><span class="py-comment"># Description:</span></span>
<a id="line26"></a><span class="lineno">  26</span><span class="line"><span class="py-comment">#   </span></span>
<a id="line27"></a><span class="lineno">  27</span><span class="line"><span class="py-comment">#   Python definitions for abstract syntax tree classes</span></span>
<a id="line28"></a><span class="lineno">  28</span>
<a id="line29"></a><span class="lineno">  29</span><span class="line"><span class="py-comment"># $Id: idlast.py,v 1.20.2.7 2006/01/18 19:23:17 dgrisby Exp $</span></span>
<a id="line30"></a><span class="lineno">  30</span><span class="line"><span class="py-comment"># $Log: idlast.py,v $</span></span>
<a id="line31"></a><span class="lineno">  31</span><span class="line"><span class="py-comment"># Revision 1.20.2.7  2006/01/18 19:23:17  dgrisby</span></span>
<a id="line32"></a><span class="lineno">  32</span><span class="line"><span class="py-comment"># Code generation problems with valuetype inheritance / typedefs.</span></span>
<a id="line33"></a><span class="lineno">  33</span><span class="line"><span class="py-comment">#</span></span>
<a id="line34"></a><span class="lineno">  34</span><span class="line"><span class="py-comment"># Revision 1.20.2.6  2004/10/13 17:58:26  dgrisby</span></span>
<a id="line35"></a><span class="lineno">  35</span><span class="line"><span class="py-comment"># Abstract interfaces support; values support interfaces; value bug fixes.</span></span>
<a id="line36"></a><span class="lineno">  36</span><span class="line"><span class="py-comment">#</span></span>
<a id="line37"></a><span class="lineno">  37</span><span class="line"><span class="py-comment"># Revision 1.20.2.5  2003/11/06 11:56:57  dgrisby</span></span>
<a id="line38"></a><span class="lineno">  38</span><span class="line"><span class="py-comment"># Yet more valuetype. Plain valuetype and abstract valuetype are now working.</span></span>
<a id="line39"></a><span class="lineno">  39</span><span class="line"><span class="py-comment">#</span></span>
<a id="line40"></a><span class="lineno">  40</span><span class="line"><span class="py-comment"># Revision 1.20.2.4  2003/09/04 14:00:35  dgrisby</span></span>
<a id="line41"></a><span class="lineno">  41</span><span class="line"><span class="py-comment"># ValueType IDL updates.</span></span>
<a id="line42"></a><span class="lineno">  42</span><span class="line"><span class="py-comment">#</span></span>
<a id="line43"></a><span class="lineno">  43</span><span class="line"><span class="py-comment"># Revision 1.20.2.3  2003/07/10 21:54:47  dgrisby</span></span>
<a id="line44"></a><span class="lineno">  44</span><span class="line"><span class="py-comment"># Missed methods in ValueAbs.</span></span>
<a id="line45"></a><span class="lineno">  45</span><span class="line"><span class="py-comment">#</span></span>
<a id="line46"></a><span class="lineno">  46</span><span class="line"><span class="py-comment"># Revision 1.20.2.2  2003/05/20 16:53:17  dgrisby</span></span>
<a id="line47"></a><span class="lineno">  47</span><span class="line"><span class="py-comment"># Valuetype marshalling support.</span></span>
<a id="line48"></a><span class="lineno">  48</span><span class="line"><span class="py-comment">#</span></span>
<a id="line49"></a><span class="lineno">  49</span><span class="line"><span class="py-comment"># Revision 1.20.2.1  2003/03/23 21:01:39  dgrisby</span></span>
<a id="line50"></a><span class="lineno">  50</span><span class="line"><span class="py-comment"># Start of omniORB 4.1.x development branch.</span></span>
<a id="line51"></a><span class="lineno">  51</span><span class="line"><span class="py-comment">#</span></span>
<a id="line52"></a><span class="lineno">  52</span><span class="line"><span class="py-comment"># Revision 1.15.2.7  2002/09/21 21:07:51  dgrisby</span></span>
<a id="line53"></a><span class="lineno">  53</span><span class="line"><span class="py-comment"># Support ValueBase in omniidl. (No use to omniORB yet...)</span></span>
<a id="line54"></a><span class="lineno">  54</span><span class="line"><span class="py-comment">#</span></span>
<a id="line55"></a><span class="lineno">  55</span><span class="line"><span class="py-comment"># Revision 1.15.2.6  2001/08/29 11:55:23  dpg1</span></span>
<a id="line56"></a><span class="lineno">  56</span><span class="line"><span class="py-comment"># Enumerator nodes record their value.</span></span>
<a id="line57"></a><span class="lineno">  57</span><span class="line"><span class="py-comment">#</span></span>
<a id="line58"></a><span class="lineno">  58</span><span class="line"><span class="py-comment"># Revision 1.15.2.5  2001/06/08 17:12:25  dpg1</span></span>
<a id="line59"></a><span class="lineno">  59</span><span class="line"><span class="py-comment"># Merge all the bug fixes from omni3_develop.</span></span>
<a id="line60"></a><span class="lineno">  60</span><span class="line"><span class="py-comment">#</span></span>
<a id="line61"></a><span class="lineno">  61</span><span class="line"><span class="py-comment"># Revision 1.15.2.4  2000/11/01 15:57:03  dpg1</span></span>
<a id="line62"></a><span class="lineno">  62</span><span class="line"><span class="py-comment"># More updates for 2.4.</span></span>
<a id="line63"></a><span class="lineno">  63</span><span class="line"><span class="py-comment">#</span></span>
<a id="line64"></a><span class="lineno">  64</span><span class="line"><span class="py-comment"># Revision 1.15.2.3  2000/11/01 12:45:59  dpg1</span></span>
<a id="line65"></a><span class="lineno">  65</span><span class="line"><span class="py-comment"># Update to CORBA 2.4 specification.</span></span>
<a id="line66"></a><span class="lineno">  66</span><span class="line"><span class="py-comment">#</span></span>
<a id="line67"></a><span class="lineno">  67</span><span class="line"><span class="py-comment"># Revision 1.15.2.2  2000/10/10 10:18:54  dpg1</span></span>
<a id="line68"></a><span class="lineno">  68</span><span class="line"><span class="py-comment"># Update omniidl front-end from omni3_develop.</span></span>
<a id="line69"></a><span class="lineno">  69</span><span class="line"><span class="py-comment">#</span></span>
<a id="line70"></a><span class="lineno">  70</span><span class="line"><span class="py-comment"># Revision 1.13.2.4  2000/08/29 10:20:29  dpg1</span></span>
<a id="line71"></a><span class="lineno">  71</span><span class="line"><span class="py-comment"># Operations and attributes now have repository ids.</span></span>
<a id="line72"></a><span class="lineno">  72</span><span class="line"><span class="py-comment">#</span></span>
<a id="line73"></a><span class="lineno">  73</span><span class="line"><span class="py-comment"># Revision 1.13.2.3  2000/06/29 14:08:11  dpg1</span></span>
<a id="line74"></a><span class="lineno">  74</span><span class="line"><span class="py-comment"># Incorrect visitor method called for Value nodes.</span></span>
<a id="line75"></a><span class="lineno">  75</span><span class="line"><span class="py-comment">#</span></span>
<a id="line76"></a><span class="lineno">  76</span><span class="line"><span class="py-comment"># Revision 1.13.2.2  2000/06/08 14:36:21  dpg1</span></span>
<a id="line77"></a><span class="lineno">  77</span><span class="line"><span class="py-comment"># Comments and pragmas are now objects rather than plain strings, so</span></span>
<a id="line78"></a><span class="lineno">  78</span><span class="line"><span class="py-comment"># they can have file,line associated with them.</span></span>
<a id="line79"></a><span class="lineno">  79</span><span class="line"><span class="py-comment">#</span></span>
<a id="line80"></a><span class="lineno">  80</span><span class="line"><span class="py-comment"># Revision 1.13.2.1  2000/03/06 15:03:45  dpg1</span></span>
<a id="line81"></a><span class="lineno">  81</span><span class="line"><span class="py-comment"># Minor bug fixes to omniidl. New -nf and -k flags.</span></span>
<a id="line82"></a><span class="lineno">  82</span><span class="line"><span class="py-comment">#</span></span>
<a id="line83"></a><span class="lineno">  83</span><span class="line"><span class="py-comment"># Revision 1.13  1999/11/29 16:43:51  dpg1</span></span>
<a id="line84"></a><span class="lineno">  84</span><span class="line"><span class="py-comment"># Forgot a case in registerDecl().</span></span>
<a id="line85"></a><span class="lineno">  85</span><span class="line"><span class="py-comment">#</span></span>
<a id="line86"></a><span class="lineno">  86</span><span class="line"><span class="py-comment"># Revision 1.12  1999/11/29 15:04:47  dpg1</span></span>
<a id="line87"></a><span class="lineno">  87</span><span class="line"><span class="py-comment"># Fixed bug in clear().</span></span>
<a id="line88"></a><span class="lineno">  88</span><span class="line"><span class="py-comment">#</span></span>
<a id="line89"></a><span class="lineno">  89</span><span class="line"><span class="py-comment"># Revision 1.11  1999/11/25 11:20:33  dpg1</span></span>
<a id="line90"></a><span class="lineno">  90</span><span class="line"><span class="py-comment"># Tidy documentation changes.</span></span>
<a id="line91"></a><span class="lineno">  91</span><span class="line"><span class="py-comment">#</span></span>
<a id="line92"></a><span class="lineno">  92</span><span class="line"><span class="py-comment"># Revision 1.10  1999/11/23 09:52:11  dpg1</span></span>
<a id="line93"></a><span class="lineno">  93</span><span class="line"><span class="py-comment"># Dumb bug where maps weren't cleared between runs.</span></span>
<a id="line94"></a><span class="lineno">  94</span><span class="line"><span class="py-comment">#</span></span>
<a id="line95"></a><span class="lineno">  95</span><span class="line"><span class="py-comment"># Revision 1.9  1999/11/15 15:49:23  dpg1</span></span>
<a id="line96"></a><span class="lineno">  96</span><span class="line"><span class="py-comment"># Documentation strings.</span></span>
<a id="line97"></a><span class="lineno">  97</span><span class="line"><span class="py-comment">#</span></span>
<a id="line98"></a><span class="lineno">  98</span><span class="line"><span class="py-comment"># Revision 1.8  1999/11/11 15:55:30  dpg1</span></span>
<a id="line99"></a><span class="lineno">  99</span><span class="line"><span class="py-comment"># Python back-end interface now supports valuetype declarations.</span></span>
<a id="line100"></a><span class="lineno"> 100</span><span class="line"><span class="py-comment"># Back-ends still don't support them, though.</span></span>
<a id="line101"></a><span class="lineno"> 101</span><span class="line"><span class="py-comment">#</span></span>
<a id="line102"></a><span class="lineno"> 102</span><span class="line"><span class="py-comment"># Revision 1.7  1999/11/02 17:07:24  dpg1</span></span>
<a id="line103"></a><span class="lineno"> 103</span><span class="line"><span class="py-comment"># Changes to compile on Solaris.</span></span>
<a id="line104"></a><span class="lineno"> 104</span><span class="line"><span class="py-comment">#</span></span>
<a id="line105"></a><span class="lineno"> 105</span><span class="line"><span class="py-comment"># Revision 1.6  1999/11/02 10:01:46  dpg1</span></span>
<a id="line106"></a><span class="lineno"> 106</span><span class="line"><span class="py-comment"># Minor fixes.</span></span>
<a id="line107"></a><span class="lineno"> 107</span><span class="line"><span class="py-comment">#</span></span>
<a id="line108"></a><span class="lineno"> 108</span><span class="line"><span class="py-comment"># Revision 1.5  1999/11/01 20:19:55  dpg1</span></span>
<a id="line109"></a><span class="lineno"> 109</span><span class="line"><span class="py-comment"># Support for union switch types declared inside the switch statement.</span></span>
<a id="line110"></a><span class="lineno"> 110</span><span class="line"><span class="py-comment">#</span></span>
<a id="line111"></a><span class="lineno"> 111</span><span class="line"><span class="py-comment"># Revision 1.4  1999/11/01 16:39:01  dpg1</span></span>
<a id="line112"></a><span class="lineno"> 112</span><span class="line"><span class="py-comment"># Small fixes and cosmetic changes.</span></span>
<a id="line113"></a><span class="lineno"> 113</span><span class="line"><span class="py-comment">#</span></span>
<a id="line114"></a><span class="lineno"> 114</span><span class="line"><span class="py-comment"># Revision 1.3  1999/11/01 10:05:01  dpg1</span></span>
<a id="line115"></a><span class="lineno"> 115</span><span class="line"><span class="py-comment"># New file attribute to AST.</span></span>
<a id="line116"></a><span class="lineno"> 116</span><span class="line"><span class="py-comment">#</span></span>
<a id="line117"></a><span class="lineno"> 117</span><span class="line"><span class="py-comment"># Revision 1.2  1999/10/29 18:19:39  dpg1</span></span>
<a id="line118"></a><span class="lineno"> 118</span><span class="line"><span class="py-comment"># Clean up</span></span>
<a id="line119"></a><span class="lineno"> 119</span><span class="line"><span class="py-comment">#</span></span>
<a id="line120"></a><span class="lineno"> 120</span><span class="line"><span class="py-comment"># Revision 1.1  1999/10/29 15:47:08  dpg1</span></span>
<a id="line121"></a><span class="lineno"> 121</span><span class="line"><span class="py-comment"># First revision.</span></span>
<a id="line122"></a><span class="lineno"> 122</span><span class="line"><span class="py-comment">#</span></span>
<a id="line123"></a><span class="lineno"> 123</span>
<a id="line124"></a><span class="lineno"> 124</span><span class="line"><span class="py-string">&quot;&quot;&quot;Classes and functions for handling the IDL Abstract Syntax Tree</span></span>
<a id="line125"></a><span class="lineno"> 125</span><span class="line"><span class="py-string"/></span>
<a id="line126"></a><span class="lineno"> 126</span><span class="line"><span class="py-string">Function:</span></span>
<a id="line127"></a><span class="lineno"> 127</span><span class="line"><span class="py-string"/></span>
<a id="line128"></a><span class="lineno"> 128</span><span class="line"><span class="py-string">  findDecl(scopedName) -- find a Decl object given a fully-scoped</span></span>
<a id="line129"></a><span class="lineno"> 129</span><span class="line"><span class="py-string">                          name, represented as a list of strings.</span></span>
<a id="line130"></a><span class="lineno"> 130</span><span class="line"><span class="py-string">                          eg. ::foo::bar::baz is represented as</span></span>
<a id="line131"></a><span class="lineno"> 131</span><span class="line"><span class="py-string">                          ['foo', 'bar', 'baz'].</span></span>
<a id="line132"></a><span class="lineno"> 132</span><span class="line"><span class="py-string">Classes:</span></span>
<a id="line133"></a><span class="lineno"> 133</span><span class="line"><span class="py-string"/></span>
<a id="line134"></a><span class="lineno"> 134</span><span class="line"><span class="py-string">  AST          -- top level of Abstract Syntax Tree.</span></span>
<a id="line135"></a><span class="lineno"> 135</span><span class="line"><span class="py-string">  Decl         -- base of all declarations.</span></span>
<a id="line136"></a><span class="lineno"> 136</span><span class="line"><span class="py-string">  DeclRepoId   -- mixin class for Decls with repository ids.</span></span>
<a id="line137"></a><span class="lineno"> 137</span><span class="line"><span class="py-string">  Pragma       -- record of an unknown pragma</span></span>
<a id="line138"></a><span class="lineno"> 138</span><span class="line"><span class="py-string">  Comment      -- record of a comment</span></span>
<a id="line139"></a><span class="lineno"> 139</span><span class="line"><span class="py-string">  Module       -- module declaration.</span></span>
<a id="line140"></a><span class="lineno"> 140</span><span class="line"><span class="py-string">  Interface    -- interface declaration.</span></span>
<a id="line141"></a><span class="lineno"> 141</span><span class="line"><span class="py-string">  Forward      -- forward-declared interface.</span></span>
<a id="line142"></a><span class="lineno"> 142</span><span class="line"><span class="py-string">  Const        -- constant declaration.</span></span>
<a id="line143"></a><span class="lineno"> 143</span><span class="line"><span class="py-string">  Declarator   -- declarator used in typedef, struct members, etc.</span></span>
<a id="line144"></a><span class="lineno"> 144</span><span class="line"><span class="py-string">  Typedef      -- typedef.</span></span>
<a id="line145"></a><span class="lineno"> 145</span><span class="line"><span class="py-string">  Member       -- member of a struct or exception.</span></span>
<a id="line146"></a><span class="lineno"> 146</span><span class="line"><span class="py-string">  Struct       -- struct declaration.</span></span>
<a id="line147"></a><span class="lineno"> 147</span><span class="line"><span class="py-string">  Exception    -- exception declaration.</span></span>
<a id="line148"></a><span class="lineno"> 148</span><span class="line"><span class="py-string">  CaseLabel    -- case label within a union.</span></span>
<a id="line149"></a><span class="lineno"> 149</span><span class="line"><span class="py-string">  UnionCase    -- one case within a union.</span></span>
<a id="line150"></a><span class="lineno"> 150</span><span class="line"><span class="py-string">  Union        -- union declaration.</span></span>
<a id="line151"></a><span class="lineno"> 151</span><span class="line"><span class="py-string">  Enumerator   -- enumerator of an enum.</span></span>
<a id="line152"></a><span class="lineno"> 152</span><span class="line"><span class="py-string">  Enum         -- enum declaration.</span></span>
<a id="line153"></a><span class="lineno"> 153</span><span class="line"><span class="py-string">  Attribute    -- attribute declaration.</span></span>
<a id="line154"></a><span class="lineno"> 154</span><span class="line"><span class="py-string">  Parameter    -- parameter of an operation of factory.</span></span>
<a id="line155"></a><span class="lineno"> 155</span><span class="line"><span class="py-string">  Operation    -- operation declaration.</span></span>
<a id="line156"></a><span class="lineno"> 156</span><span class="line"><span class="py-string">  Native       -- native declaration.</span></span>
<a id="line157"></a><span class="lineno"> 157</span><span class="line"><span class="py-string">  StateMember  -- state member of a valuetype.</span></span>
<a id="line158"></a><span class="lineno"> 158</span><span class="line"><span class="py-string">  Factory      -- factory method of a valuetype.</span></span>
<a id="line159"></a><span class="lineno"> 159</span><span class="line"><span class="py-string">  ValueForward -- forward-declared valuetype.</span></span>
<a id="line160"></a><span class="lineno"> 160</span><span class="line"><span class="py-string">  ValueBox     -- boxed value declaration.</span></span>
<a id="line161"></a><span class="lineno"> 161</span><span class="line"><span class="py-string">  ValueAbs     -- abstract valuetype declaration.</span></span>
<a id="line162"></a><span class="lineno"> 162</span><span class="line"><span class="py-string">  Value        -- valuetype declaration.&quot;&quot;&quot;</span></span>
<a id="line163"></a><span class="lineno"> 163</span>
<a id="line164"></a><span class="lineno"> 164</span><span class="line"><span class="py-keyword">import</span> idlutil</span>
<a id="line165"></a><span class="lineno"> 165</span><span class="line"><span class="py-keyword">import</span> idlvisitor</span>
<a id="line166"></a><span class="lineno"> 166</span>
<a id="line167"></a><span class="lineno"> 167</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/AST.html">AST</a>:</span>
<a id="line168"></a><span class="lineno"> 168</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Class for top-level Abstract Syntax Tree.</span></span>
<a id="line169"></a><span class="lineno"> 169</span><span class="line"><span class="py-string"/></span>
<a id="line170"></a><span class="lineno"> 170</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line171"></a><span class="lineno"> 171</span><span class="line"><span class="py-string"/></span>
<a id="line172"></a><span class="lineno"> 172</span><span class="line"><span class="py-string">  file()          -- the file name of the main IDL file.</span></span>
<a id="line173"></a><span class="lineno"> 173</span><span class="line"><span class="py-string">  declarations()  -- list of Decl objects corresponding to declarations</span></span>
<a id="line174"></a><span class="lineno"> 174</span><span class="line"><span class="py-string">                     at file scope.</span></span>
<a id="line175"></a><span class="lineno"> 175</span><span class="line"><span class="py-string">  pragmas()       -- list of Pragma objects containing #pragmas which</span></span>
<a id="line176"></a><span class="lineno"> 176</span><span class="line"><span class="py-string">                     occurred before any declarations. Later #pragmas</span></span>
<a id="line177"></a><span class="lineno"> 177</span><span class="line"><span class="py-string">                     are attached to Decl objects.</span></span>
<a id="line178"></a><span class="lineno"> 178</span><span class="line"><span class="py-string">  comments()      -- list of Comment objects containing comments which</span></span>
<a id="line179"></a><span class="lineno"> 179</span><span class="line"><span class="py-string">                     occurred before any declarations.</span></span>
<a id="line180"></a><span class="lineno"> 180</span><span class="line"><span class="py-string">  accept(visitor) -- visitor pattern accept. See idlvisitor.py.&quot;&quot;&quot;</span></span>
<a id="line181"></a><span class="lineno"> 181</span>
<a id="line182"></a><span class="lineno"> 182</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/AST.html#__init__">__init__</a>(self, file, declarations, pragmas, comments):</span>
<a id="line183"></a><span class="lineno"> 183</span><span class="line">        self.__file         = file</span>
<a id="line184"></a><span class="lineno"> 184</span><span class="line">        self.__declarations = declarations</span>
<a id="line185"></a><span class="lineno"> 185</span><span class="line">        self.__pragmas      = pragmas</span>
<a id="line186"></a><span class="lineno"> 186</span><span class="line">        self.__comments     = comments</span>
<a id="line187"></a><span class="lineno"> 187</span>
<a id="line188"></a><span class="lineno"> 188</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/AST.html#file">file</a>(self):            <span class="py-keyword">return</span> self.__file</span>
<a id="line189"></a><span class="lineno"> 189</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/AST.html#declarations">declarations</a>(self):    <span class="py-keyword">return</span> self.__declarations</span>
<a id="line190"></a><span class="lineno"> 190</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/AST.html#pragmas">pragmas</a>(self):         <span class="py-keyword">return</span> self.__pragmas</span>
<a id="line191"></a><span class="lineno"> 191</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/AST.html#comments">comments</a>(self):        <span class="py-keyword">return</span> self.__comments</span>
<a id="line192"></a><span class="lineno"> 192</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/AST.html#accept">accept</a>(self, visitor): visitor.visitAST(self)</span>
<a id="line193"></a><span class="lineno"> 193</span>
<a id="line194"></a><span class="lineno"> 194</span>
<a id="line195"></a><span class="lineno"> 195</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Decl.html">Decl</a>:</span>
<a id="line196"></a><span class="lineno"> 196</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Base class for all declarations.</span></span>
<a id="line197"></a><span class="lineno"> 197</span><span class="line"><span class="py-string"/></span>
<a id="line198"></a><span class="lineno"> 198</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line199"></a><span class="lineno"> 199</span><span class="line"><span class="py-string"/></span>
<a id="line200"></a><span class="lineno"> 200</span><span class="line"><span class="py-string">  file()          -- the IDL file this declaration came from.</span></span>
<a id="line201"></a><span class="lineno"> 201</span><span class="line"><span class="py-string">  line()          -- the line number within the file.</span></span>
<a id="line202"></a><span class="lineno"> 202</span><span class="line"><span class="py-string">  mainFile()      -- boolean: true if the file was the main IDL file;</span></span>
<a id="line203"></a><span class="lineno"> 203</span><span class="line"><span class="py-string">                     false if it was an included file.</span></span>
<a id="line204"></a><span class="lineno"> 204</span><span class="line"><span class="py-string">  pragmas()       -- list of Pragma objects containing #pragmas which</span></span>
<a id="line205"></a><span class="lineno"> 205</span><span class="line"><span class="py-string">                     immediately followed this declaration.</span></span>
<a id="line206"></a><span class="lineno"> 206</span><span class="line"><span class="py-string">  comments()      -- list of Comment objects containing comments which</span></span>
<a id="line207"></a><span class="lineno"> 207</span><span class="line"><span class="py-string">                     immediately followed this declaration.</span></span>
<a id="line208"></a><span class="lineno"> 208</span><span class="line"><span class="py-string">  fullDecl()      -- the 'full' Decl for typedefs, forwards, etc.</span></span>
<a id="line209"></a><span class="lineno"> 209</span><span class="line"><span class="py-string"/></span>
<a id="line210"></a><span class="lineno"> 210</span><span class="line"><span class="py-string">  accept(visitor) -- visitor pattern accept. See idlvisitor.py.&quot;&quot;&quot;</span></span>
<a id="line211"></a><span class="lineno"> 211</span>
<a id="line212"></a><span class="lineno"> 212</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Decl.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments):</span>
<a id="line213"></a><span class="lineno"> 213</span><span class="line">        self.__file     = file</span>
<a id="line214"></a><span class="lineno"> 214</span><span class="line">        self.__line     = line</span>
<a id="line215"></a><span class="lineno"> 215</span><span class="line">        self.__mainFile = mainFile</span>
<a id="line216"></a><span class="lineno"> 216</span><span class="line">        self.__builtIn  = 0</span>
<a id="line217"></a><span class="lineno"> 217</span><span class="line">        self.__pragmas  = pragmas</span>
<a id="line218"></a><span class="lineno"> 218</span><span class="line">        self.__comments = comments</span>
<a id="line219"></a><span class="lineno"> 219</span>
<a id="line220"></a><span class="lineno"> 220</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Decl.html#accept">accept</a>(self, visitor): <span class="py-keyword">pass</span></span>
<a id="line221"></a><span class="lineno"> 221</span>
<a id="line222"></a><span class="lineno"> 222</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Decl.html#file">file</a>(self):     <span class="py-keyword">return</span> self.__file</span>
<a id="line223"></a><span class="lineno"> 223</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Decl.html#line">line</a>(self):     <span class="py-keyword">return</span> self.__line</span>
<a id="line224"></a><span class="lineno"> 224</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Decl.html#mainFile">mainFile</a>(self): <span class="py-keyword">return</span> self.__mainFile</span>
<a id="line225"></a><span class="lineno"> 225</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Decl.html#builtIn">builtIn</a>(self):  <span class="py-keyword">return</span> self.__builtIn</span>
<a id="line226"></a><span class="lineno"> 226</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Decl.html#pragmas">pragmas</a>(self):  <span class="py-keyword">return</span> self.__pragmas</span>
<a id="line227"></a><span class="lineno"> 227</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Decl.html#comments">comments</a>(self): <span class="py-keyword">return</span> self.__comments</span>
<a id="line228"></a><span class="lineno"> 228</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Decl.html#fullDecl">fullDecl</a>(self): <span class="py-keyword">return</span> self</span>
<a id="line229"></a><span class="lineno"> 229</span>
<a id="line230"></a><span class="lineno"> 230</span>
<a id="line231"></a><span class="lineno"> 231</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/DeclRepoId.html">DeclRepoId</a> :</span>
<a id="line232"></a><span class="lineno"> 232</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Mixin class for Decls which have a Repository Id</span></span>
<a id="line233"></a><span class="lineno"> 233</span><span class="line"><span class="py-string"/></span>
<a id="line234"></a><span class="lineno"> 234</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line235"></a><span class="lineno"> 235</span><span class="line"><span class="py-string"/></span>
<a id="line236"></a><span class="lineno"> 236</span><span class="line"><span class="py-string">  identifier() -- name of the declaration as a string</span></span>
<a id="line237"></a><span class="lineno"> 237</span><span class="line"><span class="py-string">  scopedName() -- list of strings forming the fully-scoped name of the</span></span>
<a id="line238"></a><span class="lineno"> 238</span><span class="line"><span class="py-string">                  declaration. e.g. ::foo::bar::baz is represented as</span></span>
<a id="line239"></a><span class="lineno"> 239</span><span class="line"><span class="py-string">                  ['foo', 'bar', 'baz'].</span></span>
<a id="line240"></a><span class="lineno"> 240</span><span class="line"><span class="py-string">  repoId()     -- repository identifier for this declaration.&quot;&quot;&quot;</span></span>
<a id="line241"></a><span class="lineno"> 241</span>
<a id="line242"></a><span class="lineno"> 242</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/DeclRepoId.html#__init__">__init__</a>(self, identifier, scopedName, repoId):</span>
<a id="line243"></a><span class="lineno"> 243</span><span class="line">        self.__identifier = identifier</span>
<a id="line244"></a><span class="lineno"> 244</span><span class="line">        self.__scopedName = scopedName</span>
<a id="line245"></a><span class="lineno"> 245</span><span class="line">        self.__repoId     = repoId</span>
<a id="line246"></a><span class="lineno"> 246</span>
<a id="line247"></a><span class="lineno"> 247</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/DeclRepoId.html#identifier">identifier</a>(self): <span class="py-keyword">return</span> self.__identifier</span>
<a id="line248"></a><span class="lineno"> 248</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/DeclRepoId.html#scopedName">scopedName</a>(self): <span class="py-keyword">return</span> self.__scopedName</span>
<a id="line249"></a><span class="lineno"> 249</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/DeclRepoId.html#repoId">repoId</a>(self):     <span class="py-keyword">return</span> self.__repoId</span>
<a id="line250"></a><span class="lineno"> 250</span>
<a id="line251"></a><span class="lineno"> 251</span>
<a id="line252"></a><span class="lineno"> 252</span><span class="line"><span class="py-comment"># Pragmas and comments</span></span>
<a id="line253"></a><span class="lineno"> 253</span>
<a id="line254"></a><span class="lineno"> 254</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Pragma.html">Pragma</a> :</span>
<a id="line255"></a><span class="lineno"> 255</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Class containing information about an unknown pragma</span></span>
<a id="line256"></a><span class="lineno"> 256</span><span class="line"><span class="py-string"/></span>
<a id="line257"></a><span class="lineno"> 257</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line258"></a><span class="lineno"> 258</span><span class="line"><span class="py-string"/></span>
<a id="line259"></a><span class="lineno"> 259</span><span class="line"><span class="py-string">  text()    -- text of the pragma</span></span>
<a id="line260"></a><span class="lineno"> 260</span><span class="line"><span class="py-string">  __str__() -- same as text()</span></span>
<a id="line261"></a><span class="lineno"> 261</span><span class="line"><span class="py-string">  file()    -- file containing the pragma</span></span>
<a id="line262"></a><span class="lineno"> 262</span><span class="line"><span class="py-string">  line()    -- line number in file&quot;&quot;&quot;</span></span>
<a id="line263"></a><span class="lineno"> 263</span>
<a id="line264"></a><span class="lineno"> 264</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Pragma.html#__init__">__init__</a>(self, text, file, line):</span>
<a id="line265"></a><span class="lineno"> 265</span><span class="line">        self.__text = text</span>
<a id="line266"></a><span class="lineno"> 266</span><span class="line">        self.__file = file</span>
<a id="line267"></a><span class="lineno"> 267</span><span class="line">        self.__line = line</span>
<a id="line268"></a><span class="lineno"> 268</span>
<a id="line269"></a><span class="lineno"> 269</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Pragma.html#text">text</a>(self)    : <span class="py-keyword">return</span> self.__text</span>
<a id="line270"></a><span class="lineno"> 270</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Pragma.html#__str__">__str__</a>(self) : <span class="py-keyword">return</span> self.__text</span>
<a id="line271"></a><span class="lineno"> 271</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Pragma.html#file">file</a>(self)    : <span class="py-keyword">return</span> self.__file</span>
<a id="line272"></a><span class="lineno"> 272</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Pragma.html#line">line</a>(self)    : <span class="py-keyword">return</span> self.__line</span>
<a id="line273"></a><span class="lineno"> 273</span>
<a id="line274"></a><span class="lineno"> 274</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Comment.html">Comment</a> :</span>
<a id="line275"></a><span class="lineno"> 275</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Class containing information about a comment</span></span>
<a id="line276"></a><span class="lineno"> 276</span><span class="line"><span class="py-string"/></span>
<a id="line277"></a><span class="lineno"> 277</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line278"></a><span class="lineno"> 278</span><span class="line"><span class="py-string"/></span>
<a id="line279"></a><span class="lineno"> 279</span><span class="line"><span class="py-string">  text()    -- text of the comment</span></span>
<a id="line280"></a><span class="lineno"> 280</span><span class="line"><span class="py-string">  __str__() -- same as text()</span></span>
<a id="line281"></a><span class="lineno"> 281</span><span class="line"><span class="py-string">  file()    -- file containing the comment</span></span>
<a id="line282"></a><span class="lineno"> 282</span><span class="line"><span class="py-string">  line()    -- line number in file&quot;&quot;&quot;</span></span>
<a id="line283"></a><span class="lineno"> 283</span>
<a id="line284"></a><span class="lineno"> 284</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Comment.html#__init__">__init__</a>(self, text, file, line):</span>
<a id="line285"></a><span class="lineno"> 285</span><span class="line">        self.__text = text</span>
<a id="line286"></a><span class="lineno"> 286</span><span class="line">        self.__file = file</span>
<a id="line287"></a><span class="lineno"> 287</span><span class="line">        self.__line = line</span>
<a id="line288"></a><span class="lineno"> 288</span>
<a id="line289"></a><span class="lineno"> 289</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Comment.html#text">text</a>(self)    : <span class="py-keyword">return</span> self.__text</span>
<a id="line290"></a><span class="lineno"> 290</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Comment.html#__str__">__str__</a>(self) : <span class="py-keyword">return</span> self.__text</span>
<a id="line291"></a><span class="lineno"> 291</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Comment.html#file">file</a>(self)    : <span class="py-keyword">return</span> self.__file</span>
<a id="line292"></a><span class="lineno"> 292</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Comment.html#line">line</a>(self)    : <span class="py-keyword">return</span> self.__line</span>
<a id="line293"></a><span class="lineno"> 293</span>
<a id="line294"></a><span class="lineno"> 294</span>
<a id="line295"></a><span class="lineno"> 295</span>
<a id="line296"></a><span class="lineno"> 296</span>
<a id="line297"></a><span class="lineno"> 297</span><span class="line"><span class="py-comment"># Concrete declaration objects</span></span>
<a id="line298"></a><span class="lineno"> 298</span>
<a id="line299"></a><span class="lineno"> 299</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Module.html">Module</a> (Decl, DeclRepoId):</span>
<a id="line300"></a><span class="lineno"> 300</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Module declaration (Decl, DeclRepoId)</span></span>
<a id="line301"></a><span class="lineno"> 301</span><span class="line"><span class="py-string"/></span>
<a id="line302"></a><span class="lineno"> 302</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line303"></a><span class="lineno"> 303</span><span class="line"><span class="py-string"/></span>
<a id="line304"></a><span class="lineno"> 304</span><span class="line"><span class="py-string">  definitions()   -- list of Decl objects declared within this module.</span></span>
<a id="line305"></a><span class="lineno"> 305</span><span class="line"><span class="py-string">  continuations() -- list containing continuations of this module.</span></span>
<a id="line306"></a><span class="lineno"> 306</span><span class="line"><span class="py-string">                     When modules are re-opened, multiple Module</span></span>
<a id="line307"></a><span class="lineno"> 307</span><span class="line"><span class="py-string">                     objects with the same name appear in the</span></span>
<a id="line308"></a><span class="lineno"> 308</span><span class="line"><span class="py-string">                     enclosing Module or AST object. In case it's</span></span>
<a id="line309"></a><span class="lineno"> 309</span><span class="line"><span class="py-string">                     useful, the first Module object for a particular</span></span>
<a id="line310"></a><span class="lineno"> 310</span><span class="line"><span class="py-string">                     module has a list containing continuations of</span></span>
<a id="line311"></a><span class="lineno"> 311</span><span class="line"><span class="py-string">                     that module. You will probably not have any use</span></span>
<a id="line312"></a><span class="lineno"> 312</span><span class="line"><span class="py-string">                     for this.&quot;&quot;&quot;</span></span>
<a id="line313"></a><span class="lineno"> 313</span>
<a id="line314"></a><span class="lineno"> 314</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Module.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line315"></a><span class="lineno"> 315</span><span class="line">                 identifier, scopedName, repoId,</span>
<a id="line316"></a><span class="lineno"> 316</span><span class="line">                 definitions):</span>
<a id="line317"></a><span class="lineno"> 317</span>
<a id="line318"></a><span class="lineno"> 318</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line319"></a><span class="lineno"> 319</span><span class="line">        DeclRepoId.__init__(self, identifier, scopedName, repoId)</span>
<a id="line320"></a><span class="lineno"> 320</span>
<a id="line321"></a><span class="lineno"> 321</span><span class="line">        self.__definitions  = definitions</span>
<a id="line322"></a><span class="lineno"> 322</span><span class="line">        self._continuations = []</span>
<a id="line323"></a><span class="lineno"> 323</span>
<a id="line324"></a><span class="lineno"> 324</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Module.html#accept">accept</a>(self, visitor): visitor.visitModule(self)</span>
<a id="line325"></a><span class="lineno"> 325</span>
<a id="line326"></a><span class="lineno"> 326</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Module.html#definitions">definitions</a>(self):   <span class="py-keyword">return</span> self.__definitions</span>
<a id="line327"></a><span class="lineno"> 327</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Module.html#continuations">continuations</a>(self): <span class="py-keyword">return</span> self._continuations</span>
<a id="line328"></a><span class="lineno"> 328</span>
<a id="line329"></a><span class="lineno"> 329</span>
<a id="line330"></a><span class="lineno"> 330</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Interface.html">Interface</a> (Decl, DeclRepoId):</span>
<a id="line331"></a><span class="lineno"> 331</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Interface declaration (Decl, DeclRepoId)</span></span>
<a id="line332"></a><span class="lineno"> 332</span><span class="line"><span class="py-string"/></span>
<a id="line333"></a><span class="lineno"> 333</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line334"></a><span class="lineno"> 334</span><span class="line"><span class="py-string"/></span>
<a id="line335"></a><span class="lineno"> 335</span><span class="line"><span class="py-string">  abstract()     -- boolean: true if the interface is declared abstract.</span></span>
<a id="line336"></a><span class="lineno"> 336</span><span class="line"><span class="py-string">  local()        -- boolean: true if the interface is declared local.</span></span>
<a id="line337"></a><span class="lineno"> 337</span><span class="line"><span class="py-string">  inherits()     -- list of Interface objects from which this one</span></span>
<a id="line338"></a><span class="lineno"> 338</span><span class="line"><span class="py-string">                    inherits.</span></span>
<a id="line339"></a><span class="lineno"> 339</span><span class="line"><span class="py-string">  contents()     -- list of Decl objects for all items declared within</span></span>
<a id="line340"></a><span class="lineno"> 340</span><span class="line"><span class="py-string">                    this interface.</span></span>
<a id="line341"></a><span class="lineno"> 341</span><span class="line"><span class="py-string">  declarations() -- subset of contents() containing types, constants</span></span>
<a id="line342"></a><span class="lineno"> 342</span><span class="line"><span class="py-string">                    and exceptions.</span></span>
<a id="line343"></a><span class="lineno"> 343</span><span class="line"><span class="py-string">  callables()    -- subset of contents() containing Operations and</span></span>
<a id="line344"></a><span class="lineno"> 344</span><span class="line"><span class="py-string">                    Attributes.</span></span>
<a id="line345"></a><span class="lineno"> 345</span><span class="line"><span class="py-string">  all_callables()-- callables of this and inherited interfaces.&quot;&quot;&quot;</span></span>
<a id="line346"></a><span class="lineno"> 346</span>
<a id="line347"></a><span class="lineno"> 347</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Interface.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line348"></a><span class="lineno"> 348</span><span class="line">                 identifier, scopedName, repoId,</span>
<a id="line349"></a><span class="lineno"> 349</span><span class="line">                 abstract, local, inherits):</span>
<a id="line350"></a><span class="lineno"> 350</span>
<a id="line351"></a><span class="lineno"> 351</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line352"></a><span class="lineno"> 352</span><span class="line">        DeclRepoId.__init__(self, identifier, scopedName, repoId)</span>
<a id="line353"></a><span class="lineno"> 353</span>
<a id="line354"></a><span class="lineno"> 354</span><span class="line">        self.__abstract     = abstract</span>
<a id="line355"></a><span class="lineno"> 355</span><span class="line">        self.__local        = local</span>
<a id="line356"></a><span class="lineno"> 356</span><span class="line">        self.__inherits     = inherits</span>
<a id="line357"></a><span class="lineno"> 357</span><span class="line">        self.__contents     = []</span>
<a id="line358"></a><span class="lineno"> 358</span><span class="line">        self.__declarations = []</span>
<a id="line359"></a><span class="lineno"> 359</span><span class="line">        self.__callables    = []</span>
<a id="line360"></a><span class="lineno"> 360</span>
<a id="line361"></a><span class="lineno"> 361</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Interface.html#_setContents">_setContents</a>(self, contents):</span>
<a id="line362"></a><span class="lineno"> 362</span><span class="line">        self.__contents     = contents</span>
<a id="line363"></a><span class="lineno"> 363</span><span class="line">        self.__declarations = filter(<span class="py-keyword">lambda</span> c: <span class="py-keyword">not</span> (isinstance(c, Attribute) <span class="py-keyword">or</span></span>
<a id="line364"></a><span class="lineno"> 364</span><span class="line">                                                    isinstance(c, Operation)),</span>
<a id="line365"></a><span class="lineno"> 365</span><span class="line">                                     contents)</span>
<a id="line366"></a><span class="lineno"> 366</span><span class="line">        self.__callables    = filter(<span class="py-keyword">lambda</span> c: (isinstance(c, Attribute) <span class="py-keyword">or</span></span>
<a id="line367"></a><span class="lineno"> 367</span><span class="line">                                                isinstance(c, Operation)),</span>
<a id="line368"></a><span class="lineno"> 368</span><span class="line">                                     contents)</span>
<a id="line369"></a><span class="lineno"> 369</span>
<a id="line370"></a><span class="lineno"> 370</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Interface.html#accept">accept</a>(self, visitor): visitor.visitInterface(self)</span>
<a id="line371"></a><span class="lineno"> 371</span>
<a id="line372"></a><span class="lineno"> 372</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Interface.html#abstract">abstract</a>(self):     <span class="py-keyword">return</span> self.__abstract</span>
<a id="line373"></a><span class="lineno"> 373</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Interface.html#local">local</a>(self):        <span class="py-keyword">return</span> self.__local</span>
<a id="line374"></a><span class="lineno"> 374</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Interface.html#inherits">inherits</a>(self):     <span class="py-keyword">return</span> self.__inherits</span>
<a id="line375"></a><span class="lineno"> 375</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Interface.html#contents">contents</a>(self):     <span class="py-keyword">return</span> self.__contents</span>
<a id="line376"></a><span class="lineno"> 376</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Interface.html#declarations">declarations</a>(self): <span class="py-keyword">return</span> self.__declarations</span>
<a id="line377"></a><span class="lineno"> 377</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Interface.html#callables">callables</a>(self):    <span class="py-keyword">return</span> self.__callables</span>
<a id="line378"></a><span class="lineno"> 378</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Interface.html#all_callables">all_callables</a>(self):</span>
<a id="line379"></a><span class="lineno"> 379</span><span class="line">        r = []</span>
<a id="line380"></a><span class="lineno"> 380</span><span class="line">        <span class="py-comment"># This loop is very inefficient, but the lists should be quite</span></span>
<a id="line381"></a><span class="lineno"> 381</span><span class="line">        <span class="py-comment"># short.</span></span>
<a id="line382"></a><span class="lineno"> 382</span><span class="line">        <span class="py-keyword">for</span> b <span class="py-keyword">in</span> self.__inherits:</span>
<a id="line383"></a><span class="lineno"> 383</span><span class="line">            <span class="py-keyword">for</span> c <span class="py-keyword">in</span> b.all_callables():</span>
<a id="line384"></a><span class="lineno"> 384</span><span class="line">                <span class="py-keyword">if</span> c <span class="py-keyword">not</span> <span class="py-keyword">in</span> r:</span>
<a id="line385"></a><span class="lineno"> 385</span><span class="line">                    r.append(c)</span>
<a id="line386"></a><span class="lineno"> 386</span><span class="line">        r.extend(self.__callables)</span>
<a id="line387"></a><span class="lineno"> 387</span><span class="line">        <span class="py-keyword">return</span> r</span>
<a id="line388"></a><span class="lineno"> 388</span>
<a id="line389"></a><span class="lineno"> 389</span>
<a id="line390"></a><span class="lineno"> 390</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Forward.html">Forward</a> (Decl, DeclRepoId):</span>
<a id="line391"></a><span class="lineno"> 391</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Forward-declared interface (Decl, DeclRepoId)</span></span>
<a id="line392"></a><span class="lineno"> 392</span><span class="line"><span class="py-string"/></span>
<a id="line393"></a><span class="lineno"> 393</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line394"></a><span class="lineno"> 394</span><span class="line"><span class="py-string"/></span>
<a id="line395"></a><span class="lineno"> 395</span><span class="line"><span class="py-string">  abstract() -- boolean: true if the interface is declared abstract.</span></span>
<a id="line396"></a><span class="lineno"> 396</span><span class="line"><span class="py-string">  local()    -- boolean: true if the interface is declared local.</span></span>
<a id="line397"></a><span class="lineno"> 397</span><span class="line"><span class="py-string">  fullDecl() -- Interface object corresponding to full interface</span></span>
<a id="line398"></a><span class="lineno"> 398</span><span class="line"><span class="py-string">                declaration or None if there is no full declaration.&quot;&quot;&quot;</span></span>
<a id="line399"></a><span class="lineno"> 399</span>
<a id="line400"></a><span class="lineno"> 400</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Forward.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line401"></a><span class="lineno"> 401</span><span class="line">                 identifier, scopedName, repoId,</span>
<a id="line402"></a><span class="lineno"> 402</span><span class="line">                 abstract, local):</span>
<a id="line403"></a><span class="lineno"> 403</span>
<a id="line404"></a><span class="lineno"> 404</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line405"></a><span class="lineno"> 405</span><span class="line">        DeclRepoId.__init__(self, identifier, scopedName, repoId)</span>
<a id="line406"></a><span class="lineno"> 406</span>
<a id="line407"></a><span class="lineno"> 407</span><span class="line">        self.__abstract = abstract</span>
<a id="line408"></a><span class="lineno"> 408</span><span class="line">        self.__local    = local</span>
<a id="line409"></a><span class="lineno"> 409</span><span class="line">        self._fullDecl  = None</span>
<a id="line410"></a><span class="lineno"> 410</span><span class="line">        self._more      = []</span>
<a id="line411"></a><span class="lineno"> 411</span>
<a id="line412"></a><span class="lineno"> 412</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Forward.html#accept">accept</a>(self, visitor): visitor.visitForward(self)</span>
<a id="line413"></a><span class="lineno"> 413</span>
<a id="line414"></a><span class="lineno"> 414</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Forward.html#abstract">abstract</a>(self): <span class="py-keyword">return</span> self.__abstract</span>
<a id="line415"></a><span class="lineno"> 415</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Forward.html#local">local</a>(self):    <span class="py-keyword">return</span> self.__abstract</span>
<a id="line416"></a><span class="lineno"> 416</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Forward.html#fullDecl">fullDecl</a>(self): <span class="py-keyword">return</span> self._fullDecl</span>
<a id="line417"></a><span class="lineno"> 417</span>
<a id="line418"></a><span class="lineno"> 418</span>
<a id="line419"></a><span class="lineno"> 419</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Const.html">Const</a> (Decl, DeclRepoId):</span>
<a id="line420"></a><span class="lineno"> 420</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Constant declaration (Decl, DeclRepoId)</span></span>
<a id="line421"></a><span class="lineno"> 421</span><span class="line"><span class="py-string"/></span>
<a id="line422"></a><span class="lineno"> 422</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line423"></a><span class="lineno"> 423</span><span class="line"><span class="py-string"/></span>
<a id="line424"></a><span class="lineno"> 424</span><span class="line"><span class="py-string">  constType() -- IdlType.Type object of this constant. Aliases not</span></span>
<a id="line425"></a><span class="lineno"> 425</span><span class="line"><span class="py-string">                 stripped.</span></span>
<a id="line426"></a><span class="lineno"> 426</span><span class="line"><span class="py-string">  constKind() -- TypeCode kind of constant with aliases stripped.</span></span>
<a id="line427"></a><span class="lineno"> 427</span><span class="line"><span class="py-string">  value()     -- value of the constant. Either an integer or an</span></span>
<a id="line428"></a><span class="lineno"> 428</span><span class="line"><span class="py-string">                 Enumerator object.&quot;&quot;&quot;</span></span>
<a id="line429"></a><span class="lineno"> 429</span>
<a id="line430"></a><span class="lineno"> 430</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Const.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line431"></a><span class="lineno"> 431</span><span class="line">                 identifier, scopedName, repoId,</span>
<a id="line432"></a><span class="lineno"> 432</span><span class="line">                 constType, constKind, value):</span>
<a id="line433"></a><span class="lineno"> 433</span>
<a id="line434"></a><span class="lineno"> 434</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line435"></a><span class="lineno"> 435</span><span class="line">        DeclRepoId.__init__(self, identifier, scopedName, repoId)</span>
<a id="line436"></a><span class="lineno"> 436</span>
<a id="line437"></a><span class="lineno"> 437</span><span class="line">        self.__constType = constType</span>
<a id="line438"></a><span class="lineno"> 438</span><span class="line">        self.__constKind = constKind</span>
<a id="line439"></a><span class="lineno"> 439</span><span class="line">        self.__value     = value</span>
<a id="line440"></a><span class="lineno"> 440</span><span class="line">        <span class="py-comment">#print line, &quot;Const init:&quot;, constType, identifier, value</span></span>
<a id="line441"></a><span class="lineno"> 441</span>
<a id="line442"></a><span class="lineno"> 442</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Const.html#accept">accept</a>(self, visitor): visitor.visitConst(self)</span>
<a id="line443"></a><span class="lineno"> 443</span>
<a id="line444"></a><span class="lineno"> 444</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Const.html#constType">constType</a>(self):  <span class="py-keyword">return</span> self.__constType</span>
<a id="line445"></a><span class="lineno"> 445</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Const.html#constKind">constKind</a>(self):  <span class="py-keyword">return</span> self.__constKind</span>
<a id="line446"></a><span class="lineno"> 446</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Const.html#value">value</a>(self):      <span class="py-keyword">return</span> self.__value</span>
<a id="line447"></a><span class="lineno"> 447</span>
<a id="line448"></a><span class="lineno"> 448</span>
<a id="line449"></a><span class="lineno"> 449</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Declarator.html">Declarator</a> (Decl, DeclRepoId):</span>
<a id="line450"></a><span class="lineno"> 450</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Declarator used in typedefs, struct members, etc. (Decl, DeclRepoId)</span></span>
<a id="line451"></a><span class="lineno"> 451</span><span class="line"><span class="py-string"/></span>
<a id="line452"></a><span class="lineno"> 452</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line453"></a><span class="lineno"> 453</span><span class="line"><span class="py-string"/></span>
<a id="line454"></a><span class="lineno"> 454</span><span class="line"><span class="py-string">  sizes() -- list of array sizes, or None if this is a simple</span></span>
<a id="line455"></a><span class="lineno"> 455</span><span class="line"><span class="py-string">             declarator.</span></span>
<a id="line456"></a><span class="lineno"> 456</span><span class="line"><span class="py-string">  alias() -- Typedef object for this declarator if this is a typedef</span></span>
<a id="line457"></a><span class="lineno"> 457</span><span class="line"><span class="py-string">             declarator. None otherwise.&quot;&quot;&quot;</span></span>
<a id="line458"></a><span class="lineno"> 458</span>
<a id="line459"></a><span class="lineno"> 459</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Declarator.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line460"></a><span class="lineno"> 460</span><span class="line">                 identifier, scopedName, repoId,</span>
<a id="line461"></a><span class="lineno"> 461</span><span class="line">                 sizes):</span>
<a id="line462"></a><span class="lineno"> 462</span>
<a id="line463"></a><span class="lineno"> 463</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line464"></a><span class="lineno"> 464</span><span class="line">        DeclRepoId.__init__(self, identifier, scopedName, repoId)</span>
<a id="line465"></a><span class="lineno"> 465</span>
<a id="line466"></a><span class="lineno"> 466</span><span class="line">        self.__sizes = sizes</span>
<a id="line467"></a><span class="lineno"> 467</span><span class="line">        self.__alias = None</span>
<a id="line468"></a><span class="lineno"> 468</span>
<a id="line469"></a><span class="lineno"> 469</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Declarator.html#_setAlias">_setAlias</a>(self, alias): self.__alias = alias</span>
<a id="line470"></a><span class="lineno"> 470</span>
<a id="line471"></a><span class="lineno"> 471</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Declarator.html#accept">accept</a>(self, visitor): visitor.visitDeclarator(self)</span>
<a id="line472"></a><span class="lineno"> 472</span>
<a id="line473"></a><span class="lineno"> 473</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Declarator.html#sizes">sizes</a>(self): <span class="py-keyword">return</span> self.__sizes</span>
<a id="line474"></a><span class="lineno"> 474</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Declarator.html#alias">alias</a>(self): <span class="py-keyword">return</span> self.__alias</span>
<a id="line475"></a><span class="lineno"> 475</span>
<a id="line476"></a><span class="lineno"> 476</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Declarator.html#fullDecl">fullDecl</a>(self):</span>
<a id="line477"></a><span class="lineno"> 477</span><span class="line">        <span class="py-keyword">if</span> self.__alias <span class="py-keyword">is</span> <span class="py-keyword">not</span> None:</span>
<a id="line478"></a><span class="lineno"> 478</span><span class="line">            <span class="py-keyword">try</span>:</span>
<a id="line479"></a><span class="lineno"> 479</span><span class="line">                <span class="py-keyword">return</span> self.__alias.aliasType().decl()</span>
<a id="line480"></a><span class="lineno"> 480</span><span class="line">            <span class="py-keyword">except</span> AttributeError:</span>
<a id="line481"></a><span class="lineno"> 481</span><span class="line">                <span class="py-keyword">pass</span></span>
<a id="line482"></a><span class="lineno"> 482</span><span class="line">        <span class="py-keyword">return</span> self</span>
<a id="line483"></a><span class="lineno"> 483</span>
<a id="line484"></a><span class="lineno"> 484</span>
<a id="line485"></a><span class="lineno"> 485</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Typedef.html">Typedef</a> (Decl):</span>
<a id="line486"></a><span class="lineno"> 486</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Typedef (Decl)</span></span>
<a id="line487"></a><span class="lineno"> 487</span><span class="line"><span class="py-string"/></span>
<a id="line488"></a><span class="lineno"> 488</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line489"></a><span class="lineno"> 489</span><span class="line"><span class="py-string"/></span>
<a id="line490"></a><span class="lineno"> 490</span><span class="line"><span class="py-string">  aliasType()   -- IdlType.Type object that this is an alias to.</span></span>
<a id="line491"></a><span class="lineno"> 491</span><span class="line"><span class="py-string">  constrType()  -- boolean: true if the alias type was constructed</span></span>
<a id="line492"></a><span class="lineno"> 492</span><span class="line"><span class="py-string">                   within this typedef declaration.</span></span>
<a id="line493"></a><span class="lineno"> 493</span><span class="line"><span class="py-string">  declarators() -- list of Declarator objects.&quot;&quot;&quot;</span></span>
<a id="line494"></a><span class="lineno"> 494</span>
<a id="line495"></a><span class="lineno"> 495</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Typedef.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line496"></a><span class="lineno"> 496</span><span class="line">                 aliasType, constrType, declarators):</span>
<a id="line497"></a><span class="lineno"> 497</span>
<a id="line498"></a><span class="lineno"> 498</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line499"></a><span class="lineno"> 499</span>
<a id="line500"></a><span class="lineno"> 500</span><span class="line">        self.__aliasType   = aliasType</span>
<a id="line501"></a><span class="lineno"> 501</span><span class="line">        self.__constrType  = constrType</span>
<a id="line502"></a><span class="lineno"> 502</span><span class="line">        self.__declarators = declarators</span>
<a id="line503"></a><span class="lineno"> 503</span>
<a id="line504"></a><span class="lineno"> 504</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Typedef.html#accept">accept</a>(self, visitor): visitor.visitTypedef(self)</span>
<a id="line505"></a><span class="lineno"> 505</span>
<a id="line506"></a><span class="lineno"> 506</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Typedef.html#aliasType">aliasType</a>(self):   <span class="py-keyword">return</span> self.__aliasType</span>
<a id="line507"></a><span class="lineno"> 507</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Typedef.html#constrType">constrType</a>(self):  <span class="py-keyword">return</span> self.__constrType</span>
<a id="line508"></a><span class="lineno"> 508</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Typedef.html#declarators">declarators</a>(self): <span class="py-keyword">return</span> self.__declarators</span>
<a id="line509"></a><span class="lineno"> 509</span>
<a id="line510"></a><span class="lineno"> 510</span>
<a id="line511"></a><span class="lineno"> 511</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Member.html">Member</a> (Decl):</span>
<a id="line512"></a><span class="lineno"> 512</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Member of a struct or exception (Decl)</span></span>
<a id="line513"></a><span class="lineno"> 513</span><span class="line"><span class="py-string"/></span>
<a id="line514"></a><span class="lineno"> 514</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line515"></a><span class="lineno"> 515</span><span class="line"><span class="py-string"/></span>
<a id="line516"></a><span class="lineno"> 516</span><span class="line"><span class="py-string">  memberType()  -- IdlType.Type object for the type of this member.</span></span>
<a id="line517"></a><span class="lineno"> 517</span><span class="line"><span class="py-string">  constrType()  -- boolean: true if the member type was constructed</span></span>
<a id="line518"></a><span class="lineno"> 518</span><span class="line"><span class="py-string">                   within the member declaration.</span></span>
<a id="line519"></a><span class="lineno"> 519</span><span class="line"><span class="py-string">  declarators() -- list of Declarator objects.&quot;&quot;&quot;</span></span>
<a id="line520"></a><span class="lineno"> 520</span>
<a id="line521"></a><span class="lineno"> 521</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Member.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line522"></a><span class="lineno"> 522</span><span class="line">                 memberType, constrType, declarators):</span>
<a id="line523"></a><span class="lineno"> 523</span>
<a id="line524"></a><span class="lineno"> 524</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line525"></a><span class="lineno"> 525</span>
<a id="line526"></a><span class="lineno"> 526</span><span class="line">        self.__memberType  = memberType</span>
<a id="line527"></a><span class="lineno"> 527</span><span class="line">        self.__constrType  = constrType</span>
<a id="line528"></a><span class="lineno"> 528</span><span class="line">        self.__declarators = declarators</span>
<a id="line529"></a><span class="lineno"> 529</span>
<a id="line530"></a><span class="lineno"> 530</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Member.html#accept">accept</a>(self, visitor): visitor.visitMember(self)</span>
<a id="line531"></a><span class="lineno"> 531</span>
<a id="line532"></a><span class="lineno"> 532</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Member.html#memberType">memberType</a>(self):  <span class="py-keyword">return</span> self.__memberType</span>
<a id="line533"></a><span class="lineno"> 533</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Member.html#constrType">constrType</a>(self):  <span class="py-keyword">return</span> self.__constrType</span>
<a id="line534"></a><span class="lineno"> 534</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Member.html#declarators">declarators</a>(self): <span class="py-keyword">return</span> self.__declarators</span>
<a id="line535"></a><span class="lineno"> 535</span>
<a id="line536"></a><span class="lineno"> 536</span>
<a id="line537"></a><span class="lineno"> 537</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Struct.html">Struct</a> (Decl, DeclRepoId):</span>
<a id="line538"></a><span class="lineno"> 538</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Struct declaration (Decl, DeclRepoId)</span></span>
<a id="line539"></a><span class="lineno"> 539</span><span class="line"><span class="py-string"/></span>
<a id="line540"></a><span class="lineno"> 540</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line541"></a><span class="lineno"> 541</span><span class="line"><span class="py-string"/></span>
<a id="line542"></a><span class="lineno"> 542</span><span class="line"><span class="py-string">  members()   -- list of Member objects for the struct contents.</span></span>
<a id="line543"></a><span class="lineno"> 543</span><span class="line"><span class="py-string">  recursive() -- boolean: true if the struct is recursive.&quot;&quot;&quot;</span></span>
<a id="line544"></a><span class="lineno"> 544</span>
<a id="line545"></a><span class="lineno"> 545</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Struct.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line546"></a><span class="lineno"> 546</span><span class="line">                 identifier, scopedName, repoId,</span>
<a id="line547"></a><span class="lineno"> 547</span><span class="line">                 recursive):</span>
<a id="line548"></a><span class="lineno"> 548</span>
<a id="line549"></a><span class="lineno"> 549</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line550"></a><span class="lineno"> 550</span><span class="line">        DeclRepoId.__init__(self, identifier, scopedName, repoId)</span>
<a id="line551"></a><span class="lineno"> 551</span>
<a id="line552"></a><span class="lineno"> 552</span><span class="line">        self.__recursive = recursive</span>
<a id="line553"></a><span class="lineno"> 553</span>
<a id="line554"></a><span class="lineno"> 554</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Struct.html#_setMembers">_setMembers</a>(self, members):</span>
<a id="line555"></a><span class="lineno"> 555</span><span class="line">        self.__members = members</span>
<a id="line556"></a><span class="lineno"> 556</span>
<a id="line557"></a><span class="lineno"> 557</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Struct.html#accept">accept</a>(self, visitor): visitor.visitStruct(self)</span>
<a id="line558"></a><span class="lineno"> 558</span>
<a id="line559"></a><span class="lineno"> 559</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Struct.html#members">members</a>(self):    <span class="py-keyword">return</span> self.__members</span>
<a id="line560"></a><span class="lineno"> 560</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Struct.html#recursive">recursive</a>(self):  <span class="py-keyword">return</span> self.__recursive</span>
<a id="line561"></a><span class="lineno"> 561</span>
<a id="line562"></a><span class="lineno"> 562</span>
<a id="line563"></a><span class="lineno"> 563</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/StructForward.html">StructForward</a> (Decl, DeclRepoId):</span>
<a id="line564"></a><span class="lineno"> 564</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Struct forward declaration (Decl, DeclRepoId)</span></span>
<a id="line565"></a><span class="lineno"> 565</span><span class="line"><span class="py-string"/></span>
<a id="line566"></a><span class="lineno"> 566</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line567"></a><span class="lineno"> 567</span><span class="line"><span class="py-string"/></span>
<a id="line568"></a><span class="lineno"> 568</span><span class="line"><span class="py-string">  fullDecl() -- full definition of the struct.&quot;&quot;&quot;</span></span>
<a id="line569"></a><span class="lineno"> 569</span>
<a id="line570"></a><span class="lineno"> 570</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/StructForward.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line571"></a><span class="lineno"> 571</span><span class="line">                 identifier, scopedName, repoId):</span>
<a id="line572"></a><span class="lineno"> 572</span>
<a id="line573"></a><span class="lineno"> 573</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line574"></a><span class="lineno"> 574</span><span class="line">        DeclRepoId.__init__(self, identifier, scopedName, repoId)</span>
<a id="line575"></a><span class="lineno"> 575</span>
<a id="line576"></a><span class="lineno"> 576</span><span class="line">        self._fullDecl = None</span>
<a id="line577"></a><span class="lineno"> 577</span><span class="line">        self._more     = []</span>
<a id="line578"></a><span class="lineno"> 578</span>
<a id="line579"></a><span class="lineno"> 579</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/StructForward.html#accept">accept</a>(self, visitor): visitor.visitStructForward(self)</span>
<a id="line580"></a><span class="lineno"> 580</span>
<a id="line581"></a><span class="lineno"> 581</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/StructForward.html#fullDecl">fullDecl</a>(self): <span class="py-keyword">return</span> self._fullDecl</span>
<a id="line582"></a><span class="lineno"> 582</span>
<a id="line583"></a><span class="lineno"> 583</span>
<a id="line584"></a><span class="lineno"> 584</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Exception.html">Exception</a> (Decl, DeclRepoId):</span>
<a id="line585"></a><span class="lineno"> 585</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Exception declaration (Decl, DeclRepoId)</span></span>
<a id="line586"></a><span class="lineno"> 586</span><span class="line"><span class="py-string"/></span>
<a id="line587"></a><span class="lineno"> 587</span><span class="line"><span class="py-string">Function:</span></span>
<a id="line588"></a><span class="lineno"> 588</span><span class="line"><span class="py-string"/></span>
<a id="line589"></a><span class="lineno"> 589</span><span class="line"><span class="py-string">  members() -- list of Member objects for the exception contents.&quot;&quot;&quot;</span></span>
<a id="line590"></a><span class="lineno"> 590</span>
<a id="line591"></a><span class="lineno"> 591</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Exception.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line592"></a><span class="lineno"> 592</span><span class="line">                 identifier, scopedName, repoId,</span>
<a id="line593"></a><span class="lineno"> 593</span><span class="line">                 members):</span>
<a id="line594"></a><span class="lineno"> 594</span>
<a id="line595"></a><span class="lineno"> 595</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line596"></a><span class="lineno"> 596</span><span class="line">        DeclRepoId.__init__(self, identifier, scopedName, repoId)</span>
<a id="line597"></a><span class="lineno"> 597</span>
<a id="line598"></a><span class="lineno"> 598</span><span class="line">        self.__members    = members</span>
<a id="line599"></a><span class="lineno"> 599</span><span class="line">        <span class="py-comment">#print line, &quot;Exception init:&quot;, identifier, members</span></span>
<a id="line600"></a><span class="lineno"> 600</span>
<a id="line601"></a><span class="lineno"> 601</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Exception.html#accept">accept</a>(self, visitor): visitor.visitException(self)</span>
<a id="line602"></a><span class="lineno"> 602</span>
<a id="line603"></a><span class="lineno"> 603</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Exception.html#members">members</a>(self):    <span class="py-keyword">return</span> self.__members</span>
<a id="line604"></a><span class="lineno"> 604</span>
<a id="line605"></a><span class="lineno"> 605</span>
<a id="line606"></a><span class="lineno"> 606</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/CaseLabel.html">CaseLabel</a> (Decl):</span>
<a id="line607"></a><span class="lineno"> 607</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Case label within a union (Decl)</span></span>
<a id="line608"></a><span class="lineno"> 608</span><span class="line"><span class="py-string"/></span>
<a id="line609"></a><span class="lineno"> 609</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line610"></a><span class="lineno"> 610</span><span class="line"><span class="py-string"/></span>
<a id="line611"></a><span class="lineno"> 611</span><span class="line"><span class="py-string">  default()   -- boolean: true if this is the default label.</span></span>
<a id="line612"></a><span class="lineno"> 612</span><span class="line"><span class="py-string">  value()     -- label value. Either an integer or an Enumerator</span></span>
<a id="line613"></a><span class="lineno"> 613</span><span class="line"><span class="py-string">                 object. If default() is true, returns a value used by</span></span>
<a id="line614"></a><span class="lineno"> 614</span><span class="line"><span class="py-string">                 none of the other union labels.</span></span>
<a id="line615"></a><span class="lineno"> 615</span><span class="line"><span class="py-string">  labelKind() -- TypeCode kind of label.&quot;&quot;&quot;</span></span>
<a id="line616"></a><span class="lineno"> 616</span>
<a id="line617"></a><span class="lineno"> 617</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/CaseLabel.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line618"></a><span class="lineno"> 618</span><span class="line">                 default, value, labelKind):</span>
<a id="line619"></a><span class="lineno"> 619</span>
<a id="line620"></a><span class="lineno"> 620</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line621"></a><span class="lineno"> 621</span>
<a id="line622"></a><span class="lineno"> 622</span><span class="line">        self.__default   = default</span>
<a id="line623"></a><span class="lineno"> 623</span><span class="line">        self.__value     = value</span>
<a id="line624"></a><span class="lineno"> 624</span><span class="line">        self.__labelKind = labelKind</span>
<a id="line625"></a><span class="lineno"> 625</span>
<a id="line626"></a><span class="lineno"> 626</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/CaseLabel.html#accept">accept</a>(self, visitor): visitor.visitCaseLabel(self)</span>
<a id="line627"></a><span class="lineno"> 627</span>
<a id="line628"></a><span class="lineno"> 628</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/CaseLabel.html#default">default</a>(self): <span class="py-keyword">return</span> self.__default</span>
<a id="line629"></a><span class="lineno"> 629</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/CaseLabel.html#value">value</a>(self): <span class="py-keyword">return</span> self.__value</span>
<a id="line630"></a><span class="lineno"> 630</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/CaseLabel.html#labelKind">labelKind</a>(self): <span class="py-keyword">return</span> self.__labelKind</span>
<a id="line631"></a><span class="lineno"> 631</span>
<a id="line632"></a><span class="lineno"> 632</span>
<a id="line633"></a><span class="lineno"> 633</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/UnionCase.html">UnionCase</a> (Decl):</span>
<a id="line634"></a><span class="lineno"> 634</span><span class="line">    <span class="py-string">&quot;&quot;&quot;One case within a union (Decl)</span></span>
<a id="line635"></a><span class="lineno"> 635</span><span class="line"><span class="py-string"/></span>
<a id="line636"></a><span class="lineno"> 636</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line637"></a><span class="lineno"> 637</span><span class="line"><span class="py-string"/></span>
<a id="line638"></a><span class="lineno"> 638</span><span class="line"><span class="py-string">  labels()     -- list of CaseLabel objects.</span></span>
<a id="line639"></a><span class="lineno"> 639</span><span class="line"><span class="py-string">  caseType()   -- IdlType.Type object for the case type.</span></span>
<a id="line640"></a><span class="lineno"> 640</span><span class="line"><span class="py-string">  constrType() -- boolean: true if the case type was constructed</span></span>
<a id="line641"></a><span class="lineno"> 641</span><span class="line"><span class="py-string">                  within the case.</span></span>
<a id="line642"></a><span class="lineno"> 642</span><span class="line"><span class="py-string">  declarator() -- Declarator object&quot;&quot;&quot;</span></span>
<a id="line643"></a><span class="lineno"> 643</span>
<a id="line644"></a><span class="lineno"> 644</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/UnionCase.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line645"></a><span class="lineno"> 645</span><span class="line">                 labels, caseType, constrType, declarator):</span>
<a id="line646"></a><span class="lineno"> 646</span>
<a id="line647"></a><span class="lineno"> 647</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line648"></a><span class="lineno"> 648</span>
<a id="line649"></a><span class="lineno"> 649</span><span class="line">        self.__labels     = labels</span>
<a id="line650"></a><span class="lineno"> 650</span><span class="line">        self.__caseType   = caseType</span>
<a id="line651"></a><span class="lineno"> 651</span><span class="line">        self.__constrType = constrType</span>
<a id="line652"></a><span class="lineno"> 652</span><span class="line">        self.__declarator = declarator</span>
<a id="line653"></a><span class="lineno"> 653</span>
<a id="line654"></a><span class="lineno"> 654</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/UnionCase.html#accept">accept</a>(self, visitor): visitor.visitUnionCase(self)</span>
<a id="line655"></a><span class="lineno"> 655</span>
<a id="line656"></a><span class="lineno"> 656</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/UnionCase.html#labels">labels</a>(self):     <span class="py-keyword">return</span> self.__labels</span>
<a id="line657"></a><span class="lineno"> 657</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/UnionCase.html#caseType">caseType</a>(self):   <span class="py-keyword">return</span> self.__caseType</span>
<a id="line658"></a><span class="lineno"> 658</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/UnionCase.html#constrType">constrType</a>(self): <span class="py-keyword">return</span> self.__constrType</span>
<a id="line659"></a><span class="lineno"> 659</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/UnionCase.html#declarator">declarator</a>(self): <span class="py-keyword">return</span> self.__declarator</span>
<a id="line660"></a><span class="lineno"> 660</span>
<a id="line661"></a><span class="lineno"> 661</span>
<a id="line662"></a><span class="lineno"> 662</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Union.html">Union</a> (Decl, DeclRepoId):</span>
<a id="line663"></a><span class="lineno"> 663</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Union declaration (Decl, DeclRepoId)</span></span>
<a id="line664"></a><span class="lineno"> 664</span><span class="line"><span class="py-string"/></span>
<a id="line665"></a><span class="lineno"> 665</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line666"></a><span class="lineno"> 666</span><span class="line"><span class="py-string"/></span>
<a id="line667"></a><span class="lineno"> 667</span><span class="line"><span class="py-string">  switchType() -- IdlType.Type object corresponding to the switch type.</span></span>
<a id="line668"></a><span class="lineno"> 668</span><span class="line"><span class="py-string">  constrType() -- boolean: true if the switch type was declared within</span></span>
<a id="line669"></a><span class="lineno"> 669</span><span class="line"><span class="py-string">                  the switch statement. Only possible for Enums.</span></span>
<a id="line670"></a><span class="lineno"> 670</span><span class="line"><span class="py-string">  cases()      -- list of UnionCase objects.</span></span>
<a id="line671"></a><span class="lineno"> 671</span><span class="line"><span class="py-string">  recursive()  -- boolean: true if the union is recursive.&quot;&quot;&quot;</span></span>
<a id="line672"></a><span class="lineno"> 672</span>
<a id="line673"></a><span class="lineno"> 673</span>
<a id="line674"></a><span class="lineno"> 674</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Union.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line675"></a><span class="lineno"> 675</span><span class="line">                 identifier, scopedName, repoId,</span>
<a id="line676"></a><span class="lineno"> 676</span><span class="line">                 switchType, constrType, recursive):</span>
<a id="line677"></a><span class="lineno"> 677</span>
<a id="line678"></a><span class="lineno"> 678</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line679"></a><span class="lineno"> 679</span><span class="line">        DeclRepoId.__init__(self, identifier, scopedName, repoId)</span>
<a id="line680"></a><span class="lineno"> 680</span>
<a id="line681"></a><span class="lineno"> 681</span><span class="line">        self.__switchType = switchType</span>
<a id="line682"></a><span class="lineno"> 682</span><span class="line">        self.__constrType = constrType</span>
<a id="line683"></a><span class="lineno"> 683</span><span class="line">        self.__recursive  = recursive</span>
<a id="line684"></a><span class="lineno"> 684</span>
<a id="line685"></a><span class="lineno"> 685</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Union.html#_setCases">_setCases</a>(self, cases):</span>
<a id="line686"></a><span class="lineno"> 686</span><span class="line">        self.__cases = cases</span>
<a id="line687"></a><span class="lineno"> 687</span>
<a id="line688"></a><span class="lineno"> 688</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Union.html#accept">accept</a>(self, visitor): visitor.visitUnion(self)</span>
<a id="line689"></a><span class="lineno"> 689</span>
<a id="line690"></a><span class="lineno"> 690</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Union.html#switchType">switchType</a>(self): <span class="py-keyword">return</span> self.__switchType</span>
<a id="line691"></a><span class="lineno"> 691</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Union.html#constrType">constrType</a>(self): <span class="py-keyword">return</span> self.__constrType</span>
<a id="line692"></a><span class="lineno"> 692</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Union.html#cases">cases</a>(self):      <span class="py-keyword">return</span> self.__cases</span>
<a id="line693"></a><span class="lineno"> 693</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Union.html#recursive">recursive</a>(self):  <span class="py-keyword">return</span> self.__recursive</span>
<a id="line694"></a><span class="lineno"> 694</span>
<a id="line695"></a><span class="lineno"> 695</span>
<a id="line696"></a><span class="lineno"> 696</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/UnionForward.html">UnionForward</a> (Decl, DeclRepoId):</span>
<a id="line697"></a><span class="lineno"> 697</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Union forward declaration (Decl, DeclRepoId)</span></span>
<a id="line698"></a><span class="lineno"> 698</span><span class="line"><span class="py-string"/></span>
<a id="line699"></a><span class="lineno"> 699</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line700"></a><span class="lineno"> 700</span><span class="line"><span class="py-string"/></span>
<a id="line701"></a><span class="lineno"> 701</span><span class="line"><span class="py-string">  fullDecl() -- full definition of the union.&quot;&quot;&quot;</span></span>
<a id="line702"></a><span class="lineno"> 702</span>
<a id="line703"></a><span class="lineno"> 703</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/UnionForward.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line704"></a><span class="lineno"> 704</span><span class="line">                 identifier, scopedName, repoId):</span>
<a id="line705"></a><span class="lineno"> 705</span>
<a id="line706"></a><span class="lineno"> 706</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line707"></a><span class="lineno"> 707</span><span class="line">        DeclRepoId.__init__(self, identifier, scopedName, repoId)</span>
<a id="line708"></a><span class="lineno"> 708</span>
<a id="line709"></a><span class="lineno"> 709</span><span class="line">        self._fullDecl = None</span>
<a id="line710"></a><span class="lineno"> 710</span><span class="line">        self._more     = []</span>
<a id="line711"></a><span class="lineno"> 711</span>
<a id="line712"></a><span class="lineno"> 712</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/UnionForward.html#accept">accept</a>(self, visitor): visitor.visitUnionForward(self)</span>
<a id="line713"></a><span class="lineno"> 713</span>
<a id="line714"></a><span class="lineno"> 714</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/UnionForward.html#fullDecl">fullDecl</a>(self): <span class="py-keyword">return</span> self._fullDecl</span>
<a id="line715"></a><span class="lineno"> 715</span>
<a id="line716"></a><span class="lineno"> 716</span>
<a id="line717"></a><span class="lineno"> 717</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Enumerator.html">Enumerator</a> (Decl, DeclRepoId):</span>
<a id="line718"></a><span class="lineno"> 718</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Enumerator of an Enum (Decl, DeclRepoId)</span></span>
<a id="line719"></a><span class="lineno"> 719</span><span class="line"><span class="py-string"/></span>
<a id="line720"></a><span class="lineno"> 720</span><span class="line"><span class="py-string">Function:</span></span>
<a id="line721"></a><span class="lineno"> 721</span><span class="line"><span class="py-string"/></span>
<a id="line722"></a><span class="lineno"> 722</span><span class="line"><span class="py-string">  value() -- integer value of enumerator, as marshalled.&quot;&quot;&quot;</span></span>
<a id="line723"></a><span class="lineno"> 723</span>
<a id="line724"></a><span class="lineno"> 724</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Enumerator.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line725"></a><span class="lineno"> 725</span><span class="line">                 identifier, scopedName, repoId, value):</span>
<a id="line726"></a><span class="lineno"> 726</span>
<a id="line727"></a><span class="lineno"> 727</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line728"></a><span class="lineno"> 728</span><span class="line">        DeclRepoId.__init__(self, identifier, scopedName, repoId)</span>
<a id="line729"></a><span class="lineno"> 729</span>
<a id="line730"></a><span class="lineno"> 730</span><span class="line">        self.__value = value</span>
<a id="line731"></a><span class="lineno"> 731</span>
<a id="line732"></a><span class="lineno"> 732</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Enumerator.html#accept">accept</a>(self, visitor): visitor.visitEnumerator(self)</span>
<a id="line733"></a><span class="lineno"> 733</span>
<a id="line734"></a><span class="lineno"> 734</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Enumerator.html#value">value</a>(self): <span class="py-keyword">return</span> self.__value</span>
<a id="line735"></a><span class="lineno"> 735</span>
<a id="line736"></a><span class="lineno"> 736</span>
<a id="line737"></a><span class="lineno"> 737</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Enum.html">Enum</a> (Decl, DeclRepoId):</span>
<a id="line738"></a><span class="lineno"> 738</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Enum declaration (Decl, DeclRepoId)</span></span>
<a id="line739"></a><span class="lineno"> 739</span><span class="line"><span class="py-string"/></span>
<a id="line740"></a><span class="lineno"> 740</span><span class="line"><span class="py-string">Function:</span></span>
<a id="line741"></a><span class="lineno"> 741</span><span class="line"><span class="py-string"/></span>
<a id="line742"></a><span class="lineno"> 742</span><span class="line"><span class="py-string">  enumerators() -- list of Enumerator objects.&quot;&quot;&quot;</span></span>
<a id="line743"></a><span class="lineno"> 743</span>
<a id="line744"></a><span class="lineno"> 744</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Enum.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line745"></a><span class="lineno"> 745</span><span class="line">                 identifier, scopedName, repoId,</span>
<a id="line746"></a><span class="lineno"> 746</span><span class="line">                 enumerators):</span>
<a id="line747"></a><span class="lineno"> 747</span>
<a id="line748"></a><span class="lineno"> 748</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line749"></a><span class="lineno"> 749</span><span class="line">        DeclRepoId.__init__(self, identifier, scopedName, repoId)</span>
<a id="line750"></a><span class="lineno"> 750</span>
<a id="line751"></a><span class="lineno"> 751</span><span class="line">        self.__enumerators = enumerators</span>
<a id="line752"></a><span class="lineno"> 752</span>
<a id="line753"></a><span class="lineno"> 753</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Enum.html#accept">accept</a>(self, visitor): visitor.visitEnum(self)</span>
<a id="line754"></a><span class="lineno"> 754</span>
<a id="line755"></a><span class="lineno"> 755</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Enum.html#enumerators">enumerators</a>(self): <span class="py-keyword">return</span> self.__enumerators</span>
<a id="line756"></a><span class="lineno"> 756</span>
<a id="line757"></a><span class="lineno"> 757</span>
<a id="line758"></a><span class="lineno"> 758</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Attribute.html">Attribute</a> (Decl):</span>
<a id="line759"></a><span class="lineno"> 759</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Attribute declaration (Decl)</span></span>
<a id="line760"></a><span class="lineno"> 760</span><span class="line"><span class="py-string"/></span>
<a id="line761"></a><span class="lineno"> 761</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line762"></a><span class="lineno"> 762</span><span class="line"><span class="py-string"/></span>
<a id="line763"></a><span class="lineno"> 763</span><span class="line"><span class="py-string">  readonly()    -- boolean: true if the attribute is read only.</span></span>
<a id="line764"></a><span class="lineno"> 764</span><span class="line"><span class="py-string">  attrType()    -- IdlType.Type object for the attribute's type.</span></span>
<a id="line765"></a><span class="lineno"> 765</span><span class="line"><span class="py-string">  declarators() -- list of the attribute's declarators.</span></span>
<a id="line766"></a><span class="lineno"> 766</span><span class="line"><span class="py-string">  identifiers() -- list of strings containing the attribute identifiers</span></span>
<a id="line767"></a><span class="lineno"> 767</span><span class="line"><span class="py-string">                     (equivalent to the identifiers inside the declarators).&quot;&quot;&quot;</span></span>
<a id="line768"></a><span class="lineno"> 768</span>
<a id="line769"></a><span class="lineno"> 769</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Attribute.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line770"></a><span class="lineno"> 770</span><span class="line">                 readonly, attrType, declarators):</span>
<a id="line771"></a><span class="lineno"> 771</span>
<a id="line772"></a><span class="lineno"> 772</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line773"></a><span class="lineno"> 773</span>
<a id="line774"></a><span class="lineno"> 774</span><span class="line">        self.__readonly    = readonly</span>
<a id="line775"></a><span class="lineno"> 775</span><span class="line">        self.__attrType    = attrType</span>
<a id="line776"></a><span class="lineno"> 776</span><span class="line">        self.__declarators = declarators</span>
<a id="line777"></a><span class="lineno"> 777</span><span class="line">        self.__identifiers = map(<span class="py-keyword">lambda</span> d: d.identifier(), declarators)</span>
<a id="line778"></a><span class="lineno"> 778</span><span class="line">        <span class="py-comment">#print line, &quot;Attribute init:&quot;, readonly, identifiers</span></span>
<a id="line779"></a><span class="lineno"> 779</span>
<a id="line780"></a><span class="lineno"> 780</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Attribute.html#accept">accept</a>(self, visitor): visitor.visitAttribute(self)</span>
<a id="line781"></a><span class="lineno"> 781</span>
<a id="line782"></a><span class="lineno"> 782</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Attribute.html#readonly">readonly</a>(self):    <span class="py-keyword">return</span> self.__readonly</span>
<a id="line783"></a><span class="lineno"> 783</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Attribute.html#attrType">attrType</a>(self):    <span class="py-keyword">return</span> self.__attrType</span>
<a id="line784"></a><span class="lineno"> 784</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Attribute.html#declarators">declarators</a>(self): <span class="py-keyword">return</span> self.__declarators</span>
<a id="line785"></a><span class="lineno"> 785</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Attribute.html#identifiers">identifiers</a>(self): <span class="py-keyword">return</span> self.__identifiers</span>
<a id="line786"></a><span class="lineno"> 786</span>
<a id="line787"></a><span class="lineno"> 787</span>
<a id="line788"></a><span class="lineno"> 788</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Parameter.html">Parameter</a> (Decl):</span>
<a id="line789"></a><span class="lineno"> 789</span><span class="line">    <span class="py-string">&quot;&quot;&quot;A Parameter of an operation or factory specifier (Decl)</span></span>
<a id="line790"></a><span class="lineno"> 790</span><span class="line"><span class="py-string"/></span>
<a id="line791"></a><span class="lineno"> 791</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line792"></a><span class="lineno"> 792</span><span class="line"><span class="py-string"/></span>
<a id="line793"></a><span class="lineno"> 793</span><span class="line"><span class="py-string">  direction()  -- integer: 0 == in, 1 == out, 2 == inout.</span></span>
<a id="line794"></a><span class="lineno"> 794</span><span class="line"><span class="py-string">  is_in()      -- boolean: true if in or inout.</span></span>
<a id="line795"></a><span class="lineno"> 795</span><span class="line"><span class="py-string">  is_out()     -- boolean: true if out or inout.</span></span>
<a id="line796"></a><span class="lineno"> 796</span><span class="line"><span class="py-string">  paramType()  -- IdlType.Type object for the parameter type.</span></span>
<a id="line797"></a><span class="lineno"> 797</span><span class="line"><span class="py-string">  identifier() -- string of parameter identifier.&quot;&quot;&quot;</span></span>
<a id="line798"></a><span class="lineno"> 798</span>
<a id="line799"></a><span class="lineno"> 799</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Parameter.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line800"></a><span class="lineno"> 800</span><span class="line">                 direction, paramType, identifier):</span>
<a id="line801"></a><span class="lineno"> 801</span>
<a id="line802"></a><span class="lineno"> 802</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line803"></a><span class="lineno"> 803</span>
<a id="line804"></a><span class="lineno"> 804</span><span class="line">        self.__direction  = direction</span>
<a id="line805"></a><span class="lineno"> 805</span><span class="line">        self.__is_in      = (direction == 0 <span class="py-keyword">or</span> direction == 2)</span>
<a id="line806"></a><span class="lineno"> 806</span><span class="line">        self.__is_out     = (direction == 1 <span class="py-keyword">or</span> direction == 2)</span>
<a id="line807"></a><span class="lineno"> 807</span><span class="line">        self.__paramType  = paramType</span>
<a id="line808"></a><span class="lineno"> 808</span><span class="line">        self.__identifier = identifier</span>
<a id="line809"></a><span class="lineno"> 809</span><span class="line">        <span class="py-comment">#print line, &quot;Parameter init:&quot;, identifier</span></span>
<a id="line810"></a><span class="lineno"> 810</span>
<a id="line811"></a><span class="lineno"> 811</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Parameter.html#accept">accept</a>(self, visitor): visitor.visitParameter(self)</span>
<a id="line812"></a><span class="lineno"> 812</span>
<a id="line813"></a><span class="lineno"> 813</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Parameter.html#direction">direction</a>(self):  <span class="py-keyword">return</span> self.__direction</span>
<a id="line814"></a><span class="lineno"> 814</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Parameter.html#is_in">is_in</a>(self):      <span class="py-keyword">return</span> self.__is_in</span>
<a id="line815"></a><span class="lineno"> 815</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Parameter.html#is_out">is_out</a>(self):     <span class="py-keyword">return</span> self.__is_out</span>
<a id="line816"></a><span class="lineno"> 816</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Parameter.html#paramType">paramType</a>(self):  <span class="py-keyword">return</span> self.__paramType</span>
<a id="line817"></a><span class="lineno"> 817</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Parameter.html#identifier">identifier</a>(self): <span class="py-keyword">return</span> self.__identifier</span>
<a id="line818"></a><span class="lineno"> 818</span>
<a id="line819"></a><span class="lineno"> 819</span>
<a id="line820"></a><span class="lineno"> 820</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Operation.html">Operation</a> (Decl, DeclRepoId):</span>
<a id="line821"></a><span class="lineno"> 821</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Operation declaration (Decl, DeclRepoId)</span></span>
<a id="line822"></a><span class="lineno"> 822</span><span class="line"><span class="py-string"/></span>
<a id="line823"></a><span class="lineno"> 823</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line824"></a><span class="lineno"> 824</span><span class="line"><span class="py-string"/></span>
<a id="line825"></a><span class="lineno"> 825</span><span class="line"><span class="py-string">  oneway()     -- boolean: true if operation is one way.</span></span>
<a id="line826"></a><span class="lineno"> 826</span><span class="line"><span class="py-string">  returnType() -- IdlType.Type object for return type.</span></span>
<a id="line827"></a><span class="lineno"> 827</span><span class="line"><span class="py-string">  parameters() -- list of Parameter objects.</span></span>
<a id="line828"></a><span class="lineno"> 828</span><span class="line"><span class="py-string">  raises()     -- list of Exception objects.</span></span>
<a id="line829"></a><span class="lineno"> 829</span><span class="line"><span class="py-string">  contexts()   -- list of strings for context expressions.&quot;&quot;&quot;</span></span>
<a id="line830"></a><span class="lineno"> 830</span>
<a id="line831"></a><span class="lineno"> 831</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Operation.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line832"></a><span class="lineno"> 832</span><span class="line">                 oneway, returnType, identifier, scopedName, repoId,</span>
<a id="line833"></a><span class="lineno"> 833</span><span class="line">                 parameters, raises, contexts):</span>
<a id="line834"></a><span class="lineno"> 834</span>
<a id="line835"></a><span class="lineno"> 835</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line836"></a><span class="lineno"> 836</span><span class="line">        DeclRepoId.__init__(self, identifier, scopedName, repoId)</span>
<a id="line837"></a><span class="lineno"> 837</span>
<a id="line838"></a><span class="lineno"> 838</span><span class="line">        self.__oneway     = oneway</span>
<a id="line839"></a><span class="lineno"> 839</span><span class="line">        self.__returnType = returnType</span>
<a id="line840"></a><span class="lineno"> 840</span><span class="line">        self.__parameters = parameters</span>
<a id="line841"></a><span class="lineno"> 841</span><span class="line">        self.__raises     = raises</span>
<a id="line842"></a><span class="lineno"> 842</span><span class="line">        self.__contexts   = contexts</span>
<a id="line843"></a><span class="lineno"> 843</span><span class="line">        <span class="py-comment">#print line, &quot;Operation init:&quot;, identifier, raises, contexts</span></span>
<a id="line844"></a><span class="lineno"> 844</span>
<a id="line845"></a><span class="lineno"> 845</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Operation.html#accept">accept</a>(self, visitor): visitor.visitOperation(self)</span>
<a id="line846"></a><span class="lineno"> 846</span>
<a id="line847"></a><span class="lineno"> 847</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Operation.html#oneway">oneway</a>(self):     <span class="py-keyword">return</span> self.__oneway</span>
<a id="line848"></a><span class="lineno"> 848</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Operation.html#returnType">returnType</a>(self): <span class="py-keyword">return</span> self.__returnType</span>
<a id="line849"></a><span class="lineno"> 849</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Operation.html#parameters">parameters</a>(self): <span class="py-keyword">return</span> self.__parameters</span>
<a id="line850"></a><span class="lineno"> 850</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Operation.html#raises">raises</a>(self):     <span class="py-keyword">return</span> self.__raises</span>
<a id="line851"></a><span class="lineno"> 851</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Operation.html#contexts">contexts</a>(self):   <span class="py-keyword">return</span> self.__contexts</span>
<a id="line852"></a><span class="lineno"> 852</span>
<a id="line853"></a><span class="lineno"> 853</span>
<a id="line854"></a><span class="lineno"> 854</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Native.html">Native</a> (Decl, DeclRepoId):</span>
<a id="line855"></a><span class="lineno"> 855</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Native declaration (Decl, DeclRepoId)</span></span>
<a id="line856"></a><span class="lineno"> 856</span><span class="line"><span class="py-string"/></span>
<a id="line857"></a><span class="lineno"> 857</span><span class="line"><span class="py-string">Native should not be used in normal IDL.</span></span>
<a id="line858"></a><span class="lineno"> 858</span><span class="line"><span class="py-string"/></span>
<a id="line859"></a><span class="lineno"> 859</span><span class="line"><span class="py-string">No non-inherited functions.&quot;&quot;&quot;</span></span>
<a id="line860"></a><span class="lineno"> 860</span>
<a id="line861"></a><span class="lineno"> 861</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Native.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line862"></a><span class="lineno"> 862</span><span class="line">                 identifier, scopedName, repoId):</span>
<a id="line863"></a><span class="lineno"> 863</span>
<a id="line864"></a><span class="lineno"> 864</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line865"></a><span class="lineno"> 865</span><span class="line">        DeclRepoId.__init__(self, identifier, scopedName, repoId)</span>
<a id="line866"></a><span class="lineno"> 866</span>
<a id="line867"></a><span class="lineno"> 867</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Native.html#accept">accept</a>(self, visitor): visitor.visitNative(self)</span>
<a id="line868"></a><span class="lineno"> 868</span>
<a id="line869"></a><span class="lineno"> 869</span>
<a id="line870"></a><span class="lineno"> 870</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/StateMember.html">StateMember</a> (Decl):</span>
<a id="line871"></a><span class="lineno"> 871</span><span class="line">    <span class="py-string">&quot;&quot;&quot;State member of a valuetype (Decl)</span></span>
<a id="line872"></a><span class="lineno"> 872</span><span class="line"><span class="py-string"/></span>
<a id="line873"></a><span class="lineno"> 873</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line874"></a><span class="lineno"> 874</span><span class="line"><span class="py-string"/></span>
<a id="line875"></a><span class="lineno"> 875</span><span class="line"><span class="py-string">  memberAccess() -- integer: 0 == public, 1 == private.</span></span>
<a id="line876"></a><span class="lineno"> 876</span><span class="line"><span class="py-string">  memberType()   -- IdlType.Type object for member type.</span></span>
<a id="line877"></a><span class="lineno"> 877</span><span class="line"><span class="py-string">  constrType()   -- boolean: true if member type is declared within</span></span>
<a id="line878"></a><span class="lineno"> 878</span><span class="line"><span class="py-string">                    the StateMember.</span></span>
<a id="line879"></a><span class="lineno"> 879</span><span class="line"><span class="py-string">  declarators()  -- list of Declarator objects.&quot;&quot;&quot;</span></span>
<a id="line880"></a><span class="lineno"> 880</span>
<a id="line881"></a><span class="lineno"> 881</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/StateMember.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line882"></a><span class="lineno"> 882</span><span class="line">                 memberAccess, memberType, constrType, declarators):</span>
<a id="line883"></a><span class="lineno"> 883</span>
<a id="line884"></a><span class="lineno"> 884</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line885"></a><span class="lineno"> 885</span>
<a id="line886"></a><span class="lineno"> 886</span><span class="line">        self.__memberAccess = memberAccess</span>
<a id="line887"></a><span class="lineno"> 887</span><span class="line">        self.__memberType   = memberType</span>
<a id="line888"></a><span class="lineno"> 888</span><span class="line">        self.__constrType   = constrType</span>
<a id="line889"></a><span class="lineno"> 889</span><span class="line">        self.__declarators  = declarators</span>
<a id="line890"></a><span class="lineno"> 890</span>
<a id="line891"></a><span class="lineno"> 891</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/StateMember.html#accept">accept</a>(self, visitor): visitor.visitStateMember(self)</span>
<a id="line892"></a><span class="lineno"> 892</span>
<a id="line893"></a><span class="lineno"> 893</span><span class="line">    <span class="py-comment"># Access specifier: 0 for public, 1 for private</span></span>
<a id="line894"></a><span class="lineno"> 894</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/StateMember.html#memberAccess">memberAccess</a>(self): <span class="py-keyword">return</span> self.__memberAccess</span>
<a id="line895"></a><span class="lineno"> 895</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/StateMember.html#memberType">memberType</a>(self):   <span class="py-keyword">return</span> self.__memberType</span>
<a id="line896"></a><span class="lineno"> 896</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/StateMember.html#constrType">constrType</a>(self):   <span class="py-keyword">return</span> self.__constrType</span>
<a id="line897"></a><span class="lineno"> 897</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/StateMember.html#declarators">declarators</a>(self):  <span class="py-keyword">return</span> self.__declarators</span>
<a id="line898"></a><span class="lineno"> 898</span>
<a id="line899"></a><span class="lineno"> 899</span>
<a id="line900"></a><span class="lineno"> 900</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Factory.html">Factory</a> (Decl):</span>
<a id="line901"></a><span class="lineno"> 901</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Factory method of valuetype (Decl)</span></span>
<a id="line902"></a><span class="lineno"> 902</span><span class="line"><span class="py-string"/></span>
<a id="line903"></a><span class="lineno"> 903</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line904"></a><span class="lineno"> 904</span><span class="line"><span class="py-string"/></span>
<a id="line905"></a><span class="lineno"> 905</span><span class="line"><span class="py-string">  identifier() -- string.</span></span>
<a id="line906"></a><span class="lineno"> 906</span><span class="line"><span class="py-string">  parameters() -- list of Parameter objects.</span></span>
<a id="line907"></a><span class="lineno"> 907</span><span class="line"><span class="py-string">  raises()     -- list of Exception objects.&quot;&quot;&quot;</span></span>
<a id="line908"></a><span class="lineno"> 908</span>
<a id="line909"></a><span class="lineno"> 909</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Factory.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line910"></a><span class="lineno"> 910</span><span class="line">                 identifier, parameters, raises):</span>
<a id="line911"></a><span class="lineno"> 911</span>
<a id="line912"></a><span class="lineno"> 912</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line913"></a><span class="lineno"> 913</span>
<a id="line914"></a><span class="lineno"> 914</span><span class="line">        self.__identifier = identifier</span>
<a id="line915"></a><span class="lineno"> 915</span><span class="line">        self.__parameters = parameters</span>
<a id="line916"></a><span class="lineno"> 916</span><span class="line">        self.__raises     = raises</span>
<a id="line917"></a><span class="lineno"> 917</span>
<a id="line918"></a><span class="lineno"> 918</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Factory.html#accept">accept</a>(self, visitor): visitor.visitFactory(self)</span>
<a id="line919"></a><span class="lineno"> 919</span>
<a id="line920"></a><span class="lineno"> 920</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Factory.html#identifier">identifier</a>(self): <span class="py-keyword">return</span> self.__identifier</span>
<a id="line921"></a><span class="lineno"> 921</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Factory.html#parameters">parameters</a>(self): <span class="py-keyword">return</span> self.__parameters</span>
<a id="line922"></a><span class="lineno"> 922</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Factory.html#raises">raises</a>(self):     <span class="py-keyword">return</span> self.__raises</span>
<a id="line923"></a><span class="lineno"> 923</span>
<a id="line924"></a><span class="lineno"> 924</span>
<a id="line925"></a><span class="lineno"> 925</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/ValueForward.html">ValueForward</a> (Decl, DeclRepoId):</span>
<a id="line926"></a><span class="lineno"> 926</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Forward declared valuetype (Decl, DeclRepoId)</span></span>
<a id="line927"></a><span class="lineno"> 927</span><span class="line"><span class="py-string"/></span>
<a id="line928"></a><span class="lineno"> 928</span><span class="line"><span class="py-string">Function:</span></span>
<a id="line929"></a><span class="lineno"> 929</span><span class="line"><span class="py-string"/></span>
<a id="line930"></a><span class="lineno"> 930</span><span class="line"><span class="py-string">  abstract() -- boolean: true if declared abstract.</span></span>
<a id="line931"></a><span class="lineno"> 931</span><span class="line"><span class="py-string">  fullDecl() -- Value or ValueAbs object corresponding to the full</span></span>
<a id="line932"></a><span class="lineno"> 932</span><span class="line"><span class="py-string">                valuetype declaration or None if there is no full</span></span>
<a id="line933"></a><span class="lineno"> 933</span><span class="line"><span class="py-string">                declaration.&quot;&quot;&quot;</span></span>
<a id="line934"></a><span class="lineno"> 934</span>
<a id="line935"></a><span class="lineno"> 935</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/ValueForward.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line936"></a><span class="lineno"> 936</span><span class="line">                 identifier, scopedName, repoId,</span>
<a id="line937"></a><span class="lineno"> 937</span><span class="line">                 abstract):</span>
<a id="line938"></a><span class="lineno"> 938</span>
<a id="line939"></a><span class="lineno"> 939</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line940"></a><span class="lineno"> 940</span><span class="line">        DeclRepoId.__init__(self, identifier, scopedName, repoId)</span>
<a id="line941"></a><span class="lineno"> 941</span>
<a id="line942"></a><span class="lineno"> 942</span><span class="line">        self.__abstract = abstract</span>
<a id="line943"></a><span class="lineno"> 943</span><span class="line">        self._fullDecl  = None</span>
<a id="line944"></a><span class="lineno"> 944</span><span class="line">        self._more      = []</span>
<a id="line945"></a><span class="lineno"> 945</span>
<a id="line946"></a><span class="lineno"> 946</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/ValueForward.html#accept">accept</a>(self, visitor): visitor.visitValueForward(self)</span>
<a id="line947"></a><span class="lineno"> 947</span>
<a id="line948"></a><span class="lineno"> 948</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/ValueForward.html#abstract">abstract</a>(self): <span class="py-keyword">return</span> self.__abstract</span>
<a id="line949"></a><span class="lineno"> 949</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/ValueForward.html#fullDecl">fullDecl</a>(self): <span class="py-keyword">return</span> self._fullDecl</span>
<a id="line950"></a><span class="lineno"> 950</span>
<a id="line951"></a><span class="lineno"> 951</span>
<a id="line952"></a><span class="lineno"> 952</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/ValueBox.html">ValueBox</a> (Decl, DeclRepoId):</span>
<a id="line953"></a><span class="lineno"> 953</span><span class="line">    <span class="py-string">&quot;&quot;&quot;ValueBox declaration (Decl, DeclRepoId)</span></span>
<a id="line954"></a><span class="lineno"> 954</span><span class="line"><span class="py-string"/></span>
<a id="line955"></a><span class="lineno"> 955</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line956"></a><span class="lineno"> 956</span><span class="line"><span class="py-string"/></span>
<a id="line957"></a><span class="lineno"> 957</span><span class="line"><span class="py-string">  boxedType()  -- IdlType.Type object for boxed type.</span></span>
<a id="line958"></a><span class="lineno"> 958</span><span class="line"><span class="py-string">  constrType() -- boolean: true if boxed type is declared inside the</span></span>
<a id="line959"></a><span class="lineno"> 959</span><span class="line"><span class="py-string">                  ValueBox declaration.&quot;&quot;&quot;</span></span>
<a id="line960"></a><span class="lineno"> 960</span>
<a id="line961"></a><span class="lineno"> 961</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/ValueBox.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line962"></a><span class="lineno"> 962</span><span class="line">                 identifier, scopedName, repoId,</span>
<a id="line963"></a><span class="lineno"> 963</span><span class="line">                 boxedType, constrType):</span>
<a id="line964"></a><span class="lineno"> 964</span>
<a id="line965"></a><span class="lineno"> 965</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line966"></a><span class="lineno"> 966</span><span class="line">        DeclRepoId.__init__(self, identifier, scopedName, repoId)</span>
<a id="line967"></a><span class="lineno"> 967</span>
<a id="line968"></a><span class="lineno"> 968</span><span class="line">        self.__boxedType  = boxedType</span>
<a id="line969"></a><span class="lineno"> 969</span><span class="line">        self.__constrType = constrType</span>
<a id="line970"></a><span class="lineno"> 970</span>
<a id="line971"></a><span class="lineno"> 971</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/ValueBox.html#accept">accept</a>(self, visitor): visitor.visitValueBox(self)</span>
<a id="line972"></a><span class="lineno"> 972</span>
<a id="line973"></a><span class="lineno"> 973</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/ValueBox.html#boxedType">boxedType</a>(self):  <span class="py-keyword">return</span> self.__boxedType</span>
<a id="line974"></a><span class="lineno"> 974</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/ValueBox.html#constrType">constrType</a>(self): <span class="py-keyword">return</span> self.__constrType</span>
<a id="line975"></a><span class="lineno"> 975</span>
<a id="line976"></a><span class="lineno"> 976</span>
<a id="line977"></a><span class="lineno"> 977</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/ValueAbs.html">ValueAbs</a> (Decl, DeclRepoId):</span>
<a id="line978"></a><span class="lineno"> 978</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Abstract valuetype declaration (Decl, DeclRepoId)</span></span>
<a id="line979"></a><span class="lineno"> 979</span><span class="line"><span class="py-string"/></span>
<a id="line980"></a><span class="lineno"> 980</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line981"></a><span class="lineno"> 981</span><span class="line"><span class="py-string"/></span>
<a id="line982"></a><span class="lineno"> 982</span><span class="line"><span class="py-string">  inherits()     -- list of ValueAbs objects from which this inherits.</span></span>
<a id="line983"></a><span class="lineno"> 983</span><span class="line"><span class="py-string">  supports()     -- list of Interface objects which this supports.</span></span>
<a id="line984"></a><span class="lineno"> 984</span><span class="line"><span class="py-string">  contents()     -- list of Decl objects for declarations within this</span></span>
<a id="line985"></a><span class="lineno"> 985</span><span class="line"><span class="py-string">                    valuetype.</span></span>
<a id="line986"></a><span class="lineno"> 986</span><span class="line"><span class="py-string">  declarations() -- subset of contents() containing types, constants</span></span>
<a id="line987"></a><span class="lineno"> 987</span><span class="line"><span class="py-string">                    and exceptions.</span></span>
<a id="line988"></a><span class="lineno"> 988</span><span class="line"><span class="py-string">  callables()    -- subset of contents() containing Operations and</span></span>
<a id="line989"></a><span class="lineno"> 989</span><span class="line"><span class="py-string">                    Attributes.</span></span>
<a id="line990"></a><span class="lineno"> 990</span><span class="line"><span class="py-string">  statemembers() -- subset of contents() containing StateMembers.</span></span>
<a id="line991"></a><span class="lineno"> 991</span><span class="line"><span class="py-string">  factories()    -- subset of contents() containing Factory instances.</span></span>
<a id="line992"></a><span class="lineno"> 992</span><span class="line"><span class="py-string">  &quot;&quot;&quot;</span></span>
<a id="line993"></a><span class="lineno"> 993</span>
<a id="line994"></a><span class="lineno"> 994</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/ValueAbs.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line995"></a><span class="lineno"> 995</span><span class="line">                 identifier, scopedName, repoId,</span>
<a id="line996"></a><span class="lineno"> 996</span><span class="line">                 inherits, supports):</span>
<a id="line997"></a><span class="lineno"> 997</span>
<a id="line998"></a><span class="lineno"> 998</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line999"></a><span class="lineno"> 999</span><span class="line">        DeclRepoId.__init__(self, identifier, scopedName, repoId)</span>
<a id="line1000"></a><span class="lineno">1000</span>
<a id="line1001"></a><span class="lineno">1001</span><span class="line">        self.__inherits     = inherits</span>
<a id="line1002"></a><span class="lineno">1002</span><span class="line">        self.__supports     = supports</span>
<a id="line1003"></a><span class="lineno">1003</span><span class="line">        self.__contents     = []</span>
<a id="line1004"></a><span class="lineno">1004</span><span class="line">        self.__declarations = []</span>
<a id="line1005"></a><span class="lineno">1005</span><span class="line">        self.__callables    = []</span>
<a id="line1006"></a><span class="lineno">1006</span><span class="line">        self.__statemembers = []</span>
<a id="line1007"></a><span class="lineno">1007</span><span class="line">        self.__factories    = []</span>
<a id="line1008"></a><span class="lineno">1008</span>
<a id="line1009"></a><span class="lineno">1009</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/ValueAbs.html#_setContents">_setContents</a>(self, contents):</span>
<a id="line1010"></a><span class="lineno">1010</span><span class="line">        self.__contents     = contents</span>
<a id="line1011"></a><span class="lineno">1011</span><span class="line">        self.__declarations = filter(<span class="py-keyword">lambda</span> c: <span class="py-keyword">not</span>(isinstance(c, Attribute) <span class="py-keyword">or</span></span>
<a id="line1012"></a><span class="lineno">1012</span><span class="line">                                      isinstance(c, Operation) <span class="py-keyword">or</span></span>
<a id="line1013"></a><span class="lineno">1013</span><span class="line">                                      isinstance(c, StateMember) <span class="py-keyword">or</span></span>
<a id="line1014"></a><span class="lineno">1014</span><span class="line">                                      isinstance(c, Factory)),</span>
<a id="line1015"></a><span class="lineno">1015</span><span class="line">                                     contents)</span>
<a id="line1016"></a><span class="lineno">1016</span><span class="line">        self.__callables    = filter(<span class="py-keyword">lambda</span> c:(isinstance(c, Attribute) <span class="py-keyword">or</span></span>
<a id="line1017"></a><span class="lineno">1017</span><span class="line">                                      isinstance(c, Operation)),</span>
<a id="line1018"></a><span class="lineno">1018</span><span class="line">                                     contents)</span>
<a id="line1019"></a><span class="lineno">1019</span>
<a id="line1020"></a><span class="lineno">1020</span><span class="line">        self.__statemembers = filter(<span class="py-keyword">lambda</span> c:(isinstance(c, StateMember)),</span>
<a id="line1021"></a><span class="lineno">1021</span><span class="line">                                     contents)</span>
<a id="line1022"></a><span class="lineno">1022</span>
<a id="line1023"></a><span class="lineno">1023</span><span class="line">        self.__factories    = filter(<span class="py-keyword">lambda</span> c:(isinstance(c, Factory)),</span>
<a id="line1024"></a><span class="lineno">1024</span><span class="line">                                     contents)</span>
<a id="line1025"></a><span class="lineno">1025</span>
<a id="line1026"></a><span class="lineno">1026</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/ValueAbs.html#accept">accept</a>(self, visitor): visitor.visitValueAbs(self)</span>
<a id="line1027"></a><span class="lineno">1027</span>
<a id="line1028"></a><span class="lineno">1028</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/ValueAbs.html#inherits">inherits</a>(self):     <span class="py-keyword">return</span> self.__inherits</span>
<a id="line1029"></a><span class="lineno">1029</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/ValueAbs.html#supports">supports</a>(self):     <span class="py-keyword">return</span> self.__supports</span>
<a id="line1030"></a><span class="lineno">1030</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/ValueAbs.html#contents">contents</a>(self):     <span class="py-keyword">return</span> self.__contents</span>
<a id="line1031"></a><span class="lineno">1031</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/ValueAbs.html#declarations">declarations</a>(self): <span class="py-keyword">return</span> self.__declarations</span>
<a id="line1032"></a><span class="lineno">1032</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/ValueAbs.html#callables">callables</a>(self):    <span class="py-keyword">return</span> self.__callables</span>
<a id="line1033"></a><span class="lineno">1033</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/ValueAbs.html#statemembers">statemembers</a>(self): <span class="py-keyword">return</span> self.__statemembers</span>
<a id="line1034"></a><span class="lineno">1034</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/ValueAbs.html#factories">factories</a>(self):    <span class="py-keyword">return</span> self.__factories</span>
<a id="line1035"></a><span class="lineno">1035</span>
<a id="line1036"></a><span class="lineno">1036</span>
<a id="line1037"></a><span class="lineno">1037</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Value.html">Value</a> (Decl, DeclRepoId):</span>
<a id="line1038"></a><span class="lineno">1038</span><span class="line">    <span class="py-string">&quot;&quot;&quot;valuetype declaration (Decl, DeclRepoId)</span></span>
<a id="line1039"></a><span class="lineno">1039</span><span class="line"><span class="py-string"/></span>
<a id="line1040"></a><span class="lineno">1040</span><span class="line"><span class="py-string">Functions:</span></span>
<a id="line1041"></a><span class="lineno">1041</span><span class="line"><span class="py-string"/></span>
<a id="line1042"></a><span class="lineno">1042</span><span class="line"><span class="py-string">  custom()       -- boolean: true if declared custom.</span></span>
<a id="line1043"></a><span class="lineno">1043</span><span class="line"><span class="py-string">  inherits()     -- list of valuetypes from which this inherits. The</span></span>
<a id="line1044"></a><span class="lineno">1044</span><span class="line"><span class="py-string">                    first may be a Value object or a ValueAbs object;</span></span>
<a id="line1045"></a><span class="lineno">1045</span><span class="line"><span class="py-string">                    any others will be ValueAbs objects.</span></span>
<a id="line1046"></a><span class="lineno">1046</span><span class="line"><span class="py-string">  truncatable()  -- boolean: true if the inherited Value is declared</span></span>
<a id="line1047"></a><span class="lineno">1047</span><span class="line"><span class="py-string">                    truncatable.</span></span>
<a id="line1048"></a><span class="lineno">1048</span><span class="line"><span class="py-string">  supports()     -- list of Interface objects which this supports.</span></span>
<a id="line1049"></a><span class="lineno">1049</span><span class="line"><span class="py-string">  contents()     -- list of Decl objects for all items declared within</span></span>
<a id="line1050"></a><span class="lineno">1050</span><span class="line"><span class="py-string">                    this valuetype.</span></span>
<a id="line1051"></a><span class="lineno">1051</span><span class="line"><span class="py-string">  declarations() -- subset of contents() containing types, constants</span></span>
<a id="line1052"></a><span class="lineno">1052</span><span class="line"><span class="py-string">                    and exceptions.</span></span>
<a id="line1053"></a><span class="lineno">1053</span><span class="line"><span class="py-string">  callables()    -- subset of contents() containing Operations and</span></span>
<a id="line1054"></a><span class="lineno">1054</span><span class="line"><span class="py-string">                    Attributes.</span></span>
<a id="line1055"></a><span class="lineno">1055</span><span class="line"><span class="py-string">  statemembers() -- subset of contents() containing StateMembers.</span></span>
<a id="line1056"></a><span class="lineno">1056</span><span class="line"><span class="py-string">  factories()    -- subset of contents() containing Factory instances.</span></span>
<a id="line1057"></a><span class="lineno">1057</span><span class="line"><span class="py-string">  &quot;&quot;&quot;</span></span>
<a id="line1058"></a><span class="lineno">1058</span>
<a id="line1059"></a><span class="lineno">1059</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Value.html#__init__">__init__</a>(self, file, line, mainFile, pragmas, comments,</span>
<a id="line1060"></a><span class="lineno">1060</span><span class="line">                 identifier, scopedName, repoId,</span>
<a id="line1061"></a><span class="lineno">1061</span><span class="line">                 custom, inherits, truncatable, supports):</span>
<a id="line1062"></a><span class="lineno">1062</span>
<a id="line1063"></a><span class="lineno">1063</span><span class="line">        Decl.__init__(self, file, line, mainFile, pragmas, comments)</span>
<a id="line1064"></a><span class="lineno">1064</span><span class="line">        DeclRepoId.__init__(self, identifier, scopedName, repoId)</span>
<a id="line1065"></a><span class="lineno">1065</span>
<a id="line1066"></a><span class="lineno">1066</span><span class="line">        self.__custom       = custom</span>
<a id="line1067"></a><span class="lineno">1067</span><span class="line">        self.__inherits     = inherits</span>
<a id="line1068"></a><span class="lineno">1068</span><span class="line">        self.__truncatable  = truncatable</span>
<a id="line1069"></a><span class="lineno">1069</span><span class="line">        self.__supports     = supports</span>
<a id="line1070"></a><span class="lineno">1070</span><span class="line">        self.__contents     = []</span>
<a id="line1071"></a><span class="lineno">1071</span><span class="line">        self.__declarations = []</span>
<a id="line1072"></a><span class="lineno">1072</span><span class="line">        self.__callables    = []</span>
<a id="line1073"></a><span class="lineno">1073</span><span class="line">        self.__statemembers = []</span>
<a id="line1074"></a><span class="lineno">1074</span><span class="line">        self.__factories    = []</span>
<a id="line1075"></a><span class="lineno">1075</span>
<a id="line1076"></a><span class="lineno">1076</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Value.html#_setContents">_setContents</a>(self, contents):</span>
<a id="line1077"></a><span class="lineno">1077</span><span class="line">        self.__contents     = contents</span>
<a id="line1078"></a><span class="lineno">1078</span><span class="line">        self.__declarations = filter(<span class="py-keyword">lambda</span> c: <span class="py-keyword">not</span>(isinstance(c, Attribute) <span class="py-keyword">or</span></span>
<a id="line1079"></a><span class="lineno">1079</span><span class="line">                                      isinstance(c, Operation) <span class="py-keyword">or</span></span>
<a id="line1080"></a><span class="lineno">1080</span><span class="line">                                      isinstance(c, StateMember) <span class="py-keyword">or</span></span>
<a id="line1081"></a><span class="lineno">1081</span><span class="line">                                      isinstance(c, Factory)),</span>
<a id="line1082"></a><span class="lineno">1082</span><span class="line">                                     contents)</span>
<a id="line1083"></a><span class="lineno">1083</span><span class="line">        self.__callables    = filter(<span class="py-keyword">lambda</span> c:(isinstance(c, Attribute) <span class="py-keyword">or</span></span>
<a id="line1084"></a><span class="lineno">1084</span><span class="line">                                      isinstance(c, Operation)),</span>
<a id="line1085"></a><span class="lineno">1085</span><span class="line">                                     contents)</span>
<a id="line1086"></a><span class="lineno">1086</span>
<a id="line1087"></a><span class="lineno">1087</span><span class="line">        self.__statemembers = filter(<span class="py-keyword">lambda</span> c:(isinstance(c, StateMember)),</span>
<a id="line1088"></a><span class="lineno">1088</span><span class="line">                                     contents)</span>
<a id="line1089"></a><span class="lineno">1089</span>
<a id="line1090"></a><span class="lineno">1090</span><span class="line">        self.__factories    = filter(<span class="py-keyword">lambda</span> c:(isinstance(c, Factory)),</span>
<a id="line1091"></a><span class="lineno">1091</span><span class="line">                                     contents)</span>
<a id="line1092"></a><span class="lineno">1092</span>
<a id="line1093"></a><span class="lineno">1093</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Value.html#accept">accept</a>(self, visitor): visitor.visitValue(self)</span>
<a id="line1094"></a><span class="lineno">1094</span>
<a id="line1095"></a><span class="lineno">1095</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Value.html#custom">custom</a>(self):       <span class="py-keyword">return</span> self.__custom</span>
<a id="line1096"></a><span class="lineno">1096</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Value.html#inherits">inherits</a>(self):     <span class="py-keyword">return</span> self.__inherits</span>
<a id="line1097"></a><span class="lineno">1097</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Value.html#truncatable">truncatable</a>(self):  <span class="py-keyword">return</span> self.__truncatable</span>
<a id="line1098"></a><span class="lineno">1098</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Value.html#supports">supports</a>(self):     <span class="py-keyword">return</span> self.__supports</span>
<a id="line1099"></a><span class="lineno">1099</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Value.html#contents">contents</a>(self):     <span class="py-keyword">return</span> self.__contents</span>
<a id="line1100"></a><span class="lineno">1100</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Value.html#declarations">declarations</a>(self): <span class="py-keyword">return</span> self.__declarations</span>
<a id="line1101"></a><span class="lineno">1101</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Value.html#callables">callables</a>(self):    <span class="py-keyword">return</span> self.__callables</span>
<a id="line1102"></a><span class="lineno">1102</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Value.html#statemembers">statemembers</a>(self): <span class="py-keyword">return</span> self.__statemembers</span>
<a id="line1103"></a><span class="lineno">1103</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/Value.html#factories">factories</a>(self):    <span class="py-keyword">return</span> self.__factories</span>
<a id="line1104"></a><span class="lineno">1104</span>
<a id="line1105"></a><span class="lineno">1105</span>
<a id="line1106"></a><span class="lineno">1106</span><span class="line"><span class="py-comment"># Map of Decl objects, indexed by stringified scoped name, and</span></span>
<a id="line1107"></a><span class="lineno">1107</span><span class="line"><span class="py-comment"># functions to access it</span></span>
<a id="line1108"></a><span class="lineno">1108</span>
<a id="line1109"></a><span class="lineno">1109</span><span class="line">declMap = {}</span>
<a id="line1110"></a><span class="lineno">1110</span>
<a id="line1111"></a><span class="lineno">1111</span><span class="line"><span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast.html#registerDecl">registerDecl</a>(scopedName, decl):</span>
<a id="line1112"></a><span class="lineno">1112</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Private function&quot;&quot;&quot;</span></span>
<a id="line1113"></a><span class="lineno">1113</span><span class="line">    sname = idlutil.slashName(scopedName)</span>
<a id="line1114"></a><span class="lineno">1114</span><span class="line">    <span class="py-keyword">if</span> declMap.has_key(sname):</span>
<a id="line1115"></a><span class="lineno">1115</span>
<a id="line1116"></a><span class="lineno">1116</span><span class="line">        rdecl = declMap[sname]</span>
<a id="line1117"></a><span class="lineno">1117</span>
<a id="line1118"></a><span class="lineno">1118</span><span class="line">        isi = isinstance</span>
<a id="line1119"></a><span class="lineno">1119</span>
<a id="line1120"></a><span class="lineno">1120</span><span class="line">        <span class="py-keyword">if</span> (isi(decl, Interface) <span class="py-keyword">and</span> isi(rdecl, Forward))       <span class="py-keyword">or</span>(isi(decl, ValueAbs)  <span class="py-keyword">and</span> isi(rdecl, ValueForward))  <span class="py-keyword">or</span>(isi(decl, Value)     <span class="py-keyword">and</span> isi(rdecl, ValueForward))  <span class="py-keyword">or</span>(isi(decl, Struct)    <span class="py-keyword">and</span> isi(rdecl, StructForward)) <span class="py-keyword">or</span>(isi(decl, Union)     <span class="py-keyword">and</span> isi(rdecl, UnionForward)):</span>
<a id="line1121"></a><span class="lineno">1121</span>
<a id="line1122"></a><span class="lineno">1122</span><span class="line">            <span class="py-comment"># resolving a forward declaration</span></span>
<a id="line1123"></a><span class="lineno">1123</span><span class="line">            rdecl._fullDecl = decl</span>
<a id="line1124"></a><span class="lineno">1124</span><span class="line">            <span class="py-keyword">for</span> f <span class="py-keyword">in</span> rdecl._more: f._fullDecl = decl</span>
<a id="line1125"></a><span class="lineno">1125</span><span class="line">            declMap[sname] = decl</span>
<a id="line1126"></a><span class="lineno">1126</span>
<a id="line1127"></a><span class="lineno">1127</span><span class="line">        <span class="py-keyword">elif</span> (isi(decl, Forward)       <span class="py-keyword">and</span> isi(rdecl, Forward))       <span class="py-keyword">or</span>(isi(decl, ValueForward)  <span class="py-keyword">and</span> isi(rdecl, ValueForward))  <span class="py-keyword">or</span>(isi(decl, StructForward) <span class="py-keyword">and</span> isi(rdecl, StructForward)) <span class="py-keyword">or</span>(isi(decl, UnionForward)  <span class="py-keyword">and</span> isi(rdecl, UnionForward)):</span>
<a id="line1128"></a><span class="lineno">1128</span>
<a id="line1129"></a><span class="lineno">1129</span><span class="line">            <span class="py-comment"># repeat forward declaration</span></span>
<a id="line1130"></a><span class="lineno">1130</span><span class="line">            rdecl._more.append(decl)</span>
<a id="line1131"></a><span class="lineno">1131</span>
<a id="line1132"></a><span class="lineno">1132</span><span class="line">        <span class="py-keyword">elif</span> (isi(decl, Forward)       <span class="py-keyword">and</span> isi(rdecl, Interface)) <span class="py-keyword">or</span>(isi(decl, ValueForward)  <span class="py-keyword">and</span> isi(rdecl, ValueAbs))  <span class="py-keyword">or</span>(isi(decl, ValueForward)  <span class="py-keyword">and</span> isi(rdecl, Value))     <span class="py-keyword">or</span>(isi(decl, StructForward) <span class="py-keyword">and</span> isi(rdecl, Struct))    <span class="py-keyword">or</span>(isi(decl, UnionForward)  <span class="py-keyword">and</span> isi(rdecl, Union)):</span>
<a id="line1133"></a><span class="lineno">1133</span>
<a id="line1134"></a><span class="lineno">1134</span><span class="line">            <span class="py-comment"># forward declaration of full declaration</span></span>
<a id="line1135"></a><span class="lineno">1135</span><span class="line">            decl._fullDecl = rdecl</span>
<a id="line1136"></a><span class="lineno">1136</span>
<a id="line1137"></a><span class="lineno">1137</span><span class="line">        <span class="py-keyword">elif</span> (isi(decl, Module) <span class="py-keyword">and</span> isi(rdecl, Module)):</span>
<a id="line1138"></a><span class="lineno">1138</span><span class="line">            <span class="py-comment"># continued module</span></span>
<a id="line1139"></a><span class="lineno">1139</span><span class="line">            rdecl._continuations.append(decl)</span>
<a id="line1140"></a><span class="lineno">1140</span>
<a id="line1141"></a><span class="lineno">1141</span><span class="line">        <span class="py-keyword">else</span>:</span>
<a id="line1142"></a><span class="lineno">1142</span><span class="line">            <span class="py-keyword">print</span> <span class="py-string">&quot;***Warning: attempt to re-register&quot;</span>, sname</span>
<a id="line1143"></a><span class="lineno">1143</span>
<a id="line1144"></a><span class="lineno">1144</span><span class="line">        <span class="py-keyword">return</span></span>
<a id="line1145"></a><span class="lineno">1145</span>
<a id="line1146"></a><span class="lineno">1146</span><span class="line">    declMap[sname] = decl</span>
<a id="line1147"></a><span class="lineno">1147</span>
<a id="line1148"></a><span class="lineno">1148</span>
<a id="line1149"></a><span class="lineno">1149</span><span class="line"><span class="py-keyword">class</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/DeclNotFound.html">DeclNotFound</a>:</span>
<a id="line1150"></a><span class="lineno">1150</span>
<a id="line1151"></a><span class="lineno">1151</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Exception to indicate that findDecl() could not find the</span></span>
<a id="line1152"></a><span class="lineno">1152</span><span class="line"><span class="py-string">    requested Decl object.&quot;&quot;&quot;</span></span>
<a id="line1153"></a><span class="lineno">1153</span>
<a id="line1154"></a><span class="lineno">1154</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/DeclNotFound.html#__init__">__init__</a>(self, scopedName):</span>
<a id="line1155"></a><span class="lineno">1155</span><span class="line">        self.__scopedName = scopedName</span>
<a id="line1156"></a><span class="lineno">1156</span>
<a id="line1157"></a><span class="lineno">1157</span><span class="line">    <span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast/DeclNotFound.html#scopedName">scopedName</a>(self): <span class="py-keyword">return</span> self.__scopedName</span>
<a id="line1158"></a><span class="lineno">1158</span>
<a id="line1159"></a><span class="lineno">1159</span>
<a id="line1160"></a><span class="lineno">1160</span><span class="line"><span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast.html#findDecl">findDecl</a>(scopedName):</span>
<a id="line1161"></a><span class="lineno">1161</span><span class="line">    <span class="py-string">&quot;&quot;&quot;findDecl(scopedName) -&gt; Decl</span></span>
<a id="line1162"></a><span class="lineno">1162</span><span class="line"><span class="py-string"/></span>
<a id="line1163"></a><span class="lineno">1163</span><span class="line"><span class="py-string">Find a Decl object given a fully scoped name represented as a list of</span></span>
<a id="line1164"></a><span class="lineno">1164</span><span class="line"><span class="py-string">strings. Raises DeclNotFound if the name is not recognised.&quot;&quot;&quot;</span></span>
<a id="line1165"></a><span class="lineno">1165</span>
<a id="line1166"></a><span class="lineno">1166</span><span class="line">    sname = idlutil.slashName(scopedName)</span>
<a id="line1167"></a><span class="lineno">1167</span><span class="line">    <span class="py-keyword">if</span> <span class="py-keyword">not</span> declMap.has_key(sname):</span>
<a id="line1168"></a><span class="lineno">1168</span><span class="line">        <span class="py-keyword">raise</span> DeclNotFound(scopedName)</span>
<a id="line1169"></a><span class="lineno">1169</span>
<a id="line1170"></a><span class="lineno">1170</span><span class="line">    <span class="py-keyword">return</span> declMap[sname]</span>
<a id="line1171"></a><span class="lineno">1171</span>
<a id="line1172"></a><span class="lineno">1172</span>
<a id="line1173"></a><span class="lineno">1173</span><span class="line"><span class="py-comment"># Declarations of non-basic `built-in' types</span></span>
<a id="line1174"></a><span class="lineno">1174</span>
<a id="line1175"></a><span class="lineno">1175</span><span class="line">CORBAObject = Interface(<span class="py-string">&quot;&lt;built in&gt;&quot;</span>, 0, 0, [], [],</span>
<a id="line1176"></a><span class="lineno">1176</span><span class="line">                        <span class="py-string">&quot;Object&quot;</span>, [<span class="py-string">&quot;CORBA&quot;</span>, <span class="py-string">&quot;Object&quot;</span>],</span>
<a id="line1177"></a><span class="lineno">1177</span><span class="line">                        <span class="py-string">&quot;IDL:omg.org/CORBA/Object:1.0&quot;</span>,</span>
<a id="line1178"></a><span class="lineno">1178</span><span class="line">                        0, 0, [])</span>
<a id="line1179"></a><span class="lineno">1179</span><span class="line">CORBAObject._Decl__builtIn = 1</span>
<a id="line1180"></a><span class="lineno">1180</span><span class="line">registerDecl([<span class="py-string">&quot;CORBA&quot;</span>, <span class="py-string">&quot;Object&quot;</span>], CORBAObject)</span>
<a id="line1181"></a><span class="lineno">1181</span>
<a id="line1182"></a><span class="lineno">1182</span><span class="line">CORBAValueBase = Value(<span class="py-string">&quot;&lt;built in&gt;&quot;</span>, 0, 0, [], [],</span>
<a id="line1183"></a><span class="lineno">1183</span><span class="line">                       <span class="py-string">&quot;ValueBase&quot;</span>, [<span class="py-string">&quot;CORBA&quot;</span>, <span class="py-string">&quot;ValueBase&quot;</span>],</span>
<a id="line1184"></a><span class="lineno">1184</span><span class="line">                       <span class="py-string">&quot;IDL:omg.org/CORBA/ValueBase:1.0&quot;</span>,</span>
<a id="line1185"></a><span class="lineno">1185</span><span class="line">                       0, [], 0, [])</span>
<a id="line1186"></a><span class="lineno">1186</span><span class="line">CORBAValueBase._Decl__builtIn = 1</span>
<a id="line1187"></a><span class="lineno">1187</span><span class="line">registerDecl([<span class="py-string">&quot;CORBA&quot;</span>, <span class="py-string">&quot;ValueBase&quot;</span>], CORBAValueBase)</span>
<a id="line1188"></a><span class="lineno">1188</span>
<a id="line1189"></a><span class="lineno">1189</span><span class="line">CORBAModule = Module(<span class="py-string">&quot;&lt;built in&gt;&quot;</span>, 0, 0, [], [], <span class="py-string">&quot;CORBA&quot;</span>, [<span class="py-string">&quot;CORBA&quot;</span>],</span>
<a id="line1190"></a><span class="lineno">1190</span><span class="line">                     <span class="py-string">&quot;IDL:omg.org/CORBA:1.0&quot;</span>, [CORBAObject, CORBAValueBase])</span>
<a id="line1191"></a><span class="lineno">1191</span><span class="line">registerDecl([<span class="py-string">&quot;CORBA&quot;</span>], CORBAModule)</span>
<a id="line1192"></a><span class="lineno">1192</span>
<a id="line1193"></a><span class="lineno">1193</span>
<a id="line1194"></a><span class="lineno">1194</span><span class="line"><span class="py-keyword">def</span> <a href="../../../../Scopes/Synopsis/Parsers/IDL/idlast.html#clear">clear</a>():</span>
<a id="line1195"></a><span class="lineno">1195</span><span class="line">    <span class="py-string">&quot;&quot;&quot;Clear back-end structures ready for another run&quot;&quot;&quot;</span></span>
<a id="line1196"></a><span class="lineno">1196</span><span class="line">    declMap.clear()</span>
<a id="line1197"></a><span class="lineno">1197</span><span class="line">    registerDecl([<span class="py-string">&quot;CORBA&quot;</span>, <span class="py-string">&quot;Object&quot;</span>], CORBAObject)</span>
<a id="line1198"></a><span class="lineno">1198</span><span class="line">    registerDecl([<span class="py-string">&quot;CORBA&quot;</span>, <span class="py-string">&quot;ValueBase&quot;</span>], CORBAValueBase)</span>
<a id="line1199"></a><span class="lineno">1199</span><span class="line">    registerDecl([<span class="py-string">&quot;CORBA&quot;</span>], CORBAModule)</span>
<a id="line1200"></a><span class="lineno">1200</span>
</pre>
<div class="logo">Generated on Thu Apr 16 16:27:12 2009 by 
<br/>
<a href="http://synopsis.fresco.org" target="_blank"><img src="../../../../synopsis.png" alt="logo"/> synopsis</a> (version devel)</div>
</body>
</html>