1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
#pragma once
#include "Function.h"
namespace storm {
STORM_PKG(core.lang);
/**
* Default destructor for a type.
*
* See if a destructor is needed by using 'needsDestructor' below.
*/
class TypeDefaultDtor : public Function {
STORM_CLASS;
public:
// Create.
STORM_CTOR TypeDefaultDtor(Type *owner);
// Pure?
virtual Bool STORM_FN pure() const;
private:
// Owner.
Type *owner;
// Generate code.
CodeGen *CODECALL generate();
};
// Check if a destructor is needed for 'type'.
Bool STORM_FN needsDestructor(Type *type);
}
|