Sophie

Sophie

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

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

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<!-- Source/Synopsis/PTree/TypeVisitor.hh.html -->
<!-- this view was generated by Source -->
<head>
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"/>
<title >Synopsis - Synopsis/PTree/TypeVisitor.hh</title>
<link href="../../../style.css" type="text/css" rel="stylesheet" />
</head>
<body class="Source">
<div class="navigation">
<span class="normal"><a href="../../../Scopes/global.html" >Global Namespace</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/PTree/TypeVisitor.hh</b><pre class="sxr"><a id="line1"></a><span class="lineno">  1</span><span class="line"><span class="comment">//</span></span>
<a id="line2"></a><span class="lineno">  2</span><span class="line"><span class="comment">// Copyright (C) 2004 Stefan Seefeld</span></span>
<a id="line3"></a><span class="lineno">  3</span><span class="line"><span class="comment">// All rights reserved.</span></span>
<a id="line4"></a><span class="lineno">  4</span><span class="line"><span class="comment">// Licensed to the public under the terms of the GNU LGPL (&gt;= 2),</span></span>
<a id="line5"></a><span class="lineno">  5</span><span class="line"><span class="comment">// see the file COPYING for details.</span></span>
<a id="line6"></a><span class="lineno">  6</span><span class="line"><span class="comment">//</span></span>
<a id="line7"></a><span class="lineno">  7</span><span class="line">#ifndef Synopsis_PTree_TypeVisitor_hh_</span>
<a id="line8"></a><span class="lineno">  8</span><span class="line">#define Synopsis_PTree_TypeVisitor_hh_</span>
<a id="line9"></a><span class="lineno">  9</span>
<a id="line10"></a><span class="lineno"> 10</span><span class="line">#include &lt;Synopsis/PTree.hh&gt;</span>
<a id="line11"></a><span class="lineno"> 11</span><span class="line">#include &lt;Synopsis/Token.hh&gt;</span>
<a id="line12"></a><span class="lineno"> 12</span><span class="line">#include &lt;cassert&gt;</span>
<a id="line13"></a><span class="lineno"> 13</span>
<a id="line14"></a><span class="lineno"> 14</span><span class="line"><span class="keyword">namespace</span> Synopsis</span>
<a id="line15"></a><span class="lineno"> 15</span><span class="line">{</span>
<a id="line16"></a><span class="lineno"> 16</span><span class="line"><span class="keyword">namespace</span> <a href="../../../Scopes/Synopsis/PTree.html" title="namespace Synopsis::PTree">PTree</a></span>
<a id="line17"></a><span class="lineno"> 17</span><span class="line">{</span>
<a id="line18"></a><span class="lineno"> 18</span>
<a id="line19"></a><span class="lineno"> 19</span><span class="line"><span class="keyword">class</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html" title="class Synopsis::PTree::TypeVisitor">TypeVisitor</a> : <span class="keyword">public</span> <a href="../../../Scopes/Synopsis/PTree/Visitor.html" title="class Synopsis::PTree::Visitor">Visitor</a></span>
<a id="line20"></a><span class="lineno"> 20</span><span class="line">{</span>
<a id="line21"></a><span class="lineno"> 21</span><span class="line"><span class="keyword">public</span>:</span>
<a id="line22"></a><span class="lineno"> 22</span><span class="line">  <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#TypeVisitor_l_r" title="member function Synopsis::PTree::TypeVisitor::TypeVisitor()">TypeVisitor</a>() : my_type(Token::BadToken) {}</span>
<a id="line23"></a><span class="lineno"> 23</span>
<a id="line24"></a><span class="lineno"> 24</span><span class="line">  <a href="../../../Scopes/Synopsis/Token.html#Type" title="typedef Synopsis::Token::Type">Token::Type</a> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#type_of_lNode_S_r" title="member function Synopsis::PTree::TypeVisitor::type_of(Node*)">type_of</a>(<a href="../../../Scopes/Synopsis/PTree/Node.html" title="class Synopsis::PTree::Node">Node</a> *node) { <a href="" title="parameter node">node</a>-&gt;<a href="../../../Scopes/Synopsis/PTree/Node.html#accept_lVisitor_S_r" title="member function Synopsis::PTree::Node::accept(Visitor*)">accept</a>(<span class="keyword">this</span>); <span class="keyword">return</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a>;}</span>
<a id="line25"></a><span class="lineno"> 25</span>
<a id="line26"></a><span class="lineno"> 26</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lLiteral_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(Literal*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/Literal.html" title="class Synopsis::PTree::Literal">Literal</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#Constant" title="enumerator Synopsis::Token::Constant">Token::Constant</a>;}</span>
<a id="line27"></a><span class="lineno"> 27</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lIdentifier_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(Identifier*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/Identifier.html" title="class Synopsis::PTree::Identifier">Identifier</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#Identifier" title="enumerator Synopsis::Token::Identifier">Token::Identifier</a>;}</span>
<a id="line28"></a><span class="lineno"> 28</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lKeyword_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(Keyword*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/Keyword.html" title="class Synopsis::PTree::Keyword">Keyword</a> *kwd) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="" title="parameter kwd">kwd</a>-&gt;<a href="../../../Scopes/Synopsis/PTree/Keyword.html#token_l_rconst" title="member function Synopsis::PTree::Keyword::token()const">token</a>();}</span>
<a id="line29"></a><span class="lineno"> 29</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lTypedef_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(Typedef*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/Typedef.html" title="class Synopsis::PTree::Typedef">Typedef</a> *) {<a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntTypedef" title="enumerator Synopsis::Token::ntTypedef">Token::ntTypedef</a>;}</span>
<a id="line30"></a><span class="lineno"> 30</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lTemplateDecl_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(TemplateDecl*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/TemplateDecl.html" title="class Synopsis::PTree::TemplateDecl">TemplateDecl</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntTemplateDecl" title="enumerator Synopsis::Token::ntTemplateDecl">Token::ntTemplateDecl</a>;}</span>
<a id="line31"></a><span class="lineno"> 31</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lTemplateInstantiation_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(TemplateInstantiation*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/TemplateInstantiation.html" title="class Synopsis::PTree::TemplateInstantiation">TemplateInstantiation</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntTemplateInstantiation" title="enumerator Synopsis::Token::ntTemplateInstantiation">Token::ntTemplateInstantiation</a>;}</span>
<a id="line32"></a><span class="lineno"> 32</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lExternTemplate_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(ExternTemplate*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/ExternTemplate.html" title="class Synopsis::PTree::ExternTemplate">ExternTemplate</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntExternTemplate" title="enumerator Synopsis::Token::ntExternTemplate">Token::ntExternTemplate</a>;}</span>
<a id="line33"></a><span class="lineno"> 33</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lMetaclassDecl_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(MetaclassDecl*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/MetaclassDecl.html" title="class Synopsis::PTree::MetaclassDecl">MetaclassDecl</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntMetaclassDecl" title="enumerator Synopsis::Token::ntMetaclassDecl">Token::ntMetaclassDecl</a>;}</span>
<a id="line34"></a><span class="lineno"> 34</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lParameterDeclaration_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(ParameterDeclaration*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/ParameterDeclaration.html" title="class Synopsis::PTree::ParameterDeclaration">ParameterDeclaration</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntParameterDecl" title="enumerator Synopsis::Token::ntParameterDecl">Token::ntParameterDecl</a>;}</span>
<a id="line35"></a><span class="lineno"> 35</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lLinkageSpec_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(LinkageSpec*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/LinkageSpec.html" title="class Synopsis::PTree::LinkageSpec">LinkageSpec</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntLinkageSpec" title="enumerator Synopsis::Token::ntLinkageSpec">Token::ntLinkageSpec</a>;}</span>
<a id="line36"></a><span class="lineno"> 36</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lNamespaceSpec_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(NamespaceSpec*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/NamespaceSpec.html" title="class Synopsis::PTree::NamespaceSpec">NamespaceSpec</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntNamespaceSpec" title="enumerator Synopsis::Token::ntNamespaceSpec">Token::ntNamespaceSpec</a>;}</span>
<a id="line37"></a><span class="lineno"> 37</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lNamespaceAlias_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(NamespaceAlias*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/NamespaceAlias.html" title="class Synopsis::PTree::NamespaceAlias">NamespaceAlias</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntNamespaceAlias" title="enumerator Synopsis::Token::ntNamespaceAlias">Token::ntNamespaceAlias</a>;}</span>
<a id="line38"></a><span class="lineno"> 38</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lUsingDirective_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(UsingDirective*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/UsingDirective.html" title="class Synopsis::PTree::UsingDirective">UsingDirective</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntUsing" title="enumerator Synopsis::Token::ntUsing">Token::ntUsing</a>;}</span>
<a id="line39"></a><span class="lineno"> 39</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lDeclaration_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(Declaration*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/Declaration.html" title="class Synopsis::PTree::Declaration">Declaration</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntDeclaration" title="enumerator Synopsis::Token::ntDeclaration">Token::ntDeclaration</a>;}</span>
<a id="line40"></a><span class="lineno"> 40</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lUsingDeclaration_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(UsingDeclaration*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/UsingDeclaration.html" title="class Synopsis::PTree::UsingDeclaration">UsingDeclaration</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntUsing" title="enumerator Synopsis::Token::ntUsing">Token::ntUsing</a>;}</span>
<a id="line41"></a><span class="lineno"> 41</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lDeclarator_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(Declarator*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/Declarator.html" title="class Synopsis::PTree::Declarator">Declarator</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntDeclarator" title="enumerator Synopsis::Token::ntDeclarator">Token::ntDeclarator</a>;}</span>
<a id="line42"></a><span class="lineno"> 42</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lName_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(Name*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/Name.html" title="class Synopsis::PTree::Name">Name</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntName" title="enumerator Synopsis::Token::ntName">Token::ntName</a>;}</span>
<a id="line43"></a><span class="lineno"> 43</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lFstyleCastExpr_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(FstyleCastExpr*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/FstyleCastExpr.html" title="class Synopsis::PTree::FstyleCastExpr">FstyleCastExpr</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntFstyleCast" title="enumerator Synopsis::Token::ntFstyleCast">Token::ntFstyleCast</a>;}</span>
<a id="line44"></a><span class="lineno"> 44</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lClassSpec_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(ClassSpec*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/ClassSpec.html" title="class Synopsis::PTree::ClassSpec">ClassSpec</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntClassSpec" title="enumerator Synopsis::Token::ntClassSpec">Token::ntClassSpec</a>;}</span>
<a id="line45"></a><span class="lineno"> 45</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lEnumSpec_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(EnumSpec*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/EnumSpec.html" title="class Synopsis::PTree::EnumSpec">EnumSpec</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntEnumSpec" title="enumerator Synopsis::Token::ntEnumSpec">Token::ntEnumSpec</a>;}</span>
<a id="line46"></a><span class="lineno"> 46</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lTypeParameter_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(TypeParameter*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/TypeParameter.html" title="class Synopsis::PTree::TypeParameter">TypeParameter</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <span class="literal">0</span>;} <span class="comment">// FIXME !!!</span></span>
<a id="line47"></a><span class="lineno"> 47</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lAccessSpec_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(AccessSpec*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/AccessSpec.html" title="class Synopsis::PTree::AccessSpec">AccessSpec</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntAccessSpec" title="enumerator Synopsis::Token::ntAccessSpec">Token::ntAccessSpec</a>;}</span>
<a id="line48"></a><span class="lineno"> 48</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lAccessDecl_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(AccessDecl*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/AccessDecl.html" title="class Synopsis::PTree::AccessDecl">AccessDecl</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntAccessDecl" title="enumerator Synopsis::Token::ntAccessDecl">Token::ntAccessDecl</a>;}</span>
<a id="line49"></a><span class="lineno"> 49</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lUserAccessSpec_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(UserAccessSpec*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/UserAccessSpec.html" title="class Synopsis::PTree::UserAccessSpec">UserAccessSpec</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntUserAccessSpec" title="enumerator Synopsis::Token::ntUserAccessSpec">Token::ntUserAccessSpec</a>;}</span>
<a id="line50"></a><span class="lineno"> 50</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lIfStatement_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(IfStatement*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/IfStatement.html" title="class Synopsis::PTree::IfStatement">IfStatement</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntIfStatement" title="enumerator Synopsis::Token::ntIfStatement">Token::ntIfStatement</a>;}</span>
<a id="line51"></a><span class="lineno"> 51</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lSwitchStatement_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(SwitchStatement*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/SwitchStatement.html" title="class Synopsis::PTree::SwitchStatement">SwitchStatement</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntSwitchStatement" title="enumerator Synopsis::Token::ntSwitchStatement">Token::ntSwitchStatement</a>;}</span>
<a id="line52"></a><span class="lineno"> 52</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lWhileStatement_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(WhileStatement*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/WhileStatement.html" title="class Synopsis::PTree::WhileStatement">WhileStatement</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntWhileStatement" title="enumerator Synopsis::Token::ntWhileStatement">Token::ntWhileStatement</a>;}</span>
<a id="line53"></a><span class="lineno"> 53</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lDoStatement_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(DoStatement*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/DoStatement.html" title="class Synopsis::PTree::DoStatement">DoStatement</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntDoStatement" title="enumerator Synopsis::Token::ntDoStatement">Token::ntDoStatement</a>;}</span>
<a id="line54"></a><span class="lineno"> 54</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lForStatement_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(ForStatement*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/ForStatement.html" title="class Synopsis::PTree::ForStatement">ForStatement</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntForStatement" title="enumerator Synopsis::Token::ntForStatement">Token::ntForStatement</a>;}</span>
<a id="line55"></a><span class="lineno"> 55</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lTryStatement_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(TryStatement*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/TryStatement.html" title="class Synopsis::PTree::TryStatement">TryStatement</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntTryStatement" title="enumerator Synopsis::Token::ntTryStatement">Token::ntTryStatement</a>;}</span>
<a id="line56"></a><span class="lineno"> 56</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lBreakStatement_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(BreakStatement*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/BreakStatement.html" title="class Synopsis::PTree::BreakStatement">BreakStatement</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntBreakStatement" title="enumerator Synopsis::Token::ntBreakStatement">Token::ntBreakStatement</a>;}</span>
<a id="line57"></a><span class="lineno"> 57</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lContinueStatement_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(ContinueStatement*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/ContinueStatement.html" title="class Synopsis::PTree::ContinueStatement">ContinueStatement</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntContinueStatement" title="enumerator Synopsis::Token::ntContinueStatement">Token::ntContinueStatement</a>;}</span>
<a id="line58"></a><span class="lineno"> 58</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lReturnStatement_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(ReturnStatement*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/ReturnStatement.html" title="class Synopsis::PTree::ReturnStatement">ReturnStatement</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntReturnStatement" title="enumerator Synopsis::Token::ntReturnStatement">Token::ntReturnStatement</a>;}</span>
<a id="line59"></a><span class="lineno"> 59</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lGotoStatement_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(GotoStatement*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/GotoStatement.html" title="class Synopsis::PTree::GotoStatement">GotoStatement</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntGotoStatement" title="enumerator Synopsis::Token::ntGotoStatement">Token::ntGotoStatement</a>;}</span>
<a id="line60"></a><span class="lineno"> 60</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lCaseStatement_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(CaseStatement*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/CaseStatement.html" title="class Synopsis::PTree::CaseStatement">CaseStatement</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntCaseStatement" title="enumerator Synopsis::Token::ntCaseStatement">Token::ntCaseStatement</a>;}</span>
<a id="line61"></a><span class="lineno"> 61</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lDefaultStatement_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(DefaultStatement*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/DefaultStatement.html" title="class Synopsis::PTree::DefaultStatement">DefaultStatement</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntDefaultStatement" title="enumerator Synopsis::Token::ntDefaultStatement">Token::ntDefaultStatement</a>;}</span>
<a id="line62"></a><span class="lineno"> 62</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lLabelStatement_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(LabelStatement*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/LabelStatement.html" title="class Synopsis::PTree::LabelStatement">LabelStatement</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntLabelStatement" title="enumerator Synopsis::Token::ntLabelStatement">Token::ntLabelStatement</a>;}</span>
<a id="line63"></a><span class="lineno"> 63</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lExprStatement_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(ExprStatement*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/ExprStatement.html" title="class Synopsis::PTree::ExprStatement">ExprStatement</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntExprStatement" title="enumerator Synopsis::Token::ntExprStatement">Token::ntExprStatement</a>;}</span>
<a id="line64"></a><span class="lineno"> 64</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lExpression_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(Expression*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/Expression.html" title="class Synopsis::PTree::Expression">Expression</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntCommaExpr" title="enumerator Synopsis::Token::ntCommaExpr">Token::ntCommaExpr</a>;}</span>
<a id="line65"></a><span class="lineno"> 65</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lAssignExpr_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(AssignExpr*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/AssignExpr.html" title="class Synopsis::PTree::AssignExpr">AssignExpr</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntAssignExpr" title="enumerator Synopsis::Token::ntAssignExpr">Token::ntAssignExpr</a>;}</span>
<a id="line66"></a><span class="lineno"> 66</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lCondExpr_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(CondExpr*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/CondExpr.html" title="class Synopsis::PTree::CondExpr">CondExpr</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntCondExpr" title="enumerator Synopsis::Token::ntCondExpr">Token::ntCondExpr</a>;}</span>
<a id="line67"></a><span class="lineno"> 67</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lInfixExpr_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(InfixExpr*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/InfixExpr.html" title="class Synopsis::PTree::InfixExpr">InfixExpr</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntInfixExpr" title="enumerator Synopsis::Token::ntInfixExpr">Token::ntInfixExpr</a>;}</span>
<a id="line68"></a><span class="lineno"> 68</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lPmExpr_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(PmExpr*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/PmExpr.html" title="class Synopsis::PTree::PmExpr">PmExpr</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntPmExpr" title="enumerator Synopsis::Token::ntPmExpr">Token::ntPmExpr</a>;}</span>
<a id="line69"></a><span class="lineno"> 69</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lCastExpr_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(CastExpr*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/CastExpr.html" title="class Synopsis::PTree::CastExpr">CastExpr</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntCastExpr" title="enumerator Synopsis::Token::ntCastExpr">Token::ntCastExpr</a>;}</span>
<a id="line70"></a><span class="lineno"> 70</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lUnaryExpr_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(UnaryExpr*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/UnaryExpr.html" title="class Synopsis::PTree::UnaryExpr">UnaryExpr</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntUnaryExpr" title="enumerator Synopsis::Token::ntUnaryExpr">Token::ntUnaryExpr</a>;}</span>
<a id="line71"></a><span class="lineno"> 71</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lThrowExpr_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(ThrowExpr*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/ThrowExpr.html" title="class Synopsis::PTree::ThrowExpr">ThrowExpr</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntThrowExpr" title="enumerator Synopsis::Token::ntThrowExpr">Token::ntThrowExpr</a>;}</span>
<a id="line72"></a><span class="lineno"> 72</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lSizeofExpr_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(SizeofExpr*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/SizeofExpr.html" title="class Synopsis::PTree::SizeofExpr">SizeofExpr</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntSizeofExpr" title="enumerator Synopsis::Token::ntSizeofExpr">Token::ntSizeofExpr</a>;}</span>
<a id="line73"></a><span class="lineno"> 73</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lTypeidExpr_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(TypeidExpr*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/TypeidExpr.html" title="class Synopsis::PTree::TypeidExpr">TypeidExpr</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntTypeidExpr" title="enumerator Synopsis::Token::ntTypeidExpr">Token::ntTypeidExpr</a>;}</span>
<a id="line74"></a><span class="lineno"> 74</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lTypeofExpr_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(TypeofExpr*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/TypeofExpr.html" title="class Synopsis::PTree::TypeofExpr">TypeofExpr</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntTypeofExpr" title="enumerator Synopsis::Token::ntTypeofExpr">Token::ntTypeofExpr</a>;}</span>
<a id="line75"></a><span class="lineno"> 75</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lNewExpr_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(NewExpr*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/NewExpr.html" title="class Synopsis::PTree::NewExpr">NewExpr</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntNewExpr" title="enumerator Synopsis::Token::ntNewExpr">Token::ntNewExpr</a>;}</span>
<a id="line76"></a><span class="lineno"> 76</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lDeleteExpr_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(DeleteExpr*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/DeleteExpr.html" title="class Synopsis::PTree::DeleteExpr">DeleteExpr</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntDeleteExpr" title="enumerator Synopsis::Token::ntDeleteExpr">Token::ntDeleteExpr</a>;}</span>
<a id="line77"></a><span class="lineno"> 77</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lArrayExpr_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(ArrayExpr*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/ArrayExpr.html" title="class Synopsis::PTree::ArrayExpr">ArrayExpr</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntArrayExpr" title="enumerator Synopsis::Token::ntArrayExpr">Token::ntArrayExpr</a>;}</span>
<a id="line78"></a><span class="lineno"> 78</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lFuncallExpr_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(FuncallExpr*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/FuncallExpr.html" title="class Synopsis::PTree::FuncallExpr">FuncallExpr</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntFuncallExpr" title="enumerator Synopsis::Token::ntFuncallExpr">Token::ntFuncallExpr</a>;}</span>
<a id="line79"></a><span class="lineno"> 79</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lPostfixExpr_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(PostfixExpr*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/PostfixExpr.html" title="class Synopsis::PTree::PostfixExpr">PostfixExpr</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntPostfixExpr" title="enumerator Synopsis::Token::ntPostfixExpr">Token::ntPostfixExpr</a>;}</span>
<a id="line80"></a><span class="lineno"> 80</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lDotMemberExpr_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(DotMemberExpr*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/DotMemberExpr.html" title="class Synopsis::PTree::DotMemberExpr">DotMemberExpr</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntDotMemberExpr" title="enumerator Synopsis::Token::ntDotMemberExpr">Token::ntDotMemberExpr</a>;}</span>
<a id="line81"></a><span class="lineno"> 81</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lArrowMemberExpr_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(ArrowMemberExpr*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/ArrowMemberExpr.html" title="class Synopsis::PTree::ArrowMemberExpr">ArrowMemberExpr</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntArrowMemberExpr" title="enumerator Synopsis::Token::ntArrowMemberExpr">Token::ntArrowMemberExpr</a>;}</span>
<a id="line82"></a><span class="lineno"> 82</span><span class="line">  virtual <span class="keyword">void</span> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#visit_lParenExpr_S_r" title="member function Synopsis::PTree::TypeVisitor::visit(ParenExpr*)">visit</a>(<a href="../../../Scopes/Synopsis/PTree/ParenExpr.html" title="class Synopsis::PTree::ParenExpr">ParenExpr</a> *) { <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a> = <a href="../../../Scopes/Synopsis/Token.html#ntParenExpr" title="enumerator Synopsis::Token::ntParenExpr">Token::ntParenExpr</a>;}</span>
<a id="line83"></a><span class="lineno"> 83</span><span class="line"><span class="keyword">private</span>:</span>
<a id="line84"></a><span class="lineno"> 84</span><span class="line">  <a href="../../../Scopes/Synopsis/Token.html#Type" title="typedef Synopsis::Token::Type">Token::Type</a> <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#my_type" title="data member Synopsis::PTree::TypeVisitor::my_type">my_type</a>;</span>
<a id="line85"></a><span class="lineno"> 85</span><span class="line">};</span>
<a id="line86"></a><span class="lineno"> 86</span>
<a id="line87"></a><span class="lineno"> 87</span><span class="line">inline <a href="../../../Scopes/Synopsis/Token.html#Type" title="typedef Synopsis::Token::Type">Token::Type</a> <a href="../../../Scopes/Synopsis/PTree.html#type_of_lconst.Node_S_r" title="function Synopsis::PTree::type_of(const Node*)">type_of</a>(<span class="keyword">const</span> <a href="../../../Scopes/Synopsis/PTree/Node.html" title="class Synopsis::PTree::Node">Node</a> *node)</span>
<a id="line88"></a><span class="lineno"> 88</span><span class="line">{</span>
<a id="line89"></a><span class="lineno"> 89</span><span class="line">  <a href="" title="macro call">assert</a>(node);</span>
<a id="line90"></a><span class="lineno"> 90</span><span class="line">  <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html" title="class Synopsis::PTree::TypeVisitor">TypeVisitor</a> <a href="" title="local variable v">v</a>;</span>
<a id="line91"></a><span class="lineno"> 91</span><span class="line">  <span class="keyword">return</span> <a href="" title="local variable v">v</a>.<a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#type_of_lNode_S_r" title="member function Synopsis::PTree::TypeVisitor::type_of(Node*)">type_of</a>(const_cast&lt;Node *&gt;(<a href="" title="parameter node">node</a>));</span>
<a id="line92"></a><span class="lineno"> 92</span><span class="line">}</span>
<a id="line93"></a><span class="lineno"> 93</span>
<a id="line94"></a><span class="lineno"> 94</span><span class="line">inline <span class="keyword">bool</span> <a href="" title="function Synopsis::PTree::is_a(const Node*,Token::Type)">is_a</a>(<span class="keyword">const</span> <a href="../../../Scopes/Synopsis/PTree/Node.html" title="class Synopsis::PTree::Node">Node</a> *node, <a href="../../../Scopes/Synopsis/Token.html#Type" title="typedef Synopsis::Token::Type">Token::Type</a> t)</span>
<a id="line95"></a><span class="lineno"> 95</span><span class="line">{</span>
<a id="line96"></a><span class="lineno"> 96</span><span class="line">  <span class="keyword">if</span> (!<a href="" title="parameter node">node</a>) <span class="keyword">return</span> false;</span>
<a id="line97"></a><span class="lineno"> 97</span><span class="line">  <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html" title="class Synopsis::PTree::TypeVisitor">TypeVisitor</a> <a href="" title="local variable v">v</a>;</span>
<a id="line98"></a><span class="lineno"> 98</span><span class="line">  <a href="../../../Scopes/Synopsis/Token.html#Type" title="typedef Synopsis::Token::Type">Token::Type</a> <a href="" title="local variable type">type</a> = <a href="" title="local variable v">v</a>.<a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#type_of_lNode_S_r" title="member function Synopsis::PTree::TypeVisitor::type_of(Node*)">type_of</a>(const_cast&lt;Node *&gt;(<a href="" title="parameter node">node</a>));</span>
<a id="line99"></a><span class="lineno"> 99</span><span class="line">  <span class="keyword">return</span> <a href="" title="local variable type">type</a> == <a href="" title="parameter t">t</a>;</span>
<a id="line100"></a><span class="lineno">100</span><span class="line">}</span>
<a id="line101"></a><span class="lineno">101</span>
<a id="line102"></a><span class="lineno">102</span><span class="line">inline <span class="keyword">bool</span> <a href="" title="function Synopsis::PTree::is_a(const Node*,Token::Type,Token::Type)">is_a</a>(<span class="keyword">const</span> <a href="../../../Scopes/Synopsis/PTree/Node.html" title="class Synopsis::PTree::Node">Node</a> *node, <a href="../../../Scopes/Synopsis/Token.html#Type" title="typedef Synopsis::Token::Type">Token::Type</a> t1, <a href="../../../Scopes/Synopsis/Token.html#Type" title="typedef Synopsis::Token::Type">Token::Type</a> t2)</span>
<a id="line103"></a><span class="lineno">103</span><span class="line">{</span>
<a id="line104"></a><span class="lineno">104</span><span class="line">  <span class="keyword">if</span> (!<a href="" title="parameter node">node</a>) <span class="keyword">return</span> false;</span>
<a id="line105"></a><span class="lineno">105</span><span class="line">  <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html" title="class Synopsis::PTree::TypeVisitor">TypeVisitor</a> <a href="" title="local variable v">v</a>;</span>
<a id="line106"></a><span class="lineno">106</span><span class="line">  <a href="../../../Scopes/Synopsis/Token.html#Type" title="typedef Synopsis::Token::Type">Token::Type</a> <a href="" title="local variable type">type</a> = <a href="" title="local variable v">v</a>.<a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#type_of_lNode_S_r" title="member function Synopsis::PTree::TypeVisitor::type_of(Node*)">type_of</a>(const_cast&lt;Node *&gt;(<a href="" title="parameter node">node</a>));</span>
<a id="line107"></a><span class="lineno">107</span><span class="line">  <span class="keyword">return</span> <a href="" title="local variable type">type</a> == <a href="" title="parameter t1">t1</a> || <a href="" title="local variable type">type</a> == <a href="" title="parameter t2">t2</a>;</span>
<a id="line108"></a><span class="lineno">108</span><span class="line">}</span>
<a id="line109"></a><span class="lineno">109</span>
<a id="line110"></a><span class="lineno">110</span><span class="line">inline <span class="keyword">bool</span> <a href="" title="function Synopsis::PTree::is_a(const Node*,Token::Type,Token::Type,Token::Type)">is_a</a>(<span class="keyword">const</span> <a href="../../../Scopes/Synopsis/PTree/Node.html" title="class Synopsis::PTree::Node">Node</a> *node, <a href="../../../Scopes/Synopsis/Token.html#Type" title="typedef Synopsis::Token::Type">Token::Type</a> t1, <a href="../../../Scopes/Synopsis/Token.html#Type" title="typedef Synopsis::Token::Type">Token::Type</a> t2, <a href="../../../Scopes/Synopsis/Token.html#Type" title="typedef Synopsis::Token::Type">Token::Type</a> t3)</span>
<a id="line111"></a><span class="lineno">111</span><span class="line">{</span>
<a id="line112"></a><span class="lineno">112</span><span class="line">  <span class="keyword">if</span> (!<a href="" title="parameter node">node</a>) <span class="keyword">return</span> false;</span>
<a id="line113"></a><span class="lineno">113</span><span class="line">  <a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html" title="class Synopsis::PTree::TypeVisitor">TypeVisitor</a> <a href="" title="local variable v">v</a>;</span>
<a id="line114"></a><span class="lineno">114</span><span class="line">  <a href="../../../Scopes/Synopsis/Token.html#Type" title="typedef Synopsis::Token::Type">Token::Type</a> <a href="" title="local variable type">type</a> = <a href="" title="local variable v">v</a>.<a href="../../../Scopes/Synopsis/PTree/TypeVisitor.html#type_of_lNode_S_r" title="member function Synopsis::PTree::TypeVisitor::type_of(Node*)">type_of</a>(const_cast&lt;Node *&gt;(<a href="" title="parameter node">node</a>));</span>
<a id="line115"></a><span class="lineno">115</span><span class="line">  <span class="keyword">return</span> <a href="" title="local variable type">type</a> == <a href="" title="parameter t1">t1</a> || <a href="" title="local variable type">type</a> == <a href="" title="parameter t2">t2</a> || <a href="" title="local variable type">type</a> == <a href="" title="parameter t3">t3</a>;</span>
<a id="line116"></a><span class="lineno">116</span><span class="line">}</span>
<a id="line117"></a><span class="lineno">117</span>
<a id="line118"></a><span class="lineno">118</span><span class="line">}</span>
<a id="line119"></a><span class="lineno">119</span><span class="line">}</span>
<a id="line120"></a><span class="lineno">120</span>
<a id="line121"></a><span class="lineno">121</span><span class="line">#endif</span>
</pre>
<div class="logo">Generated on Thu Apr 16 16:28:04 2009 by 
<br/>
<a href="http://synopsis.fresco.org" target="_blank"><img src="../../../synopsis.png" alt="logo"/> synopsis</a> (version devel)</div>
</body>
</html>