forked from jckarter/clay
-
Notifications
You must be signed in to change notification settings - Fork 0
/
desugar.hpp
25 lines (19 loc) · 843 Bytes
/
desugar.hpp
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
#ifndef __DESUGAR_HPP
#define __DESUGAR_HPP
#include "clay.hpp"
namespace clay {
ExprPtr desugarCharLiteral(char c);
void desugarFieldRef(FieldRefPtr x, ModulePtr module);
ExprPtr desugarStaticIndexing(StaticIndexingPtr x);
ExprPtr desugarVariadicOp(VariadicOpPtr x);
ExprListPtr desugarVariadicAssignmentRight(VariadicAssignment *x);
StatementPtr desugarForStatement(ForPtr x);
StatementPtr desugarCatchBlocks(llvm::ArrayRef<CatchPtr> catchBlocks);
void desugarThrow(Throw* thro);
StatementPtr desugarSwitchStatement(SwitchPtr x);
ExprListPtr desugarEvalExpr(EvalExprPtr eval, EnvPtr env);
llvm::ArrayRef<StatementPtr> desugarEvalStatement(EvalStatementPtr eval, EnvPtr env);
llvm::ArrayRef<TopLevelItemPtr> desugarEvalTopLevel(EvalTopLevelPtr eval, EnvPtr env);
OverloadPtr desugarAsOverload(OverloadPtr &x);
}
#endif // __DESUGAR_HPP