- Timestamp:
- Nov 19, 2024, 5:02:03 PM (11 months ago)
- Branches:
- master
- Children:
- d945be9
- Parents:
- 29075d1
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/AST/Expr.hpp
r29075d1 recf3812 330 330 enum GeneratedFlag { ExplicitCast, GeneratedCast }; 331 331 332 /// Even within the basic cast expression there are variants: 333 /// CCast - C-Style Cast: A backwards compatable cast from C. 334 /// CoerceCast - Coercion Cast: Change the type without changing the value. 335 /// ReturnCast - Ascription Cast: Requires the given expression result type. 336 enum CastKind { CCast, CoerceCast, ReturnCast }; 337 332 338 /// A type cast, e.g. `(int)e` 333 339 class CastExpr final : public Expr { … … 336 342 GeneratedFlag isGenerated; 337 343 338 enum CastKind { 339 Default, // C 340 Coerce, // reinterpret cast 341 Return // overload selection 342 }; 343 344 CastKind kind = Default; 344 CastKind kind = CCast; 345 345 346 346 CastExpr( const CodeLocation & loc, const Expr * a, const Type * to, 347 GeneratedFlag g = GeneratedCast, CastKind kind = Default ) : Expr( loc, to ), arg( a ), isGenerated( g ), kind( kind ) {}347 GeneratedFlag g = GeneratedCast, CastKind kind = CCast ) : Expr( loc, to ), arg( a ), isGenerated( g ), kind( kind ) {} 348 348 /// Cast-to-void 349 CastExpr( const CodeLocation & loc, const Expr * a, GeneratedFlag g = GeneratedCast, CastKind kind = Default );349 CastExpr( const CodeLocation & loc, const Expr * a, GeneratedFlag g = GeneratedCast, CastKind kind = CCast ); 350 350 351 351 /// Wrap a cast expression around an existing expression (always generated)
Note:
See TracChangeset
for help on using the changeset viewer.