ExpressionBinder(const Span& span_, const boost::uuids::uuid& moduleId_, BoundCompileUnit& boundCompileUnit_, BoundFunction* boundFunction_, ContainerScope* containerScope_, StatementBinder* statementBinder_, bool lvalue_) |
void | BindArrow(Node& node, const std::u32string& name) |
void | BindBinaryOp(BinaryNode& binaryNode, const std::u32string& groupName) |
void | BindBinaryOp(BoundExpression* left, BoundExpression* right, Node& node, const std::u32string& groupName) |
void | BindDerefExpr(Node& node) |
void | BindSymbol(Symbol* symbol, IdentifierNode* idNode) |
void | BindUnaryOp(BoundExpression* operand, Node& node, const std::u32string& groupName) |
void | BindUnaryOp(UnaryNode& unaryNode, const std::u32string& groupName) |
std::unique_ptr<BoundExpression> | GetExpression() |
void | Visit(AddNode& addNode) override |
void | Visit(AddrOfNode& addrOfNode) override |
void | Visit(ArrowNode& arrowNode) override |
void | Visit(AsNode& asNode) override |
void | Visit(BaseNode& baseNode) override |
void | Visit(BitAndNode& bitAndNode) override |
void | Visit(BitOrNode& bitOrNode) override |
void | Visit(BitXorNode& bitXorNode) override |
void | Visit(BoolNode& boolNode) override |
void | Visit(BooleanLiteralNode& booleanLiteralNode) override |
void | Visit(ByteLiteralNode& byteLiteralNode) override |
void | Visit(ByteNode& byteNode) override |
void | Visit(CastNode& castNode) override |
void | Visit(CharLiteralNode& charLiteralNode) override |
void | Visit(CharNode& charNode) override |
void | Visit(ComplementNode& complementNode) override |
void | Visit(ConjunctionNode& conjunctionNode) override |
void | Visit(ConstructNode& constructNode) override |
void | Visit(DerefNode& derefNode) override |
void | Visit(DisjunctionNode& disjunctionNode) override |
void | Visit(DivNode& divNode) override |
void | Visit(DotNode& dotNode) override |
void | Visit(DoubleLiteralNode& doubleLiteralNode) override |
void | Visit(DoubleNode& doubleNode) override |
void | Visit(EqualNode& equalNode) override |
void | Visit(FloatLiteralNode& floatLiteralNode) override |
void | Visit(FloatNode& floatNode) override |
void | Visit(FunctionPtrNode& functionPtrNode) override |
void | Visit(GreaterNode& greaterNode) override |
void | Visit(GreaterOrEqualNode& greaterOrEqualNode) override |
void | Visit(IdentifierNode& identifierNode) override |
void | Visit(IndexingNode& indexingNode) override |
void | Visit(IntLiteralNode& intLiteralNode) override |
void | Visit(IntNode& intNode) override |
void | Visit(InvokeNode& invokeNode) override |
void | Visit(IsNode& isNode) override |
void | Visit(LessNode& lessNode) override |
void | Visit(LessOrEqualNode& lessOrEqualNode) override |
void | Visit(LongLiteralNode& longLiteralNode) override |
void | Visit(LongNode& longNode) override |
void | Visit(MulNode& mulNode) override |
void | Visit(NewNode& newNode) override |
void | Visit(NotEqualNode& notEqualNode) override |
void | Visit(NotNode& notNode) override |
void | Visit(NullLiteralNode& nullLiteralNode) override |
void | Visit(ParameterNode& parameterNode) override |
void | Visit(ParenthesizedExpressionNode& parenthesizedExpressionNode) override |
void | Visit(PostfixDecrementNode& postfixDecrementNode) override |
void | Visit(PostfixIncrementNode& postfixIncrementNode) override |
void | Visit(PrefixDecrementNode& prefixDecrementNode) override |
void | Visit(PrefixIncrementNode& prefixIncrementNode) override |
void | Visit(RemNode& remNode) override |
void | Visit(SByteLiteralNode& sbyteLiteralNode) override |
void | Visit(SByteNode& sbyteNode) override |
void | Visit(ShiftLeftNode& shiftLeftNode) override |
void | Visit(ShiftRightNode& shiftRightNode) override |
void | Visit(ShortLiteralNode& shortLiteralNode) override |
void | Visit(ShortNode& shortNode) override |
void | Visit(SizeOfNode& sizeOfNode) override |
void | Visit(StringLiteralNode& stringLiteralNode) override |
void | Visit(SubNode& subNode) override |
void | Visit(TemplateIdNode& templateIdNode) override |
void | Visit(ThisNode& thisNode) override |
void | Visit(TypeIdNode& typeIdNode) override |
void | Visit(TypeNameNode& typeNameNode) override |
void | Visit(UCharLiteralNode& ucharLiteralNode) override |
void | Visit(UCharNode& ucharNode) override |
void | Visit(UIntLiteralNode& uintLiteralNode) override |
void | Visit(UIntNode& uintNode) override |
void | Visit(ULongLiteralNode& ulongLiteralNode) override |
void | Visit(ULongNode& ulongNode) override |
void | Visit(UShortLiteralNode& ushortLiteralNode) override |
void | Visit(UShortNode& ushortNode) override |
void | Visit(UStringLiteralNode& ustringLiteralNode) override |
void | Visit(UnaryMinusNode& unaryMinusNode) override |
void | Visit(UnaryPlusNode& unaryPlusNode) override |
void | Visit(UuidLiteralNode& uuidLiteralNode) override |
void | Visit(VoidNode& voidNode) override |
void | Visit(WCharLiteralNode& wcharLiteralNode) override |
void | Visit(WCharNode& wcharNode) override |
void | Visit(WStringLiteralNode& wstringLiteralNode) override |
BoundCompileUnit& | boundCompileUnit |
BoundFunction* | boundFunction |
ContainerScope* | containerScope |
std::unique_ptr<BoundExpression> | expression |
bool | inhibitCompile |
bool | lvalue |
Module* | module |
boost::uuids::uuid | moduleId |
Span | span |
StatementBinder* | statementBinder |
SymbolTable& | symbolTable |