#include <FunctionType.hpp>
Public Member Functions | |
FunctionType (Type *retType=NULL) | |
FunctionType (const FunctionType &other) | |
virtual | ~FunctionType () |
virtual FunctionType * | clone () const |
virtual bool | isCompatibleType (const Type *other) const |
virtual size_t | getSize (const TargetInfo &targetInfo) const |
virtual size_t | getAlign (const TargetInfo &targetInfo) const |
const Type * | getReturnType () const |
const ParameterTypes & | getParameterTypes () const |
void | addParameterType (Type *t) |
void | setVararg (bool hasVararg) |
bool | hasVararg () const |
void | setReturnType (Type *t) |
Protected Attributes | |
Type * | returnType_ |
ParameterTypes | parameterTypes_ |
bool | hasVararg_ |
Definition at line 46 of file FunctionType.hpp.
cfront::FunctionType::FunctionType | ( | Type * | retType = NULL |
) | [inline] |
cfront::FunctionType::FunctionType | ( | const FunctionType & | other | ) | [inline] |
virtual cfront::FunctionType::~FunctionType | ( | ) | [inline, virtual] |
Definition at line 59 of file FunctionType.hpp.
virtual FunctionType* cfront::FunctionType::clone | ( | ) | const [inline, virtual] |
Return the copy of self.
Implements cfront::Type.
Definition at line 61 of file FunctionType.hpp.
References FunctionType().
virtual bool cfront::FunctionType::isCompatibleType | ( | const Type * | other | ) | const [inline, virtual] |
Tests whether this type is compatible to the given one.
Implements cfront::Type.
Definition at line 66 of file FunctionType.hpp.
References cfront::Type::isCompatibleType(), parameterTypes_, and returnType_.
virtual size_t cfront::FunctionType::getSize | ( | const TargetInfo & | targetInfo | ) | const [inline, virtual] |
Implements cfront::Type.
Definition at line 86 of file FunctionType.hpp.
References cfront::TargetInfo::getSize(), and cfront::TargetInfo::POINTER.
Referenced by TypeTest::testSizeofType().
virtual size_t cfront::FunctionType::getAlign | ( | const TargetInfo & | targetInfo | ) | const [inline, virtual] |
Implements cfront::Type.
Definition at line 91 of file FunctionType.hpp.
References cfront::TargetInfo::getAlign(), and cfront::TargetInfo::POINTER.
const Type* cfront::FunctionType::getReturnType | ( | ) | const [inline] |
const ParameterTypes& cfront::FunctionType::getParameterTypes | ( | ) | const [inline] |
void cfront::FunctionType::addParameterType | ( | Type * | t | ) | [inline] |
Definition at line 106 of file FunctionType.hpp.
References parameterTypes_.
Referenced by TypeTest::testSizeofType().
void cfront::FunctionType::setVararg | ( | bool | hasVararg | ) | [inline] |
bool cfront::FunctionType::hasVararg | ( | ) | const [inline] |
void cfront::FunctionType::setReturnType | ( | Type * | t | ) | [inline] |
Definition at line 121 of file FunctionType.hpp.
References returnType_.
Referenced by cfront::CAnalyzer::buildCompositeDeclaratorType(), and cfront::CAnalyzer::buildDeclaratorPostfixType().
Type* cfront::FunctionType::returnType_ [protected] |
Definition at line 144 of file FunctionType.hpp.
Referenced by getReturnType(), isCompatibleType(), and setReturnType().
ParameterTypes cfront::FunctionType::parameterTypes_ [protected] |
Definition at line 145 of file FunctionType.hpp.
Referenced by addParameterType(), FunctionType(), getParameterTypes(), and isCompatibleType().
bool cfront::FunctionType::hasVararg_ [protected] |