로딩중...
검색중...
일치하는것 없음
by::exprMaker 클래스 참조

Factory for creating expressions with source location information 더 자세히 ...

#include <exprMaker.hpp>

by::exprMaker에 대한 상속 다이어그램 :
by::typeProvidable by::clonable

Public 멤버 함수

 exprMaker (const srcFile &s, ncnt row, ncnt col)
 
me & addRow ()
 
me & addRow (ncnt step)
 
me & addCol ()
 
me & addCol (ncnt step)
 
me & setRow (ncnt row)
 
me & setCol (ncnt col)
 
me & setSrcFile (const srcFile &s)
 
void rel ()
 
const pointgetPos () const
 
const srcFilegetSrcFile () const
 
tstr< srcmakeSrc (const std::string &name) const
 
template<typename T , typename... Args>
T * birth (const std::string &name, const Args &... args) const
 
template<typename T , typename... Args>
T * make (const Args &... args) const
 Creates a new expression object without a specific name and sets its source location.
 
funcmakeExpandFunc (const defBlock &blk) const
 Creates a function specifically for handling "expand" logic within definition blocks.
 
assignExprmakeAssignExprFrom (const defVarExpr &e) const
 Creates an assignment expression from a variable definition expression.
 
funcmakeCommonFunc (const defBlock &blk) const
 Creates a "common" function associated with a definition block.
 
- by::typeProvidable(으)로부터 상속된 Public 멤버 함수
nbool operator== (const me &rhs) const
 
nbool operator!= (const me &rhs) const
 
virtual const typegetType () const =0
 
nbool isSub (const type &it) const
 
nbool isSub (const type *it) const BY_SIDE_FUNC(isSub)
 
nbool isSub (const me &it) const
 
nbool isSub (const me *it) const BY_SIDE_FUNC(isSub)
 
nbool isSuper (const type &it) const
 
nbool isSuper (const type *it) const BY_SIDE_FUNC(isSuper)
 
nbool isSuper (const me &it) const
 
nbool isSuper (const me *it) const BY_SIDE_FUNC(isSuper)
 
template<typename T >
nint isSub () const
 
template<typename T >
nint isSuper () const
 
template<typename T >
T * cast ()
 
template<typename T >
const T * cast () const BY_CONST_FUNC(cast< T >()) virtual void *cast(const type &to)
 Safe cast to target type using type hierarchy information
 
const void * cast (const type &to) const BY_CONST_FUNC(cast(to)) void *cast(const type *it) BY_SIDE_FUNC(cast)
 
- by::clonable(으)로부터 상속된 Public 멤버 함수
virtual me * clone () const =0
 
virtual me * cloneDeep () const
 
virtual void onCloneDeep (const me &from)
 

상세한 설명

Factory for creating expressions with source location information

Creates expression objects with proper source file and position metadata. Used by parser to track source locations for debugging and error reporting.

멤버 함수 문서화

◆ birth()

template<typename T , typename... Args>
T * by::exprMaker::birth ( const std::string & name,
const Args &... args ) const
inline
주의
when you birth your child, you must name it.

◆ make()

template<typename T , typename... Args>
T * by::exprMaker::make ( const Args &... args) const
inline

Creates a new expression object without a specific name and sets its source location.

템플릿 파라메터
TThe type of the expression to create.
ArgsThe types of the constructor arguments for T.
매개변수
argsThe constructor arguments for T.
반환값
A pointer to the newly created expression object.

◆ makeAssignExprFrom()

assignExpr * by::exprMaker::makeAssignExprFrom ( const defVarExpr & e) const

Creates an assignment expression from a variable definition expression.

매개변수
eThe variable definition expression (defVarExpr) to derive the assignment from.
반환값
A pointer to the newly created assignExpr object.

◆ makeCommonFunc()

func * by::exprMaker::makeCommonFunc ( const defBlock & blk) const

Creates a "common" function associated with a definition block.

매개변수
blkThe definition block for which the common function is being created.
반환값
A pointer to the newly created func object.

◆ makeExpandFunc()

func * by::exprMaker::makeExpandFunc ( const defBlock & blk) const

Creates a function specifically for handling "expand" logic within definition blocks.

매개변수
blkThe definition block associated with the expand function.
반환값
A pointer to the newly created func object.

이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.:
to Top