Work around MinGW mangling of "host:/path"
[msysgit/historical-msysgit.git] / mingw / info / stabs / Method-Modifiers.html
blobb44a1e95ad5823f5b6cf9c3ead2060c5a71defba
1 <html lang="en">
2 <head>
3 <title>STABS</title>
4 <meta http-equiv="Content-Type" content="text/html">
5 <meta name="description" content="STABS">
6 <meta name="generator" content="makeinfo 4.3">
7 <link href="http://www.gnu.org/software/texinfo/" rel="generator-home">
8 </head>
9 <body>
10 <div class="node">
11 <p>
12 Node:<a name="Method%20Modifiers">Method Modifiers</a>,
13 Next:<a rel="next" accesskey="n" href="Virtual-Methods.html#Virtual%20Methods">Virtual Methods</a>,
14 Previous:<a rel="previous" accesskey="p" href="Protections.html#Protections">Protections</a>,
15 Up:<a rel="up" accesskey="u" href="Cplusplus.html#Cplusplus">Cplusplus</a>
16 <hr><br>
17 </div>
19 <h3 class="section">Method Modifiers (<code>const</code>, <code>volatile</code>, <code>const volatile</code>)</h3>
21 <p>&lt;&lt; based on a6.C &gt;&gt;
23 <p>In the class example described above all the methods have the normal
24 modifier. This method modifier information is located just after the
25 protection information for the method. This field has four possible
26 character values. Normal methods use <code>A</code>, const methods use
27 <code>B</code>, volatile methods use <code>C</code>, and const volatile methods use
28 <code>D</code>. Consider the class definition below:
30 <pre class="example"> class A {
31 public:
32 int ConstMeth (int arg) const { return arg; };
33 char VolatileMeth (char arg) volatile { return arg; };
34 float ConstVolMeth (float arg) const volatile {return arg; };
36 </pre>
38 <p>This class is described by the following stab:
40 <pre class="display"> .stabs "class(A):sym_desc(struct)type_def(20)=type_desc(struct)struct_bytes(1)
41 meth_name(ConstMeth)::type_def(21)sym_desc(method)
42 returning(int);:arg(int);protection(public)modifier(const)virtual(no);
43 meth_name(VolatileMeth)::type_def(22)=sym_desc(method)
44 returning(char);:arg(char);protection(public)modifier(volatile)virt(no)
45 meth_name(ConstVolMeth)::type_def(23)=sym_desc(method)
46 returning(float);:arg(float);protection(public)modifier(const volatile)
47 virtual(no);;", ...
48 </pre>
50 <pre class="example"> .stabs "A:T20=s1ConstMeth::21=##1;:i;2B.;VolatileMeth::22=##2;:c;2C.;
51 ConstVolMeth::23=##12;:f;2D.;;",128,0,0,0
52 </pre>
54 </body></html>