Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef GNASH_ABC_FUNCTION_H
00019 #define GNASH_ABC_FUNCTION_H
00020
00021 #ifdef HAVE_CONFIG_H
00022 #include "gnashconfig.h"
00023 #endif
00024
00025 #include "as_function.h"
00026 #include "Method.h"
00027
00028 namespace gnash {
00029 class as_value;
00030 class CodeStream;
00031 }
00032
00033 namespace gnash {
00034 namespace abc {
00035
00036 class Machine;
00037
00039 class abc_function : public as_function
00040 {
00041
00042 public:
00043 abc_function(Method* methodInfo, Machine* machine);
00044
00045 as_value call(const fn_call& fn);
00046
00047 CodeStream* getCodeStream() const {
00048 return _methodInfo->getBody();
00049 }
00050
00051 boost::uint32_t getMaxRegisters() const {
00052 return _methodInfo->getMaxRegisters();
00053 }
00054
00055 bool needsActivation() const {
00056 return _methodInfo->needsActivation();
00057 }
00058
00059 private:
00060
00061 Method* _methodInfo;
00062
00063 Machine* _machine;
00064
00065 };
00066
00067 }
00068 }
00069
00070 #endif