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
|
/*
*/
#include "ast.hpp"
#include "../types.hpp"
#include <iostream>
#include "../parse/parseerror.hpp"
namespace AST {
Path::Path()
{
}
Path::Path(Path::TagAbsolute)
{
}
PathNode::PathNode(::std::string name, ::std::vector<TypeRef> args):
m_name(name),
m_params(args)
{
}
const ::std::string& PathNode::name() const
{
return m_name;
}
const ::std::vector<TypeRef>& PathNode::args() const
{
return m_params;
}
Pattern::Pattern(TagMaybeBind, ::std::string name)
{
}
Pattern::Pattern(TagValue, ExprNode node)
{
}
Pattern::Pattern(TagEnumVariant, Path path, ::std::vector<Pattern> sub_patterns)
{
}
Function::Function(::std::string name, TypeParams params, Class fcn_class, TypeRef ret_type, ::std::vector<StructItem> args, Expr code)
{
}
Impl::Impl(TypeRef impl_type, TypeRef trait_type)
{
}
void Impl::add_function(bool is_public, Function fcn)
{
}
void Crate::iterate_functions(Crate::fcn_visitor_t* visitor)
{
}
void Module::add_constant(bool is_public, ::std::string name, TypeRef type, Expr val)
{
::std::cout << "add_constant()" << ::std::endl;
}
void Module::add_global(bool is_public, bool is_mut, ::std::string name, TypeRef type, Expr val)
{
::std::cout << "add_global()" << ::std::endl;
}
void Module::add_struct(bool is_public, ::std::string name, TypeParams params, ::std::vector<StructItem> items)
{
}
void Module::add_function(bool is_public, Function func)
{
}
void Module::add_impl(Impl impl)
{
}
void Expr::visit_nodes(const NodeVisitor& v)
{
throw ParseError::Todo("Expr::visit_nodes");
}
ExprNode::ExprNode()
{
}
ExprNode::ExprNode(TagBlock, ::std::vector<ExprNode> nodes)
{
}
ExprNode::ExprNode(TagLetBinding, Pattern pat, ExprNode value)
{
}
ExprNode::ExprNode(TagReturn, ExprNode val)
{
}
ExprNode::ExprNode(TagCast, ExprNode value, TypeRef dst_type)
{
}
ExprNode::ExprNode(TagInteger, uint64_t value, enum eCoreType datatype)
{
}
ExprNode::ExprNode(TagStructLiteral, Path path, ExprNode base_value, ::std::vector< ::std::pair< ::std::string,ExprNode> > values )
{
}
ExprNode::ExprNode(TagCallPath, Path path, ::std::vector<ExprNode> args)
{
}
ExprNode::ExprNode(TagCallObject, ExprNode val, ::std::vector<ExprNode> args)
{
}
ExprNode::ExprNode(TagMatch, ExprNode val, ::std::vector< ::std::pair<Pattern,ExprNode> > arms)
{
}
ExprNode::ExprNode(TagIf, ExprNode cond, ExprNode true_code, ExprNode false_code)
{
}
ExprNode::ExprNode(TagNamedValue, Path path)
{
}
ExprNode::ExprNode(TagField, ::std::string name)
{
}
ExprNode::ExprNode(TagBinOp, BinOpType type, ExprNode left, ExprNode right)
{
}
TypeParam::TypeParam(bool is_lifetime, ::std::string name)
{
}
void TypeParam::addLifetimeBound(::std::string name)
{
}
void TypeParam::addTypeBound(TypeRef type)
{
}
}
|