1 /* This file is part of Shapes.
3 * Shapes is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 3 of the License, or
8 * Shapes is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
13 * You should have received a copy of the GNU General Public License
14 * along with Shapes. If not, see <http://www.gnu.org/licenses/>.
16 * Copyright 2008 Henrik Tidefelt
21 #include "Shapes_Lang_decls.h"
30 class NegExpr
: public UnaryPrefixExpr
33 NegExpr( const Ast::SourceLocation
& loc
, const Ast::SourceLocation
& opLoc
, Ast::Expression
* expr
) : UnaryPrefixExpr( loc
, opLoc
, expr
) { }
34 NegExpr( const Ast::SourceLocation
& opLoc
, Ast::Expression
* expr
) : UnaryPrefixExpr( opLoc
, expr
) { }
35 UNARYCALLIMPL( CLASSTREE1_Float
);
36 UNARYCALLIMPL( CLASSTREE1_Integer
);
37 UNARYCALLIMPL( CLASSTREE1_Length
);
38 UNARYCALLIMPL( CLASSTREE1_FloatPair
);
39 UNARYCALLIMPL( CLASSTREE1_Coords2D
);
40 UNARYCALLIMPL( CLASSTREE1_FloatTriple
);
41 UNARYCALLIMPL( CLASSTREE1_Coords3D
);
43 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg
, const Kernel::PassedDyn
& dyn
) const;
44 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Integer
) arg
, const Kernel::PassedDyn
& dyn
) const;
45 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Length
) arg
, const Kernel::PassedDyn
& dyn
) const;
46 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::FloatPair
) arg
, const Kernel::PassedDyn
& dyn
) const;
47 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords2D
) arg
, const Kernel::PassedDyn
& dyn
) const;
48 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::FloatTriple
) arg
, const Kernel::PassedDyn
& dyn
) const;
49 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords3D
) arg
, const Kernel::PassedDyn
& dyn
) const;
52 class RelativeExpr
: public UnaryPrefixExpr
55 RelativeExpr( const Ast::SourceLocation
& loc
, const Ast::SourceLocation
& opLoc
, Ast::Expression
* expr
) : UnaryPrefixExpr( loc
, opLoc
, expr
) { }
56 UNARYCALLIMPL( CLASSTREE1_Length
);
57 UNARYCALLIMPL( CLASSTREE1_Coords2D
);
58 UNARYCALLIMPL( CLASSTREE1_Coords3D
);
60 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Length
) arg
, const Kernel::PassedDyn
& dyn
) const;
61 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords2D
) arg
, const Kernel::PassedDyn
& dyn
) const;
62 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords3D
) arg
, const Kernel::PassedDyn
& dyn
) const;
65 class NotExpr
: public UnaryPrefixExpr
68 NotExpr( const Ast::SourceLocation
& opLoc
, Ast::Expression
* expr
) : UnaryPrefixExpr( opLoc
, expr
) { }
69 UNARYCALLIMPL( CLASSTREE1_Boolean
);
71 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Boolean
) arg
, const Kernel::PassedDyn
& dyn
) const;
74 class CycleExpr
: public UnaryPostfixExpr
77 CycleExpr( const Ast::SourceLocation
& _opLoc
, Ast::Expression
* _expr
) : UnaryPostfixExpr( _opLoc
, _expr
) { }
78 UNARYCALLIMPL( CLASSTREE1_PathPoint2D
);
79 UNARYCALLIMPL( CLASSTREE1_Path2D
);
80 UNARYCALLIMPL( CLASSTREE1_PathPoint3D
);
81 UNARYCALLIMPL( CLASSTREE1_Path3D
);
83 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PathPoint2D
) arg
, const Kernel::PassedDyn
& dyn
) const;
84 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Path2D
) arg
, const Kernel::PassedDyn
& dyn
) const;
85 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PathPoint3D
) arg
, const Kernel::PassedDyn
& dyn
) const;
86 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Path3D
) arg
, const Kernel::PassedDyn
& dyn
) const;
89 class MinusMinusExpr
: public BinaryInfixExpr
92 MinusMinusExpr( const Ast::SourceLocation
& _opLoc
, Ast::Expression
* _expr1
, Ast::Expression
* _expr2
) : BinaryInfixExpr( _opLoc
, _expr1
, _expr2
) { }
93 CALLIMPL( CLASSTREE1_Float
, CLASSTREE2_Float
);
94 CALLIMPL( CLASSTREE1_Length
, CLASSTREE2_Length
);
95 CALLIMPL( CLASSTREE1_Coords2D
, CLASSTREE2_Coords2D
);
96 CALLIMPL( CLASSTREE1_Coords2D
, CLASSTREE2_PathPoint2D
);
97 CALLIMPL( CLASSTREE1_PathPoint2D
, CLASSTREE2_Coords2D
);
98 CALLIMPL( CLASSTREE1_Coords2D
, CLASSTREE2_Path2D
);
99 CALLIMPL( CLASSTREE1_Path2D
, CLASSTREE2_Coords2D
);
100 CALLIMPL( CLASSTREE1_PathPoint2D
, CLASSTREE2_PathPoint2D
);
101 CALLIMPL( CLASSTREE1_PathPoint2D
, CLASSTREE2_Path2D
);
102 CALLIMPL( CLASSTREE1_Path2D
, CLASSTREE2_PathPoint2D
);
103 CALLIMPL( CLASSTREE1_Path2D
, CLASSTREE2_Path2D
);
104 CALLIMPL( CLASSTREE1_PathSlider2D
, CLASSTREE2_PathSlider2D
);
105 CALLIMPL( CLASSTREE1_Coords3D
, CLASSTREE2_Coords3D
);
106 CALLIMPL( CLASSTREE1_Coords3D
, CLASSTREE2_PathPoint3D
);
107 CALLIMPL( CLASSTREE1_PathPoint3D
, CLASSTREE2_Coords3D
);
108 CALLIMPL( CLASSTREE1_Coords3D
, CLASSTREE2_Path3D
);
109 CALLIMPL( CLASSTREE1_Path3D
, CLASSTREE2_Coords3D
);
110 CALLIMPL( CLASSTREE1_PathPoint3D
, CLASSTREE2_PathPoint3D
);
111 CALLIMPL( CLASSTREE1_PathPoint3D
, CLASSTREE2_Path3D
);
112 CALLIMPL( CLASSTREE1_Path3D
, CLASSTREE2_PathPoint3D
);
113 CALLIMPL( CLASSTREE1_Path3D
, CLASSTREE2_Path3D
);
114 CALLIMPL( CLASSTREE1_PathSlider3D
, CLASSTREE2_PathSlider3D
);
116 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
117 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Length
) arg1
, DUMMYANDREF( const Lang::Length
) arg2
, const Kernel::PassedDyn
& dyn
) const;
118 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords2D
) arg1
, DUMMYANDREF( const Lang::Coords2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
119 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords2D
) arg1
, DUMMYANDREF( const Lang::PathPoint2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
120 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PathPoint2D
) arg1
, DUMMYANDREF( const Lang::Coords2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
121 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords2D
) arg1
, DUMMYANDREF( const Lang::Path2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
122 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Path2D
) arg1
, DUMMYANDREF( const Lang::Coords2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
123 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PathPoint2D
) arg1
, DUMMYANDREF( const Lang::PathPoint2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
124 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PathPoint2D
) arg1
, DUMMYANDREF( const Lang::Path2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
125 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Path2D
) arg1
, DUMMYANDREF( const Lang::PathPoint2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
126 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Path2D
) arg1
, DUMMYANDREF( const Lang::Path2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
127 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PathSlider2D
) arg1
, DUMMYANDREF( const Lang::PathSlider2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
128 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords3D
) arg1
, DUMMYANDREF( const Lang::Coords3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
129 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords3D
) arg1
, DUMMYANDREF( const Lang::PathPoint3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
130 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PathPoint3D
) arg1
, DUMMYANDREF( const Lang::Coords3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
131 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords3D
) arg1
, DUMMYANDREF( const Lang::Path3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
132 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Path3D
) arg1
, DUMMYANDREF( const Lang::Coords3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
133 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PathPoint3D
) arg1
, DUMMYANDREF( const Lang::PathPoint3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
134 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PathPoint3D
) arg1
, DUMMYANDREF( const Lang::Path3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
135 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Path3D
) arg1
, DUMMYANDREF( const Lang::PathPoint3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
136 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Path3D
) arg1
, DUMMYANDREF( const Lang::Path3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
137 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PathSlider3D
) arg1
, DUMMYANDREF( const Lang::PathSlider3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
140 class PlusPlusExpr
: public BinaryInfixExpr
143 PlusPlusExpr( const Ast::SourceLocation
& _opLoc
, Ast::Expression
* _expr1
, Ast::Expression
* _expr2
) : BinaryInfixExpr( _opLoc
, _expr1
, _expr2
) { }
144 CALLIMPL( CLASSTREE1_Float
, CLASSTREE2_Float
);
145 CALLIMPL( CLASSTREE1_Length
, CLASSTREE2_Length
);
147 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
148 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Length
) arg1
, DUMMYANDREF( const Lang::Length
) arg2
, const Kernel::PassedDyn
& dyn
) const;
151 class AmpersandExpr
: public BinaryInfixExpr
154 AmpersandExpr( const Ast::SourceLocation
& _opLoc
, Ast::Expression
* _expr1
, Ast::Expression
* _expr2
) : BinaryInfixExpr( _opLoc
, _expr1
, _expr2
) { }
155 CALLIMPL( CLASSTREE1_Path2D
, CLASSTREE2_Path2D
);
156 CALLIMPL( CLASSTREE1_MultiPath2D
, CLASSTREE2_Path2D
);
157 CALLIMPL( CLASSTREE1_Path2D
, CLASSTREE2_MultiPath2D
);
158 CALLIMPL( CLASSTREE1_MultiPath2D
, CLASSTREE2_MultiPath2D
);
159 CALLIMPL( CLASSTREE1_Path3D
, CLASSTREE2_Path3D
);
160 CALLIMPL( CLASSTREE1_MultiPath3D
, CLASSTREE2_Path3D
);
161 CALLIMPL( CLASSTREE1_Path3D
, CLASSTREE2_MultiPath3D
);
162 CALLIMPL( CLASSTREE1_MultiPath3D
, CLASSTREE2_MultiPath3D
);
163 CALLIMPL( CLASSTREE1_DynamicBindings
, CLASSTREE2_DynamicBindings
);
164 CALLIMPL( CLASSTREE1_Drawable2D
, CLASSTREE2_Drawable2D
);
165 CALLIMPL( CLASSTREE1_Drawable3D
, CLASSTREE2_Drawable3D
);
167 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Path2D
) arg1
, DUMMYANDREF( const Lang::Path2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
168 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::MultiPath2D
) arg1
, DUMMYANDREF( const Lang::Path2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
169 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Path2D
) arg1
, DUMMYANDREF( const Lang::MultiPath2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
170 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::MultiPath2D
) arg1
, DUMMYANDREF( const Lang::MultiPath2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
171 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Path3D
) arg1
, DUMMYANDREF( const Lang::Path3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
172 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::MultiPath3D
) arg1
, DUMMYANDREF( const Lang::Path3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
173 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Path3D
) arg1
, DUMMYANDREF( const Lang::MultiPath3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
174 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::MultiPath3D
) arg1
, DUMMYANDREF( const Lang::MultiPath3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
175 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::DynamicBindings
) arg1
, DUMMYANDREF( const Lang::DynamicBindings
) arg2
, const Kernel::PassedDyn
& dyn
) const;
176 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Drawable2D
) arg1
, DUMMYANDREF( const Lang::Drawable2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
177 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Group2D
) arg1
, DUMMYANDREF( const Lang::Drawable2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
178 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Drawable3D
) arg1
, DUMMYANDREF( const Lang::Drawable3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
179 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Group3D
) arg1
, DUMMYANDREF( const Lang::Drawable3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
182 class PlusExpr
: public BinaryInfixExpr
185 PlusExpr( const Ast::SourceLocation
& _opLoc
, Ast::Expression
* _expr1
, Ast::Expression
* _expr2
) : BinaryInfixExpr( _opLoc
, _expr1
, _expr2
) { }
186 CALLIMPL( CLASSTREE1_Float
, CLASSTREE2_Float
);
187 CALLIMPL( CLASSTREE1_Integer
, CLASSTREE2_Integer
);
188 CALLIMPL( CLASSTREE1_Length
, CLASSTREE2_Length
);
189 CALLIMPL( CLASSTREE1_FloatPair
, CLASSTREE2_FloatPair
);
190 CALLIMPL( CLASSTREE1_Coords2D
, CLASSTREE2_Coords2D
);
191 CALLIMPL( CLASSTREE1_FloatTriple
, CLASSTREE2_FloatTriple
);
192 CALLIMPL( CLASSTREE1_Coords3D
, CLASSTREE2_Coords3D
);
193 CALLIMPL( CLASSTREE1_String
, CLASSTREE2_String
);
194 CALLIMPL( CLASSTREE1_Dash
, CLASSTREE2_Length
);
195 CALLIMPL( CLASSTREE1_Length
, CLASSTREE2_Dash
);
196 CALLIMPL( CLASSTREE1_PathSlider2D
, CLASSTREE2_Float
);
197 CALLIMPL( CLASSTREE1_PathSlider2D
, CLASSTREE2_Length
);
198 CALLIMPL( CLASSTREE1_PathSlider3D
, CLASSTREE2_Float
);
199 CALLIMPL( CLASSTREE1_PathSlider3D
, CLASSTREE2_Length
);
200 CALLIMPL( CLASSTREE1_RGB
, CLASSTREE2_RGB
);
201 CALLIMPL( CLASSTREE1_Gray
, CLASSTREE2_Gray
);
202 CALLIMPL( CLASSTREE1_SpecularReflection
, CLASSTREE2_SpecularReflection
);
204 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
205 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Integer
) arg1
, DUMMYANDREF( const Lang::Integer
) arg2
, const Kernel::PassedDyn
& dyn
) const;
206 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Length
) arg1
, DUMMYANDREF( const Lang::Length
) arg2
, const Kernel::PassedDyn
& dyn
) const;
207 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::FloatPair
) arg1
, DUMMYANDREF( const Lang::FloatPair
) arg2
, const Kernel::PassedDyn
& dyn
) const;
208 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords2D
) arg1
, DUMMYANDREF( const Lang::Coords2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
209 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::FloatTriple
) arg1
, DUMMYANDREF( const Lang::FloatTriple
) arg2
, const Kernel::PassedDyn
& dyn
) const;
210 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords3D
) arg1
, DUMMYANDREF( const Lang::Coords3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
211 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::String
) arg1
, DUMMYANDREF( const Lang::String
) arg2
, const Kernel::PassedDyn
& dyn
) const;
212 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Dash
) arg1
, DUMMYANDREF( const Lang::Length
) arg2
, const Kernel::PassedDyn
& dyn
) const;
213 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Length
) arg1
, DUMMYANDREF( const Lang::Dash
) arg2
, const Kernel::PassedDyn
& dyn
) const;
214 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PathSlider2D
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
215 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PathSlider2D
) arg1
, DUMMYANDREF( const Lang::Length
) arg2
, const Kernel::PassedDyn
& dyn
) const;
216 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PathSlider3D
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
217 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PathSlider3D
) arg1
, DUMMYANDREF( const Lang::Length
) arg2
, const Kernel::PassedDyn
& dyn
) const;
218 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::RGB
) arg1
, DUMMYANDREF( const Lang::RGB
) arg2
, const Kernel::PassedDyn
& dyn
) const;
219 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Gray
) arg1
, DUMMYANDREF( const Lang::Gray
) arg2
, const Kernel::PassedDyn
& dyn
) const;
220 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::SpecularReflection
) arg1
, DUMMYANDREF( const Lang::SpecularReflection
) arg2
, const Kernel::PassedDyn
& dyn
) const;
223 class MinusExpr
: public BinaryInfixExpr
226 MinusExpr( const Ast::SourceLocation
& _opLoc
, Ast::Expression
* _expr1
, Ast::Expression
* _expr2
) : BinaryInfixExpr( _opLoc
, _expr1
, _expr2
) { }
227 CALLIMPL( CLASSTREE1_Float
, CLASSTREE2_Float
);
228 CALLIMPL( CLASSTREE1_Integer
, CLASSTREE2_Integer
);
229 CALLIMPL( CLASSTREE1_Length
, CLASSTREE2_Length
);
230 CALLIMPL( CLASSTREE1_FloatPair
, CLASSTREE2_FloatPair
);
231 CALLIMPL( CLASSTREE1_Coords2D
, CLASSTREE2_Coords2D
);
232 CALLIMPL( CLASSTREE1_FloatTriple
, CLASSTREE2_FloatTriple
);
233 CALLIMPL( CLASSTREE1_Coords3D
, CLASSTREE2_Coords3D
);
234 CALLIMPL( CLASSTREE1_PathSlider2D
, CLASSTREE2_Float
);
235 CALLIMPL( CLASSTREE1_PathSlider2D
, CLASSTREE2_Length
);
236 CALLIMPL( CLASSTREE1_PathSlider3D
, CLASSTREE2_Float
);
237 CALLIMPL( CLASSTREE1_PathSlider3D
, CLASSTREE2_Length
);
239 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
240 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Integer
) arg1
, DUMMYANDREF( const Lang::Integer
) arg2
, const Kernel::PassedDyn
& dyn
) const;
241 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Length
) arg1
, DUMMYANDREF( const Lang::Length
) arg2
, const Kernel::PassedDyn
& dyn
) const;
242 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::FloatPair
) arg1
, DUMMYANDREF( const Lang::FloatPair
) arg2
, const Kernel::PassedDyn
& dyn
) const;
243 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords2D
) arg1
, DUMMYANDREF( const Lang::Coords2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
244 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::FloatTriple
) arg1
, DUMMYANDREF( const Lang::FloatTriple
) arg2
, const Kernel::PassedDyn
& dyn
) const;
245 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords3D
) arg1
, DUMMYANDREF( const Lang::Coords3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
246 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PathSlider2D
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
247 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PathSlider2D
) arg1
, DUMMYANDREF( const Lang::Length
) arg2
, const Kernel::PassedDyn
& dyn
) const;
248 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PathSlider3D
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
249 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PathSlider3D
) arg1
, DUMMYANDREF( const Lang::Length
) arg2
, const Kernel::PassedDyn
& dyn
) const;
252 class AngleExpr
: public BinaryInfixExpr
255 AngleExpr( const Ast::SourceLocation
& _opLoc
, Ast::Expression
* _expr1
, Ast::Expression
* _expr2
) : BinaryInfixExpr( _opLoc
, _expr1
, _expr2
) { }
256 CALLIMPL( CLASSTREE1_Float
, CLASSTREE2_Float
);
257 CALLIMPL( CLASSTREE1_Float
, CLASSTREE2_Length
);
258 CALLIMPL( CLASSTREE1_Length
, CLASSTREE2_Float
);
259 CALLIMPL( CLASSTREE1_Length
, CLASSTREE2_Length
);
260 CALLIMPL( CLASSTREE1_FloatPair
, CLASSTREE2_FloatPair
);
261 CALLIMPL( CLASSTREE1_FloatPair
, CLASSTREE2_Coords2D
);
262 CALLIMPL( CLASSTREE1_Coords2D
, CLASSTREE2_FloatPair
);
263 CALLIMPL( CLASSTREE1_Coords2D
, CLASSTREE2_Coords2D
);
264 CALLIMPL( CLASSTREE1_FloatTriple
, CLASSTREE2_FloatTriple
);
265 CALLIMPL( CLASSTREE1_FloatTriple
, CLASSTREE2_Coords3D
);
266 CALLIMPL( CLASSTREE1_Coords3D
, CLASSTREE2_FloatTriple
);
267 CALLIMPL( CLASSTREE1_Coords3D
, CLASSTREE2_Coords3D
);
269 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
270 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg1
, DUMMYANDREF( const Lang::Length
) arg2
, const Kernel::PassedDyn
& dyn
) const;
271 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Length
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
272 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Length
) arg1
, DUMMYANDREF( const Lang::Length
) arg2
, const Kernel::PassedDyn
& dyn
) const;
273 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::FloatPair
) arg1
, DUMMYANDREF( const Lang::FloatPair
) arg2
, const Kernel::PassedDyn
& dyn
) const;
274 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::FloatPair
) arg1
, DUMMYANDREF( const Lang::Coords2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
275 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords2D
) arg1
, DUMMYANDREF( const Lang::FloatPair
) arg2
, const Kernel::PassedDyn
& dyn
) const;
276 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords2D
) arg1
, DUMMYANDREF( const Lang::Coords2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
277 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::FloatTriple
) arg1
, DUMMYANDREF( const Lang::FloatTriple
) arg2
, const Kernel::PassedDyn
& dyn
) const;
278 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::FloatTriple
) arg1
, DUMMYANDREF( const Lang::Coords3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
279 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords3D
) arg1
, DUMMYANDREF( const Lang::FloatTriple
) arg2
, const Kernel::PassedDyn
& dyn
) const;
280 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords3D
) arg1
, DUMMYANDREF( const Lang::Coords3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
283 class AmpersandMoreExpr
: public BinaryInfixExpr
286 AmpersandMoreExpr( const Ast::SourceLocation
& _opLoc
, Ast::Expression
* _expr1
, Ast::Expression
* _expr2
) : BinaryInfixExpr( _opLoc
, _expr1
, _expr2
) { }
287 CALLIMPL( CLASSTREE1_DynamicBindings
, CLASSTREE2_DynamicBindings
);
289 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::DynamicBindings
) arg1
, DUMMYANDREF( const Lang::DynamicBindings
) arg2
, const Kernel::PassedDyn
& dyn
) const;
292 class StarExpr
: public BinaryInfixExpr
295 StarExpr( const Ast::SourceLocation
& _opLoc
, Ast::Expression
* _expr1
, Ast::Expression
* _expr2
) : BinaryInfixExpr( _opLoc
, _expr1
, _expr2
) { }
296 CALLIMPL( CLASSTREE1_Float
, CLASSTREE2_Float
);
297 CALLIMPL( CLASSTREE1_FloatPair
, CLASSTREE2_FloatPair
);
298 CALLIMPL( CLASSTREE1_FloatPair
, CLASSTREE2_Float
);
299 CALLIMPL( CLASSTREE1_Float
, CLASSTREE2_FloatPair
);
300 CALLIMPL( CLASSTREE1_FloatTriple
, CLASSTREE2_FloatTriple
);
301 CALLIMPL( CLASSTREE1_FloatTriple
, CLASSTREE2_Float
);
302 CALLIMPL( CLASSTREE1_Float
, CLASSTREE2_FloatTriple
);
303 CALLIMPL( CLASSTREE1_Length
, CLASSTREE2_Float
);
304 CALLIMPL( CLASSTREE1_Float
, CLASSTREE2_Length
);
305 CALLIMPL( CLASSTREE1_Coords2D
, CLASSTREE2_Float
);
306 CALLIMPL( CLASSTREE1_Float
, CLASSTREE2_Coords2D
);
307 CALLIMPL( CLASSTREE1_Coords2D
, CLASSTREE2_FloatPair
);
308 CALLIMPL( CLASSTREE1_FloatPair
, CLASSTREE2_Coords2D
);
309 CALLIMPL( CLASSTREE1_FloatPair
, CLASSTREE2_Length
);
310 CALLIMPL( CLASSTREE1_Length
, CLASSTREE2_FloatPair
);
311 CALLIMPL( CLASSTREE1_Coords3D
, CLASSTREE2_Float
);
312 CALLIMPL( CLASSTREE1_Float
, CLASSTREE2_Coords3D
);
313 CALLIMPL( CLASSTREE1_Coords3D
, CLASSTREE2_FloatTriple
);
314 CALLIMPL( CLASSTREE1_FloatTriple
, CLASSTREE2_Coords3D
);
315 CALLIMPL( CLASSTREE1_FloatTriple
, CLASSTREE2_Length
);
316 CALLIMPL( CLASSTREE1_Length
, CLASSTREE2_FloatTriple
);
317 CALLIMPL( CLASSTREE1_Dash
, CLASSTREE2_Float
);
318 CALLIMPL( CLASSTREE1_Float
, CLASSTREE2_Dash
);
319 CALLIMPL( CLASSTREE1_Transform2D
, CLASSTREE2_Transform2D
);
320 CALLIMPL( CLASSTREE1_Transform3D
, CLASSTREE2_Transform3D
);
321 CALLIMPL( CLASSTREE1_Float
, CLASSTREE2_RGB
);
322 CALLIMPL( CLASSTREE1_RGB
, CLASSTREE2_Float
);
323 CALLIMPL( CLASSTREE1_Float
, CLASSTREE2_Gray
);
324 CALLIMPL( CLASSTREE1_Gray
, CLASSTREE2_Float
);
325 CALLIMPL( CLASSTREE1_Float
, CLASSTREE2_SpecularReflection
);
326 CALLIMPL( CLASSTREE1_SpecularReflection
, CLASSTREE2_Float
);
327 CALLIMPL( CLASSTREE1_Integer
, CLASSTREE2_Integer
);
328 CALLIMPL( CLASSTREE1_Float
, CLASSTREE2_Integer
);
329 CALLIMPL( CLASSTREE1_Integer
, CLASSTREE2_Float
);
330 CALLIMPL( CLASSTREE1_Length
, CLASSTREE2_Integer
);
331 CALLIMPL( CLASSTREE1_Integer
, CLASSTREE2_Length
);
333 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
334 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::FloatPair
) arg1
, DUMMYANDREF( const Lang::FloatPair
) arg2
, const Kernel::PassedDyn
& dyn
) const;
335 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::FloatPair
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
336 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg1
, DUMMYANDREF( const Lang::FloatPair
) arg2
, const Kernel::PassedDyn
& dyn
) const;
337 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::FloatTriple
) arg1
, DUMMYANDREF( const Lang::FloatTriple
) arg2
, const Kernel::PassedDyn
& dyn
) const;
338 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::FloatTriple
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
339 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg1
, DUMMYANDREF( const Lang::FloatTriple
) arg2
, const Kernel::PassedDyn
& dyn
) const;
340 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Length
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
341 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg1
, DUMMYANDREF( const Lang::Length
) arg2
, const Kernel::PassedDyn
& dyn
) const;
342 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords2D
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
343 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg1
, DUMMYANDREF( const Lang::Coords2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
344 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords2D
) arg1
, DUMMYANDREF( const Lang::FloatPair
) arg2
, const Kernel::PassedDyn
& dyn
) const;
345 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::FloatPair
) arg1
, DUMMYANDREF( const Lang::Coords2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
346 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::FloatPair
) arg1
, DUMMYANDREF( const Lang::Length
) arg2
, const Kernel::PassedDyn
& dyn
) const;
347 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Length
) arg1
, DUMMYANDREF( const Lang::FloatPair
) arg2
, const Kernel::PassedDyn
& dyn
) const;
348 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords3D
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
349 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg1
, DUMMYANDREF( const Lang::Coords3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
350 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords3D
) arg1
, DUMMYANDREF( const Lang::FloatTriple
) arg2
, const Kernel::PassedDyn
& dyn
) const;
351 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::FloatTriple
) arg1
, DUMMYANDREF( const Lang::Coords3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
352 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::FloatTriple
) arg1
, DUMMYANDREF( const Lang::Length
) arg2
, const Kernel::PassedDyn
& dyn
) const;
353 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Length
) arg1
, DUMMYANDREF( const Lang::FloatTriple
) arg2
, const Kernel::PassedDyn
& dyn
) const;
354 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Dash
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
355 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg1
, DUMMYANDREF( const Lang::Dash
) arg2
, const Kernel::PassedDyn
& dyn
) const;
356 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Transform2D
) arg1
, DUMMYANDREF( const Lang::Transform2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
357 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Transform3D
) arg1
, DUMMYANDREF( const Lang::Transform3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
358 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg1
, DUMMYANDREF( const Lang::RGB
) arg2
, const Kernel::PassedDyn
& dyn
) const;
359 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::RGB
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
360 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg1
, DUMMYANDREF( const Lang::Gray
) arg2
, const Kernel::PassedDyn
& dyn
) const;
361 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Gray
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
362 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg1
, DUMMYANDREF( const Lang::SpecularReflection
) arg2
, const Kernel::PassedDyn
& dyn
) const;
363 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::SpecularReflection
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
364 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Integer
) arg1
, DUMMYANDREF( const Lang::Integer
) arg2
, const Kernel::PassedDyn
& dyn
) const;
365 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg1
, DUMMYANDREF( const Lang::Integer
) arg2
, const Kernel::PassedDyn
& dyn
) const;
366 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Integer
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
367 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Length
) arg1
, DUMMYANDREF( const Lang::Integer
) arg2
, const Kernel::PassedDyn
& dyn
) const;
368 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Integer
) arg1
, DUMMYANDREF( const Lang::Length
) arg2
, const Kernel::PassedDyn
& dyn
) const;
371 class SlashExpr
: public BinaryInfixExpr
374 SlashExpr( const Ast::SourceLocation
& _opLoc
, Ast::Expression
* _expr1
, Ast::Expression
* _expr2
) : BinaryInfixExpr( _opLoc
, _expr1
, _expr2
) { }
375 CALLIMPL( CLASSTREE1_Float
, CLASSTREE2_Float
);
376 CALLIMPL( CLASSTREE1_Length
, CLASSTREE2_Length
);
377 CALLIMPL( CLASSTREE1_Length
, CLASSTREE2_Float
);
378 CALLIMPL( CLASSTREE1_FloatPair
, CLASSTREE2_Float
);
379 CALLIMPL( CLASSTREE1_Coords2D
, CLASSTREE2_Length
);
380 CALLIMPL( CLASSTREE1_Coords2D
, CLASSTREE2_Float
);
381 CALLIMPL( CLASSTREE1_FloatTriple
, CLASSTREE2_Float
);
382 CALLIMPL( CLASSTREE1_Coords3D
, CLASSTREE2_Length
);
383 CALLIMPL( CLASSTREE1_Coords3D
, CLASSTREE2_Float
);
384 CALLIMPL( CLASSTREE1_Integer
, CLASSTREE2_Integer
);
385 CALLIMPL( CLASSTREE1_Float
, CLASSTREE2_Integer
);
386 CALLIMPL( CLASSTREE1_Length
, CLASSTREE2_Integer
);
388 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
389 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Length
) arg1
, DUMMYANDREF( const Lang::Length
) arg2
, const Kernel::PassedDyn
& dyn
) const;
390 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Length
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
391 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::FloatPair
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
392 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords2D
) arg1
, DUMMYANDREF( const Lang::Length
) arg2
, const Kernel::PassedDyn
& dyn
) const;
393 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords2D
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
394 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::FloatTriple
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
395 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords3D
) arg1
, DUMMYANDREF( const Lang::Length
) arg2
, const Kernel::PassedDyn
& dyn
) const;
396 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords3D
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
397 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Integer
) arg1
, DUMMYANDREF( const Lang::Integer
) arg2
, const Kernel::PassedDyn
& dyn
) const;
398 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg1
, DUMMYANDREF( const Lang::Integer
) arg2
, const Kernel::PassedDyn
& dyn
) const;
399 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Length
) arg1
, DUMMYANDREF( const Lang::Integer
) arg2
, const Kernel::PassedDyn
& dyn
) const;
402 class ProjectionExpr
: public BinaryInfixExpr
405 ProjectionExpr( const Ast::SourceLocation
& _opLoc
, Ast::Expression
* _expr1
, Ast::Expression
* _expr2
) : BinaryInfixExpr( _opLoc
, _expr1
, _expr2
) { }
406 CALLIMPL( CLASSTREE1_FloatPair
, CLASSTREE2_FloatPair
);
407 CALLIMPL( CLASSTREE1_FloatPair
, CLASSTREE2_Coords2D
);
408 CALLIMPL( CLASSTREE1_Coords2D
, CLASSTREE2_FloatPair
);
409 CALLIMPL( CLASSTREE1_Coords2D
, CLASSTREE2_Coords2D
);
410 CALLIMPL( CLASSTREE1_FloatTriple
, CLASSTREE2_FloatTriple
);
411 CALLIMPL( CLASSTREE1_FloatTriple
, CLASSTREE2_Coords3D
);
412 CALLIMPL( CLASSTREE1_Coords3D
, CLASSTREE2_FloatTriple
);
413 CALLIMPL( CLASSTREE1_Coords3D
, CLASSTREE2_Coords3D
);
415 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::FloatPair
) arg1
, DUMMYANDREF( const Lang::FloatPair
) arg2
, const Kernel::PassedDyn
& dyn
) const;
416 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::FloatPair
) arg1
, DUMMYANDREF( const Lang::Coords2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
417 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords2D
) arg1
, DUMMYANDREF( const Lang::FloatPair
) arg2
, const Kernel::PassedDyn
& dyn
) const;
418 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords2D
) arg1
, DUMMYANDREF( const Lang::Coords2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
419 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::FloatTriple
) arg1
, DUMMYANDREF( const Lang::FloatTriple
) arg2
, const Kernel::PassedDyn
& dyn
) const;
420 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::FloatTriple
) arg1
, DUMMYANDREF( const Lang::Coords3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
421 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords3D
) arg1
, DUMMYANDREF( const Lang::FloatTriple
) arg2
, const Kernel::PassedDyn
& dyn
) const;
422 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords3D
) arg1
, DUMMYANDREF( const Lang::Coords3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
425 class ComposeExpr
: public BinaryInfixExpr
428 ComposeExpr( const Ast::SourceLocation
& _opLoc
, Ast::Expression
* _expr1
, Ast::Expression
* _expr2
) : BinaryInfixExpr( _opLoc
, _expr1
, _expr2
) { }
429 CALLIMPL( CLASSTREE1_Transform2D
, CLASSTREE2_Transform2D
);
430 CALLIMPL( CLASSTREE1_Transform3D
, CLASSTREE2_Transform3D
);
431 CALLIMPL( CLASSTREE1_Function
, CLASSTREE2_Function
);
433 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Transform2D
) arg1
, DUMMYANDREF( const Lang::Transform2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
434 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Transform3D
) arg1
, DUMMYANDREF( const Lang::Transform3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
435 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Function
) arg1
, DUMMYANDREF( const Lang::Function
) arg2
, const Kernel::PassedDyn
& dyn
) const;
438 class LessExpr
: public BinaryInfixExpr
441 LessExpr( const Ast::SourceLocation
& _opLoc
, Ast::Expression
* _expr1
, Ast::Expression
* _expr2
) : BinaryInfixExpr( _opLoc
, _expr1
, _expr2
) { }
442 CALLIMPL( CLASSTREE1_Symbol
, CLASSTREE2_Symbol
);
443 CALLIMPL( CLASSTREE1_Float
, CLASSTREE2_Float
);
444 CALLIMPL( CLASSTREE1_Integer
, CLASSTREE2_Integer
);
445 CALLIMPL( CLASSTREE1_Character
, CLASSTREE2_Character
);
446 CALLIMPL( CLASSTREE1_Length
, CLASSTREE2_Length
);
447 CALLIMPL( CLASSTREE1_Coords2D
, CLASSTREE2_Coords2D
);
448 CALLIMPL( CLASSTREE1_Coords2D
, CLASSTREE2_PathPoint2D
);
449 CALLIMPL( CLASSTREE1_Coords2D
, CLASSTREE2_PathSlider2D
);
450 CALLIMPL( CLASSTREE1_PolarHandleBase
, CLASSTREE2_Coords2D
);
451 CALLIMPL( CLASSTREE1_PolarHandleBase
, CLASSTREE2_PathPoint2D
);
452 CALLIMPL( CLASSTREE1_PolarHandleBase
, CLASSTREE2_PathSlider2D
);
453 CALLIMPL( CLASSTREE1_Coords3D
, CLASSTREE2_Coords3D
);
454 CALLIMPL( CLASSTREE1_Coords3D
, CLASSTREE2_PathPoint3D
);
455 CALLIMPL( CLASSTREE1_Coords3D
, CLASSTREE2_PathSlider3D
);
457 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Symbol
) arg1
, DUMMYANDREF( const Lang::Symbol
) arg2
, const Kernel::PassedDyn
& dyn
) const;
458 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
459 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Integer
) arg1
, DUMMYANDREF( const Lang::Integer
) arg2
, const Kernel::PassedDyn
& dyn
) const;
460 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Character
) arg1
, DUMMYANDREF( const Lang::Character
) arg2
, const Kernel::PassedDyn
& dyn
) const;
461 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Length
) arg1
, DUMMYANDREF( const Lang::Length
) arg2
, const Kernel::PassedDyn
& dyn
) const;
462 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords2D
) arg1
, DUMMYANDREF( const Lang::Coords2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
463 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords2D
) arg1
, DUMMYANDREF( const Lang::PathPoint2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
464 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords2D
) arg1
, DUMMYANDREF( const Lang::PathSlider2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
465 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PolarHandleBase
) arg1
, DUMMYANDREF( const Lang::Coords2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
466 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PolarHandleBase
) arg1
, DUMMYANDREF( const Lang::PathPoint2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
467 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PolarHandleBase
) arg1
, DUMMYANDREF( const Lang::PathSlider2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
468 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::CornerCoords2D
) arg1
, DUMMYANDREF( const Lang::Coords2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
469 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::CornerCoords2D
) arg1
, DUMMYANDREF( const Lang::PathPoint2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
470 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords3D
) arg1
, DUMMYANDREF( const Lang::Coords3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
471 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords3D
) arg1
, DUMMYANDREF( const Lang::PathPoint3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
472 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords3D
) arg1
, DUMMYANDREF( const Lang::PathSlider3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
475 class GreaterExpr
: public BinaryInfixExpr
478 GreaterExpr( const Ast::SourceLocation
& _opLoc
, Ast::Expression
* _expr1
, Ast::Expression
* _expr2
) : BinaryInfixExpr( _opLoc
, _expr1
, _expr2
) { }
479 CALLIMPL( CLASSTREE1_Symbol
, CLASSTREE2_Symbol
);
480 CALLIMPL( CLASSTREE1_Float
, CLASSTREE2_Float
);
481 CALLIMPL( CLASSTREE1_Integer
, CLASSTREE2_Integer
);
482 CALLIMPL( CLASSTREE1_Character
, CLASSTREE2_Character
);
483 CALLIMPL( CLASSTREE1_Length
, CLASSTREE2_Length
);
484 CALLIMPL( CLASSTREE1_Coords2D
, CLASSTREE2_Coords2D
);
485 CALLIMPL( CLASSTREE1_PathPoint2D
, CLASSTREE2_Coords2D
);
486 CALLIMPL( CLASSTREE1_PathSlider2D
, CLASSTREE2_Coords2D
);
487 CALLIMPL( CLASSTREE1_Coords2D
, CLASSTREE2_PolarHandleBase
);
488 CALLIMPL( CLASSTREE1_PathPoint2D
, CLASSTREE2_PolarHandleBase
);
489 CALLIMPL( CLASSTREE1_PathSlider2D
, CLASSTREE2_PolarHandleBase
);
490 CALLIMPL( CLASSTREE1_Coords3D
, CLASSTREE2_Coords3D
);
491 CALLIMPL( CLASSTREE1_PathPoint3D
, CLASSTREE2_Coords3D
);
492 CALLIMPL( CLASSTREE1_PathSlider3D
, CLASSTREE2_Coords3D
);
494 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Symbol
) arg1
, DUMMYANDREF( const Lang::Symbol
) arg2
, const Kernel::PassedDyn
& dyn
) const;
495 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
496 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Integer
) arg1
, DUMMYANDREF( const Lang::Integer
) arg2
, const Kernel::PassedDyn
& dyn
) const;
497 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Character
) arg1
, DUMMYANDREF( const Lang::Character
) arg2
, const Kernel::PassedDyn
& dyn
) const;
498 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Length
) arg1
, DUMMYANDREF( const Lang::Length
) arg2
, const Kernel::PassedDyn
& dyn
) const;
499 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords2D
) arg1
, DUMMYANDREF( const Lang::Coords2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
500 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PathPoint2D
) arg1
, DUMMYANDREF( const Lang::Coords2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
501 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PathSlider2D
) arg1
, DUMMYANDREF( const Lang::Coords2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
502 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords2D
) arg1
, DUMMYANDREF( const Lang::PolarHandleBase
) arg2
, const Kernel::PassedDyn
& dyn
) const;
503 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PathPoint2D
) arg1
, DUMMYANDREF( const Lang::PolarHandleBase
) arg2
, const Kernel::PassedDyn
& dyn
) const;
504 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PathSlider2D
) arg1
, DUMMYANDREF( const Lang::PolarHandleBase
) arg2
, const Kernel::PassedDyn
& dyn
) const;
505 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords2D
) arg1
, DUMMYANDREF( const Lang::CornerCoords2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
506 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PathPoint2D
) arg1
, DUMMYANDREF( const Lang::CornerCoords2D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
507 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Coords3D
) arg1
, DUMMYANDREF( const Lang::Coords3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
508 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PathPoint3D
) arg1
, DUMMYANDREF( const Lang::Coords3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
509 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::PathSlider3D
) arg1
, DUMMYANDREF( const Lang::Coords3D
) arg2
, const Kernel::PassedDyn
& dyn
) const;
512 class EqualExpr
: public BinaryInfixExpr
515 EqualExpr( const Ast::SourceLocation
& _opLoc
, Ast::Expression
* _expr1
, Ast::Expression
* _expr2
) : BinaryInfixExpr( _opLoc
, _expr1
, _expr2
) { }
516 CALLIMPL( CLASSTREE1_Symbol
, CLASSTREE2_Symbol
);
517 CALLIMPL( CLASSTREE1_Float
, CLASSTREE2_Float
);
518 CALLIMPL( CLASSTREE1_Integer
, CLASSTREE2_Integer
);
519 CALLIMPL( CLASSTREE1_Character
, CLASSTREE2_Character
);
520 CALLIMPL( CLASSTREE1_Length
, CLASSTREE2_Length
);
521 CALLIMPL( CLASSTREE1_Class
, CLASSTREE2_Class
);
522 CALLIMPL( CLASSTREE1_Function
, CLASSTREE2_Function
);
524 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Symbol
) arg1
, DUMMYANDREF( const Lang::Symbol
) arg2
, const Kernel::PassedDyn
& dyn
) const;
525 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
526 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Integer
) arg1
, DUMMYANDREF( const Lang::Integer
) arg2
, const Kernel::PassedDyn
& dyn
) const;
527 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Character
) arg1
, DUMMYANDREF( const Lang::Character
) arg2
, const Kernel::PassedDyn
& dyn
) const;
528 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Length
) arg1
, DUMMYANDREF( const Lang::Length
) arg2
, const Kernel::PassedDyn
& dyn
) const;
529 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Class
) arg1
, DUMMYANDREF( const Lang::Class
) arg2
, const Kernel::PassedDyn
& dyn
) const;
530 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Function
) arg1
, DUMMYANDREF( const Lang::Function
) arg2
, const Kernel::PassedDyn
& dyn
) const;
533 class NotEqualExpr
: public BinaryInfixExpr
536 NotEqualExpr( const Ast::SourceLocation
& _opLoc
, Ast::Expression
* _expr1
, Ast::Expression
* _expr2
) : BinaryInfixExpr( _opLoc
, _expr1
, _expr2
) { }
537 CALLIMPL( CLASSTREE1_Symbol
, CLASSTREE2_Symbol
);
538 CALLIMPL( CLASSTREE1_Float
, CLASSTREE2_Float
);
539 CALLIMPL( CLASSTREE1_Integer
, CLASSTREE2_Integer
);
540 CALLIMPL( CLASSTREE1_Character
, CLASSTREE2_Character
);
541 CALLIMPL( CLASSTREE1_Length
, CLASSTREE2_Length
);
542 CALLIMPL( CLASSTREE1_Class
, CLASSTREE2_Class
);
543 CALLIMPL( CLASSTREE1_Function
, CLASSTREE2_Function
);
545 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Symbol
) arg1
, DUMMYANDREF( const Lang::Symbol
) arg2
, const Kernel::PassedDyn
& dyn
) const;
546 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
547 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Integer
) arg1
, DUMMYANDREF( const Lang::Integer
) arg2
, const Kernel::PassedDyn
& dyn
) const;
548 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Character
) arg1
, DUMMYANDREF( const Lang::Character
) arg2
, const Kernel::PassedDyn
& dyn
) const;
549 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Length
) arg1
, DUMMYANDREF( const Lang::Length
) arg2
, const Kernel::PassedDyn
& dyn
) const;
550 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Class
) arg1
, DUMMYANDREF( const Lang::Class
) arg2
, const Kernel::PassedDyn
& dyn
) const;
551 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Function
) arg1
, DUMMYANDREF( const Lang::Function
) arg2
, const Kernel::PassedDyn
& dyn
) const;
554 class LessEqualExpr
: public BinaryInfixExpr
557 LessEqualExpr( const Ast::SourceLocation
& _opLoc
, Ast::Expression
* _expr1
, Ast::Expression
* _expr2
) : BinaryInfixExpr( _opLoc
, _expr1
, _expr2
) { }
558 CALLIMPL( CLASSTREE1_Symbol
, CLASSTREE2_Symbol
);
559 CALLIMPL( CLASSTREE1_Float
, CLASSTREE2_Float
);
560 CALLIMPL( CLASSTREE1_Integer
, CLASSTREE2_Integer
);
561 CALLIMPL( CLASSTREE1_Character
, CLASSTREE2_Character
);
562 CALLIMPL( CLASSTREE1_Length
, CLASSTREE2_Length
);
564 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Symbol
) arg1
, DUMMYANDREF( const Lang::Symbol
) arg2
, const Kernel::PassedDyn
& dyn
) const;
565 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
566 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Integer
) arg1
, DUMMYANDREF( const Lang::Integer
) arg2
, const Kernel::PassedDyn
& dyn
) const;
567 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Character
) arg1
, DUMMYANDREF( const Lang::Character
) arg2
, const Kernel::PassedDyn
& dyn
) const;
568 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Length
) arg1
, DUMMYANDREF( const Lang::Length
) arg2
, const Kernel::PassedDyn
& dyn
) const;
571 class GreaterEqualExpr
: public BinaryInfixExpr
574 GreaterEqualExpr( const Ast::SourceLocation
& _opLoc
, Ast::Expression
* _expr1
, Ast::Expression
* _expr2
) : BinaryInfixExpr( _opLoc
, _expr1
, _expr2
) { }
575 CALLIMPL( CLASSTREE1_Symbol
, CLASSTREE2_Symbol
);
576 CALLIMPL( CLASSTREE1_Float
, CLASSTREE2_Float
);
577 CALLIMPL( CLASSTREE1_Integer
, CLASSTREE2_Integer
);
578 CALLIMPL( CLASSTREE1_Character
, CLASSTREE2_Character
);
579 CALLIMPL( CLASSTREE1_Length
, CLASSTREE2_Length
);
581 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Symbol
) arg1
, DUMMYANDREF( const Lang::Symbol
) arg2
, const Kernel::PassedDyn
& dyn
) const;
582 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Float
) arg1
, DUMMYANDREF( const Lang::Float
) arg2
, const Kernel::PassedDyn
& dyn
) const;
583 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Integer
) arg1
, DUMMYANDREF( const Lang::Integer
) arg2
, const Kernel::PassedDyn
& dyn
) const;
584 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Character
) arg1
, DUMMYANDREF( const Lang::Character
) arg2
, const Kernel::PassedDyn
& dyn
) const;
585 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Length
) arg1
, DUMMYANDREF( const Lang::Length
) arg2
, const Kernel::PassedDyn
& dyn
) const;
588 class AndExpr
: public BinaryInfixExpr
591 AndExpr( const Ast::SourceLocation
& _opLoc
, Ast::Expression
* _expr1
, Ast::Expression
* _expr2
) : BinaryInfixExpr( _opLoc
, _expr1
, _expr2
) { }
592 CALLIMPL( CLASSTREE1_Boolean
, CLASSTREE2_Boolean
);
594 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Boolean
) arg1
, DUMMYANDREF( const Lang::Boolean
) arg2
, const Kernel::PassedDyn
& dyn
) const;
597 class OrExpr
: public BinaryInfixExpr
600 OrExpr( const Ast::SourceLocation
& _opLoc
, Ast::Expression
* _expr1
, Ast::Expression
* _expr2
) : BinaryInfixExpr( _opLoc
, _expr1
, _expr2
) { }
601 CALLIMPL( CLASSTREE1_Boolean
, CLASSTREE2_Boolean
);
603 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Boolean
) arg1
, DUMMYANDREF( const Lang::Boolean
) arg2
, const Kernel::PassedDyn
& dyn
) const;
606 class XorExpr
: public BinaryInfixExpr
609 XorExpr( const Ast::SourceLocation
& _opLoc
, Ast::Expression
* _expr1
, Ast::Expression
* _expr2
) : BinaryInfixExpr( _opLoc
, _expr1
, _expr2
) { }
610 CALLIMPL( CLASSTREE1_Boolean
, CLASSTREE2_Boolean
);
612 RefCountPtr
< const Lang::Value
> impl( DUMMYANDREF( const Lang::Boolean
) arg1
, DUMMYANDREF( const Lang::Boolean
) arg2
, const Kernel::PassedDyn
& dyn
) const;