#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(). | 
 1.4.6
 1.4.6