1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
|
MatchExpr: match expression semantics implemented correctly?
==============================================================
CONS C(int) is matched by ...
CONS C(int) is matched by ...
CONS C(int) is matched by ...
CONS C(int) is matched by ...
const/volatile function qualifiers:
-----------------------------------
FUNC void C::f () is matched by ...
'% C::f()'
'% ...::%(...)'
FUNC void C::f() const is matched by ...
'% C::f() const'
'% C::f()'
'% ...::%(...)'
FUNC void C::f() volatile is matched by
'% C::f() volatile'
'% C::f()'
'% ...::%(...)'
FUNC void C::f() const volatile is matched by
'% C::f() const volatile'
'% C::f() volatile'
'% C::f() const'
'% C::f()'
'% ...::%(...)'
==============================================================
qualified names with '...'
--------------------------
FUNC void N1::N2::Inside::o () is matched by ...
'void N1::...::Inside::...::o ()'
'void ...::N2::...::% ()'
'void ...::N1::...::o ()'
'void N1::...::o ()'
'void N1::N2::Inside::o ()'
'% ...::%(...)'
FUNC void N1::N2::Inside::p () is matched by ...
'void ...::N2::...::% ()'
'% ...::%(...)'
FUNC void N3::o () is matched by ...
'% ...::%(...)'
FUNC void N3::p () is matched by ...
'% ...::%(...)'
FUNC void o () is matched by ...
'% ...::%(...)'
'% %(...)'
FUNC void p () is matched by ...
'void p ()'
'% ...::%(...)'
'% %(...)'
==============================================================
const / non-const function results
----------------------------------
FUNC const char r1 () is matched by ...
'const % %()'
'% ...::%(...)'
'% %(...)'
FUNC const float r2 () is matched by ...
'const float %()'
'float %()'
'const % %()'
'% ...::%(...)'
'% %(...)'
FUNC char r3 () is matched by ...
'% ...::%(...)'
'% %(...)'
FUNC float r4 () is matched by ...
'float %()'
'% ...::%(...)'
'% %(...)'
==============================================================
const / volatile pointers
-------------------------
FUNC char * p1 () is matched by ...
'% * %()'
'% ...::%(...)'
'% %(...)'
FUNC char * const p2 () is matched by ...
'char * const %()'
'% * %()'
'const % %()'
'% ...::%(...)'
'% %(...)'
FUNC char * volatile p3 () is matched by ...
'% * volatile %()'
'% * %()'
'% ...::%(...)'
'% %(...)'
FUNC char * const volatile p4 () is matched by ...
'% * volatile const %()'
'% * volatile %()'
'char * const %()'
'% * %()'
'const % %()'
'% ...::%(...)'
'% %(...)'
==============================================================
check parameter type adjustments
--------------------------------
FUNC void conv1 () is matched by ...
'void conv%(void)'
'% ...::%(...)'
'% %(...)'
FUNC void conv1 (float) is matched by ...
void conv%(const float)''
'% ...::%(...)'
'% %(...)'
FUNC void conv1 (float *) is matched by ...
'void conv%(float[32])'
'% ...::%(...)'
'% %(...)'
FUNC void conv2 (const float) is matched by ...
void conv%(const float)''
'% ...::%(...)'
'% %(...)'
FUNC void conv2 (float [32]) is matched by ...
'void conv%(float[32])'
'% ...::%(...)'
'% %(...)'
==============================================================
fancy operators
---------------
FUNC Op::operator double* () is matched by ...
'% %::operator %(...)'
'% ...::%(...)'
FUNC Op &operator + (Op&, const Op&) is matched by ...
'Op& operator +(Op&,Op&)'
'% operator %(...)'
'% ...::%(...)'
'% %(...)'
FUNC Op &Op::operator =(const Op &) is matched by ...
'% %::operator %(...)'
'% ...::%(...)'
FUNC void Op::operator <<(int) is matched by ...
'% %::operator <<(...)'
'% %::operator %(...)'
'% ...::%(...)'
==============================================================
check for enumerations in match expressions
-------------------------------------------
FUNC void fe1 (Enum1) is matched by ...
'void fe% (Enum%)'
'void fe1 (Enum1)'
'% ...::%(...)'
'% %(...)'
FUNC static void EC::fe2 (EC::Enum2) is matched by ...
'void EC::fe2 (EC::Enum2)'
'% ...::%(...)'
==============================================================
FUNC main () is matched by ...
'% ...::%(...)'
'% %(...)'
|