#include <include/type.h>
Inheritance diagram for CompoundType:
Definition at line 490 of file type.h.
Public Member Functions | |
void | addType (Type *n, const char *str) |
virtual Type * | clone () const |
CompoundType (bool generic=false) | |
virtual const char * | getCtype (bool final=false) const |
const char * | getName (unsigned n) |
const char * | getNameAtOffset (unsigned n) |
unsigned | getNumTypes () |
unsigned | getOffsetRemainder (unsigned n) |
unsigned | getOffsetTo (const char *member) |
unsigned | getOffsetTo (unsigned n) |
virtual unsigned | getSize () const |
Type * | getType (const char *nam) |
Type * | getType (unsigned n) |
Type * | getTypeAtOffset (unsigned n) |
virtual bool | isCompatible (Type *other, bool all) |
virtual bool | isCompatibleWith (Type *other, bool all=false) |
virtual bool | isCompound () const |
bool | isGeneric () |
bool | isSubStructOf (Type *other) |
bool | isSuperStructOf (Type *other) |
virtual Exp * | match (Type *pattern) |
virtual Type * | meetWith (Type *other, bool &ch, bool bHighestPtr) |
virtual bool | operator< (const Type &other) const |
virtual bool | operator== (const Type &other) const |
void | setNameAtOffset (unsigned n, const char *nam) |
void | setTypeAtOffset (unsigned n, Type *ty) |
void | updateGenericMember (int off, Type *ty, bool &ch) |
virtual | ~CompoundType () |
Private Attributes | |
bool | generic |
std::vector< std::string > | names |
int | nextGenericMemberNum |
std::vector< Type * > | types |
Friends | |
class | XMLProgParser |
|
Definition at line 131 of file type.cpp. Referenced by clone(). |
|
|
|
Definition at line 501 of file type.h. References Type::getCtype(), Type::getNamedType(), names, and types. Referenced by clone(), TypeTest::testDataInterval(), and TypeTest::testDataIntervalOverlaps(). |
|
Implements Type. Definition at line 222 of file type.cpp. References addType(), CompoundType(), names, and types. |
|
Implements Type. |
|
Definition at line 511 of file type.h. References getNumTypes(), and names. Referenced by Decompiler::getCompoundMembers(). |
|
Definition at line 360 of file type.cpp. References getSize(), names, and types. Referenced by TypeTest::testCompound(). |
|
Definition at line 508 of file type.h. References types. Referenced by PentiumFrontEnd::extraProcessCall(), Decompiler::getCompoundMembers(), getName(), getType(), and isCompatible(). |
|
Definition at line 393 of file type.cpp. References getSize(), and types. Referenced by Type::compForAddress(). |
|
|
|
Definition at line 373 of file type.cpp. References getSize(), and types. Referenced by Decompiler::getCompoundMembers(). |
|
Implements Type. Definition at line 284 of file type.cpp. References types. Referenced by getNameAtOffset(), getOffsetRemainder(), getOffsetTo(), getTypeAtOffset(), operator<(), setNameAtOffset(), and setTypeAtOffset(). |
|
|
|
Definition at line 509 of file type.h. References getNumTypes(), and types. Referenced by Type::createUnion(), PentiumFrontEnd::extraProcessCall(), and Decompiler::getCompoundMembers(). |
|
Definition at line 313 of file type.cpp. References getSize(), and types. Referenced by DataIntervalMap::replaceComponents(), TypeTest::testCompound(), and updateGenericMember(). |
|
Implements Type. Definition at line 1444 of file dfa.cpp. References Type::asCompound(), getNumTypes(), isCompatibleWith(), Type::isCompatibleWith(), Type::resolvesToCompound(), Type::resolvesToUnion(), Type::resolvesToVoid(), and types. Referenced by isCompatibleWith(). |
|
Reimplemented from Type. Definition at line 537 of file type.h. References isCompatible(). Referenced by isCompatible(), and meetWith(). |
|
Reimplemented from Type. |
|
Definition at line 516 of file type.h. References generic. |
|
Definition at line 1184 of file type.cpp. References Type::asCompound(), Type::isCompound(), and types. |
|
Definition at line 1173 of file type.cpp. References Type::asCompound(), Type::isCompound(), and types. |
|
Reimplemented from Type. Definition at line 711 of file type.cpp. References Type::match(). |
|
Implements Type. Definition at line 546 of file dfa.cpp. References Type::createUnion(), isCompatibleWith(), Type::resolvesToCompound(), Type::resolvesToVoid(), and types. |
|
Implements Type. Definition at line 610 of file type.cpp. References Type::getId(), Type::getSize(), and getSize(). |
|
Implements Type. Definition at line 481 of file type.cpp. References Type::isCompound(), and types. |
|
Definition at line 347 of file type.cpp. References getSize(), names, and types. Referenced by updateGenericMember(). |
|
Definition at line 325 of file type.cpp. References Type::getSize(), getSize(), names, and types. Referenced by DataIntervalMap::enterComponent(), DataIntervalMap::replaceComponents(), and updateGenericMember(). |
|
Definition at line 1518 of file type.cpp. References generic, getTypeAtOffset(), Type::meetWith(), nextGenericMemberNum, setNameAtOffset(), and setTypeAtOffset(). Referenced by Unary::descendType(). |
|
Reimplemented from Type. |
|
Definition at line 495 of file type.h. Referenced by isGeneric(), and updateGenericMember(). |
|
Definition at line 493 of file type.h. Referenced by addType(), clone(), getCtype(), getName(), getNameAtOffset(), getOffsetTo(), getType(), XMLProgParser::persistToXML(), setNameAtOffset(), and setTypeAtOffset(). |
|
Definition at line 494 of file type.h. Referenced by updateGenericMember(). |
|
Definition at line 492 of file type.h. Referenced by addType(), clone(), getCtype(), getNameAtOffset(), getNumTypes(), getOffsetRemainder(), getOffsetTo(), getSize(), getType(), getTypeAtOffset(), isCompatible(), isSubStructOf(), isSuperStructOf(), meetWith(), operator==(), XMLProgParser::persistToXML(), setNameAtOffset(), and setTypeAtOffset(). |