<?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&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">"""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."""</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">"""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."""</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">"""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."""</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">"""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."""</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">"""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"""</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">"""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"""</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">"""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."""</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">"""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."""</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">"""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."""</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">"""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."""</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, "Const init:", 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">"""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."""</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">"""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."""</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">"""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."""</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">"""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."""</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">"""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."""</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">"""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."""</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, "Exception init:", 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">"""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."""</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">"""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"""</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">"""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."""</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">"""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."""</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">"""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."""</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">"""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."""</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">"""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)."""</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, "Attribute init:", 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">"""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."""</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, "Parameter init:", 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">"""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."""</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, "Operation init:", 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">"""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."""</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">"""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."""</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">"""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."""</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">"""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."""</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">"""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."""</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">"""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"> """</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">"""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"> """</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">"""Private function"""</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">"***Warning: attempt to re-register"</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">"""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."""</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">"""findDecl(scopedName) -> 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."""</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">"<built in>"</span>, 0, 0, [], [],</span> <a id="line1176"></a><span class="lineno">1176</span><span class="line"> <span class="py-string">"Object"</span>, [<span class="py-string">"CORBA"</span>, <span class="py-string">"Object"</span>],</span> <a id="line1177"></a><span class="lineno">1177</span><span class="line"> <span class="py-string">"IDL:omg.org/CORBA/Object:1.0"</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">"CORBA"</span>, <span class="py-string">"Object"</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">"<built in>"</span>, 0, 0, [], [],</span> <a id="line1183"></a><span class="lineno">1183</span><span class="line"> <span class="py-string">"ValueBase"</span>, [<span class="py-string">"CORBA"</span>, <span class="py-string">"ValueBase"</span>],</span> <a id="line1184"></a><span class="lineno">1184</span><span class="line"> <span class="py-string">"IDL:omg.org/CORBA/ValueBase:1.0"</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">"CORBA"</span>, <span class="py-string">"ValueBase"</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">"<built in>"</span>, 0, 0, [], [], <span class="py-string">"CORBA"</span>, [<span class="py-string">"CORBA"</span>],</span> <a id="line1190"></a><span class="lineno">1190</span><span class="line"> <span class="py-string">"IDL:omg.org/CORBA:1.0"</span>, [CORBAObject, CORBAValueBase])</span> <a id="line1191"></a><span class="lineno">1191</span><span class="line">registerDecl([<span class="py-string">"CORBA"</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">"""Clear back-end structures ready for another run"""</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">"CORBA"</span>, <span class="py-string">"Object"</span>], CORBAObject)</span> <a id="line1198"></a><span class="lineno">1198</span><span class="line"> registerDecl([<span class="py-string">"CORBA"</span>, <span class="py-string">"ValueBase"</span>], CORBAValueBase)</span> <a id="line1199"></a><span class="lineno">1199</span><span class="line"> registerDecl([<span class="py-string">"CORBA"</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>