type.cpp File Reference

#include <assert.h>
#include "types.h"
#include "type.h"
#include "util.h"
#include "exp.h"
#include "cfg.h"
#include "proc.h"
#include "signature.h"
#include "boomerang.h"
#include "log.h"

Go to the source code of this file.

Defines

#define AS_TYPE(x)
#define NO_BOUND   9999999
#define RESOLVES_TO_TYPE(x)

Functions

 AS_TYPE (Size)
std::ostream & operator<< (std::ostream &os, Type *t)

Variables

char debug_buffer []
 For prints functions.
static int pointerCompareNest = 0


Define Documentation

#define AS_TYPE  ) 
 

Value:

x##Type *Type::as##x() \
{                       \
    Type *ty = this;    \
    if (isNamed())      \
        ty = ((NamedType*)ty)->resolvesTo();    \
    x##Type *res = dynamic_cast<x##Type*>(ty);  \
    assert(res);        \
    return res;         \
}

Definition at line 1047 of file type.cpp.

#define NO_BOUND   9999999
 

Definition at line 103 of file type.cpp.

Referenced by ArrayType::isUnbounded(), and ArrayType::setBaseType().

#define RESOLVES_TO_TYPE  ) 
 

Value:

bool Type::resolvesTo##x()  \
{                           \
    Type *ty = this;        \
    if (ty->isNamed())      \
        ty = ((NamedType*)ty)->resolvesTo(); \
    return ty && ty->is##x(); \
}

Definition at line 1083 of file type.cpp.


Function Documentation

AS_TYPE Size   ) 
 

std::ostream& operator<< std::ostream &  os,
Type t
 

Definition at line 1115 of file type.cpp.

References Type::asInteger(), eInteger, Type::getId(), IntegerType::getSize(), and NULL.


Variable Documentation

char debug_buffer[]
 

For prints functions.

Definition at line 285 of file basicblock.cpp.

Referenced by BasicBlock::prints(), ConstraintMap::prints(), EquateMap::prints(), Constraints::prints(), UseCollector::prints(), DefCollector::prints(), Exp::prints(), UserProc::prints(), RTL::prints(), Signature::prints(), Statement::prints(), and DataIntervalMap::prints().

int pointerCompareNest = 0 [static]
 

Definition at line 459 of file type.cpp.


Generated on Tue Sep 19 21:18:38 2006 for Boomerang by  doxygen 1.4.6