CUBRID Engine  latest
func_type::Node Class Reference

#include <func_type.hpp>

Collaboration diagram for func_type::Node:
Collaboration graph

Public Member Functions

 Node (parser_context *parser, parser_node *node)
 
parser_nodeget_arg (size_t index)
 
PT_NODEtype_checking ()
 

Protected Member Functions

bool preprocess ()
 
const func_signatureget_signature (const func_all_signatures &signatures)
 
void set_return_type (const func_signature &signature)
 
bool apply_signature (const func_signature &signature)
 
parser_nodeapply_argument (parser_node *prev, parser_node *arg, const argument_resolve &arg_res)
 
const char * get_types (const func_all_signatures &signatures, size_t index, string_buffer &sb)
 
bool check_arg_compat (const pt_arg_type &arg_signature, const PT_NODE *arg_node, signature_compatibility &compat, argument_resolve &resolved_type, bool args_to_utf8)
 
void invalid_arg_error (const pt_arg_type &arg_sgn, const PT_NODE *arg_node, const func_signature &func_sgn)
 
void invalid_coll_error (const func_signature &func_sgn)
 
void invalid_arg_count_error (std::size_t arg_count, const func_signature &func_sgn)
 

Private Attributes

parser_contextm_parser
 
parser_nodem_node
 
signature_compatibility m_best_signature
 

Detailed Description

Definition at line 82 of file func_type.hpp.

Constructor & Destructor Documentation

func_type::Node::Node ( parser_context parser,
parser_node node 
)
inline

Definition at line 90 of file func_type.hpp.

References pt_are_equivalent_types(), and pt_get_equivalent_type().

Member Function Documentation

bool func_type::Node::apply_signature ( const func_signature signature)
protected
parser_node * func_type::Node::get_arg ( size_t  index)

Definition at line 749 of file func_type.cpp.

References NULL.

const char * func_type::Node::get_types ( const func_all_signatures signatures,
size_t  index,
string_buffer sb 
)
protected

Definition at line 886 of file func_type.cpp.

References string_buffer::get_buffer(), i, and pt_arg_type_to_string_buffer().

void func_type::Node::invalid_arg_count_error ( std::size_t  arg_count,
const func_signature func_sgn 
)
protected
PT_NODE * func_type::Node::type_checking ( )

Member Data Documentation

signature_compatibility func_type::Node::m_best_signature
private

Definition at line 87 of file func_type.hpp.

parser_node* func_type::Node::m_node
private

Definition at line 86 of file func_type.hpp.

parser_context* func_type::Node::m_parser
private

Definition at line 85 of file func_type.hpp.


The documentation for this class was generated from the following files: