#include <Type.hpp>

Public Types | |
| typedef std::list< Extension * > | Extensions | 
Public Member Functions | |
| Type () | |
| virtual Type * | clone () const =0 | 
| virtual | ~Type () | 
| virtual bool | isCompatibleType (const Type *other) const =0 | 
| virtual bool | isScalarType () const | 
| virtual bool | isArithmeticType () const | 
| virtual bool | isIntegerType () const | 
| virtual bool | isVoidType () const | 
| const Extensions & | getExtensions () const | 
| void | addExtension (Extension *e) | 
| virtual size_t | getSize (const TargetInfo &targetInfo) const =0 | 
| virtual size_t | getAlign (const TargetInfo &targetInfo) const =0 | 
Protected Member Functions | |
| Type (const Type &other) | |
Protected Attributes | |
| Extensions | extensions_ | 
Data Structures | |
| class | Definition | 
Definition at line 62 of file Type.hpp.
| typedef std::list<Extension*> cfront::Type::Extensions | 
| cfront::Type::Type | ( | const Type & | other | ) |  [inline, protected] | 
        
| virtual Type* cfront::Type::clone | ( | ) |  const [pure virtual] | 
        
Return the copy of self.
Implemented in cfront::ArrayType, cfront::BasicType, cfront::EnumType, cfront::FunctionType, cfront::PointerType, cfront::StructType, cfront::TypedefType, cfront::UnionType, and cfront::VectorType.
Referenced by cfront::CAnalyzer::getOriginalType().
| virtual bool cfront::Type::isCompatibleType | ( | const Type * | other | ) |  const [pure virtual] | 
        
Tests whether this type is compatible to the given one.
Implemented in cfront::ArrayType, cfront::BasicType, cfront::EnumType, cfront::FieldInclusionType, cfront::FunctionType, cfront::PointerType, cfront::TypedefType, and cfront::VectorType.
Referenced by cfront::CAnalyzer::checkAssignment(), cfront::CAnalyzer::checkCondOperands(), cfront::TypedefType::isCompatibleType(), cfront::PointerType::isCompatibleType(), cfront::FunctionType::isCompatibleType(), cfront::ArrayType::isCompatibleType(), cfront::CAnalyzer::makeImplicitCastNode(), and cfront::CAnalyzer::typeComparisonExpr().
| virtual bool cfront::Type::isScalarType | ( | ) |  const [inline, virtual] | 
        
Reimplemented in cfront::BasicType, cfront::PointerType, and cfront::TypedefType.
Definition at line 108 of file Type.hpp.
Referenced by cfront::TypedefType::isScalarType(), and cfront::CAnalyzer::typeExpr().
| virtual bool cfront::Type::isArithmeticType | ( | ) |  const [inline, virtual] | 
        
Reimplemented in cfront::BasicType, cfront::EnumType, and cfront::TypedefType.
Definition at line 113 of file Type.hpp.
Referenced by cfront::CAnalyzer::checkAssignment(), cfront::TypedefType::isArithmeticType(), cfront::CAnalyzer::typeCastExpr(), cfront::CAnalyzer::typeComparisonExpr(), and cfront::CAnalyzer::typeFunctionArgument().
| virtual bool cfront::Type::isIntegerType | ( | ) |  const [inline, virtual] | 
        
Reimplemented in cfront::BasicType, cfront::EnumType, and cfront::TypedefType.
Definition at line 118 of file Type.hpp.
Referenced by cfront::CAnalyzer::checkAssignment(), cfront::CAnalyzer::checkPointerArithmeticAdditive(), cfront::TypedefType::isIntegerType(), and cfront::CAnalyzer::typeCastExpr().
| virtual bool cfront::Type::isVoidType | ( | ) |  const [inline, virtual] | 
        
Tests whether this type is 'void' type.
Reimplemented in cfront::BasicType, and cfront::TypedefType.
Definition at line 126 of file Type.hpp.
Referenced by cfront::CAnalyzer::checkAssignment(), cfront::CAnalyzer::checkCondOperands(), cfront::TypedefType::isVoidType(), cfront::CAnalyzer::typeCastExpr(), and cfront::CAnalyzer::typeComparisonExpr().
| const Extensions& cfront::Type::getExtensions | ( | ) |  const [inline] | 
        
| void cfront::Type::addExtension | ( | Extension * | e | ) |  [inline] | 
        
Definition at line 136 of file Type.hpp.
References extensions_.
Referenced by cfront::CAnalyzer::setTypeAttribute().
| virtual size_t cfront::Type::getSize | ( | const TargetInfo & | targetInfo | ) |  const [pure virtual] | 
        
Implemented in cfront::ArrayType, cfront::BasicType, cfront::EnumType, cfront::FieldInclusionType, cfront::FunctionType, cfront::PointerType, cfront::TypedefType, and cfront::VectorType.
Referenced by cfront::TypedefType::getSize(), and cfront::ArrayType::getSize().
| virtual size_t cfront::Type::getAlign | ( | const TargetInfo & | targetInfo | ) |  const [pure virtual] | 
        
Implemented in cfront::ArrayType, cfront::BasicType, cfront::EnumType, cfront::FieldInclusionType, cfront::FunctionType, cfront::PointerType, cfront::TypedefType, and cfront::VectorType.
Referenced by cfront::TypedefType::getAlign(), and cfront::ArrayType::getAlign().
Extensions cfront::Type::extensions_ [protected]           | 
        
 1.5.6