로딩중...
검색중...
일치하는것 없음
defBlock.hpp
이 파일의 문서화 페이지로 가기
1
2
#pragma once
3
4
#include "
core/ast/scope.hpp
"
5
#include "
core/builtin/container/native/tnarr.hpp
"
6
7
namespace
by {
8
9
class
defVarExpr;
10
16
class
_nout
defBlock
:
public
instance {
17
BY(
CLASS
(
defBlock
, instance))
18
19
public
:
20
defBlock
();
21
22
public
:
23
me& addCommon(
node
&
stmt
);
24
me& addCommon(
node
* it)
BY_SIDE_FUNC
(it, addCommon(*it), *
this
);
25
26
me& addScope(
const
std::string& name,
node
&
stmt
);
27
me& addScope(
const
std::string* name,
node
&
stmt
)
BY_SIDE_FUNC
(name, addScope(*name,
stmt
), *
this
);
28
me& addScope(
const
std::string& name,
node
* it)
BY_SIDE_FUNC
(it, addScope(name, *it), *
this
);
29
me& addScope(
const
std::string* name,
node
*
stmt
)
BY_SIDE_FUNC
(name&&
stmt
, addScope(*name, *
stmt
), *
this
);
30
31
me& expand(
node
&
stmt
);
32
me& expand(
node
* it)
BY_SIDE_FUNC
(it, expand(*it), *
this
);
33
34
const
narr
& getExpands()
const
;
35
scope
& getScope();
36
const
scope
& getScope()
const
BY_CONST_FUNC
(getScope())
37
const
narr
&
getCommon
()
const
;
38
39
private
:
40
tstr<scope>
_scope;
41
tstr<narr>
_common;
42
tstr<narr>
_expands;
43
};
44
}
by::defBlock
Definition block for organizing object definitions
Definition
defBlock.hpp:16
by::node
Base class for all AST nodes in the byeol language
Definition
node.hpp:195
by::tnarr
Definition
tnarr.hpp:9
by::tnchain< std::string, node, tnmap< std::string, node, immutableTactic > >
scope.hpp
tnarr.hpp
to Top