mirror of
https://github.com/ZDoom/qzdoom-gpl.git
synced 2024-12-13 13:40:53 +00:00
Move the symbol table from PClass to PStruct.
This commit is contained in:
parent
91207ed3f4
commit
dbaf72772b
2 changed files with 6 additions and 20 deletions
|
@ -864,8 +864,12 @@ IMPLEMENT_CLASS(PStruct)
|
|||
|
||||
size_t PStruct::PropagateMark()
|
||||
{
|
||||
size_t marked;
|
||||
|
||||
GC::MarkArray(Fields);
|
||||
return Fields.Size() * sizeof(void*) + Super::PropagateMark();
|
||||
marked = Fields.Size() * sizeof(void*);
|
||||
marked += Symbols.MarkSymbols();
|
||||
return marked + Super::PropagateMark();
|
||||
}
|
||||
|
||||
/* PPrototype *************************************************************/
|
||||
|
@ -1081,7 +1085,6 @@ PClass::PClass()
|
|||
|
||||
PClass::~PClass()
|
||||
{
|
||||
Symbols.ReleaseSymbols();
|
||||
if (Defaults != NULL)
|
||||
{
|
||||
M_Free(Defaults);
|
||||
|
@ -1431,22 +1434,6 @@ const PClass *PClass::NativeClass() const
|
|||
return cls;
|
||||
}
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
// PClass :: PropagateMark
|
||||
//
|
||||
//==========================================================================
|
||||
|
||||
size_t PClass::PropagateMark()
|
||||
{
|
||||
size_t marked;
|
||||
|
||||
// Mark symbols
|
||||
marked = Symbols.MarkSymbols();
|
||||
|
||||
return marked + Super::PropagateMark();
|
||||
}
|
||||
|
||||
/* FTypeTable **************************************************************/
|
||||
|
||||
//==========================================================================
|
||||
|
|
|
@ -408,6 +408,7 @@ class PStruct : public PNamedType
|
|||
DECLARE_CLASS(PStruct, PNamedType);
|
||||
public:
|
||||
TArray<PField *> Fields;
|
||||
PSymbolTable Symbols;
|
||||
|
||||
size_t PropagateMark();
|
||||
};
|
||||
|
@ -464,7 +465,6 @@ public:
|
|||
const size_t *FlatPointers; // object pointers defined by this class and all its superclasses; not initialized by default
|
||||
BYTE *Defaults;
|
||||
bool bRuntimeClass; // class was defined at run-time, not compile-time
|
||||
PSymbolTable Symbols;
|
||||
|
||||
void (*ConstructNative)(void *);
|
||||
|
||||
|
@ -478,7 +478,6 @@ public:
|
|||
void InitializeActorInfo();
|
||||
void BuildFlatPointers();
|
||||
const PClass *NativeClass() const;
|
||||
size_t PropagateMark();
|
||||
|
||||
// Returns true if this type is an ancestor of (or same as) the passed type.
|
||||
bool IsAncestorOf(const PClass *ti) const
|
||||
|
|
Loading…
Reference in a new issue