| Index: xfa/fxjse/class.cpp
|
| diff --git a/xfa/fxjse/class.cpp b/xfa/fxjse/class.cpp
|
| index bb6f0e1fe4cb63678e791f34a2cb49b8682f1984..e7e061b5a3039b69e8b7fedfd418f20de0a92164 100644
|
| --- a/xfa/fxjse/class.cpp
|
| +++ b/xfa/fxjse/class.cpp
|
| @@ -42,9 +42,8 @@ static void FXJSE_V8FunctionCallback_Wrapper(
|
| new CFXJSE_Value(info.GetIsolate()));
|
| lpThisValue->ForceSetValue(info.This());
|
| std::unique_ptr<CFXJSE_Value> lpRetValue(new CFXJSE_Value(info.GetIsolate()));
|
| - CFXJSE_ArgumentsImpl impl = {&info, lpRetValue.get()};
|
| - lpFunctionInfo->callbackProc(lpThisValue.get(), szFunctionName,
|
| - reinterpret_cast<CFXJSE_Arguments&>(impl));
|
| + CFXJSE_Arguments impl(&info, lpRetValue.get());
|
| + lpFunctionInfo->callbackProc(lpThisValue.get(), szFunctionName, impl);
|
| if (!lpRetValue->DirectGetValue().IsEmpty()) {
|
| info.GetReturnValue().Set(lpRetValue->DirectGetValue());
|
| }
|
| @@ -63,9 +62,8 @@ static void FXJSE_V8ClassGlobalConstructorCallback_Wrapper(
|
| new CFXJSE_Value(info.GetIsolate()));
|
| lpThisValue->ForceSetValue(info.This());
|
| std::unique_ptr<CFXJSE_Value> lpRetValue(new CFXJSE_Value(info.GetIsolate()));
|
| - CFXJSE_ArgumentsImpl impl = {&info, lpRetValue.get()};
|
| - lpClassDefinition->constructor(lpThisValue.get(), szFunctionName,
|
| - reinterpret_cast<CFXJSE_Arguments&>(impl));
|
| + CFXJSE_Arguments impl(&info, lpRetValue.get());
|
| + lpClassDefinition->constructor(lpThisValue.get(), szFunctionName, impl);
|
| if (!lpRetValue->DirectGetValue().IsEmpty()) {
|
| info.GetReturnValue().Set(lpRetValue->DirectGetValue());
|
| }
|
| @@ -123,68 +121,50 @@ static void FXJSE_V8ConstructorCallback_Wrapper(
|
| }
|
|
|
| v8::Isolate* CFXJSE_Arguments::GetRuntime() const {
|
| - const CFXJSE_ArgumentsImpl* lpArguments =
|
| - reinterpret_cast<const CFXJSE_ArgumentsImpl* const>(this);
|
| - return lpArguments->m_pRetValue->GetIsolate();
|
| + return m_pRetValue->GetIsolate();
|
| }
|
|
|
| int32_t CFXJSE_Arguments::GetLength() const {
|
| - const CFXJSE_ArgumentsImpl* lpArguments =
|
| - reinterpret_cast<const CFXJSE_ArgumentsImpl* const>(this);
|
| - return lpArguments->m_pInfo->Length();
|
| + return m_pInfo->Length();
|
| }
|
|
|
| std::unique_ptr<CFXJSE_Value> CFXJSE_Arguments::GetValue(int32_t index) const {
|
| - const CFXJSE_ArgumentsImpl* lpArguments =
|
| - reinterpret_cast<const CFXJSE_ArgumentsImpl* const>(this);
|
| std::unique_ptr<CFXJSE_Value> lpArgValue(
|
| new CFXJSE_Value(v8::Isolate::GetCurrent()));
|
| - lpArgValue->ForceSetValue((*lpArguments->m_pInfo)[index]);
|
| + lpArgValue->ForceSetValue((*m_pInfo)[index]);
|
| return lpArgValue;
|
| }
|
|
|
| FX_BOOL CFXJSE_Arguments::GetBoolean(int32_t index) const {
|
| - const CFXJSE_ArgumentsImpl* lpArguments =
|
| - reinterpret_cast<const CFXJSE_ArgumentsImpl* const>(this);
|
| - return (*lpArguments->m_pInfo)[index]->BooleanValue();
|
| + return (*m_pInfo)[index]->BooleanValue();
|
| }
|
|
|
| int32_t CFXJSE_Arguments::GetInt32(int32_t index) const {
|
| - const CFXJSE_ArgumentsImpl* lpArguments =
|
| - reinterpret_cast<const CFXJSE_ArgumentsImpl* const>(this);
|
| - return static_cast<int32_t>((*lpArguments->m_pInfo)[index]->NumberValue());
|
| + return static_cast<int32_t>((*m_pInfo)[index]->NumberValue());
|
| }
|
|
|
| FX_FLOAT CFXJSE_Arguments::GetFloat(int32_t index) const {
|
| - const CFXJSE_ArgumentsImpl* lpArguments =
|
| - reinterpret_cast<const CFXJSE_ArgumentsImpl* const>(this);
|
| - return static_cast<FX_FLOAT>((*lpArguments->m_pInfo)[index]->NumberValue());
|
| + return static_cast<FX_FLOAT>((*m_pInfo)[index]->NumberValue());
|
| }
|
|
|
| CFX_ByteString CFXJSE_Arguments::GetUTF8String(int32_t index) const {
|
| - const CFXJSE_ArgumentsImpl* lpArguments =
|
| - reinterpret_cast<const CFXJSE_ArgumentsImpl* const>(this);
|
| - v8::Local<v8::String> hString = (*lpArguments->m_pInfo)[index]->ToString();
|
| + v8::Local<v8::String> hString = (*m_pInfo)[index]->ToString();
|
| v8::String::Utf8Value szStringVal(hString);
|
| return CFX_ByteString(*szStringVal);
|
| }
|
|
|
| void* CFXJSE_Arguments::GetObject(int32_t index, CFXJSE_Class* pClass) const {
|
| - const CFXJSE_ArgumentsImpl* lpArguments =
|
| - reinterpret_cast<const CFXJSE_ArgumentsImpl* const>(this);
|
| - v8::Local<v8::Value> hValue = (*lpArguments->m_pInfo)[index];
|
| + v8::Local<v8::Value> hValue = (*m_pInfo)[index];
|
| ASSERT(!hValue.IsEmpty());
|
| - if (!hValue->IsObject()) {
|
| - return NULL;
|
| - }
|
| + if (!hValue->IsObject())
|
| + return nullptr;
|
| return FXJSE_RetrieveObjectBinding(hValue.As<v8::Object>(), pClass);
|
| }
|
|
|
| CFXJSE_Value* CFXJSE_Arguments::GetReturnValue() {
|
| - const CFXJSE_ArgumentsImpl* lpArguments =
|
| - reinterpret_cast<const CFXJSE_ArgumentsImpl* const>(this);
|
| - return lpArguments->m_pRetValue;
|
| + return m_pRetValue;
|
| }
|
| +
|
| static void FXJSE_Context_GlobalObjToString(
|
| const v8::FunctionCallbackInfo<v8::Value>& info) {
|
| const FXJSE_CLASS_DESCRIPTOR* lpClass = static_cast<FXJSE_CLASS_DESCRIPTOR*>(
|
|
|