#ifndef VIRTUALMETHODCALL_H_
#define VIRTUALMETHODCALL_H_

#include "MethodCallBase.h"

class VirtualMethodCall : public MethodCallBase
{
public:
	VirtualMethodCall(Smoke *smoke, const Smoke::Index meth, const Smoke::Stack stack, zval* obj, zval **sp);
	virtual ~VirtualMethodCall();

	Marshall::Action action();
	zval* var();
	const int items();
	void callMethod();
	bool cleanup();
	bool doAlloc() { return true; }

	bool makeObject;

private:
	zval* _obj;
};

#endif /*VIRTUALMETHODCALL_H_*/
