]>
git.saurik.com Git - apple/javascriptcore.git/blob - runtime/ErrorInstance.cpp
42e7c533c9b24da34e94c3900c2605c900340044
   2  *  Copyright (C) 1999-2000 Harri Porten (porten@kde.org) 
   3  *  Copyright (C) 2003, 2008 Apple Inc. All rights reserved. 
   5  *  This library is free software; you can redistribute it and/or 
   6  *  modify it under the terms of the GNU Lesser General Public 
   7  *  License as published by the Free Software Foundation; either 
   8  *  version 2 of the License, or (at your option) any later version. 
  10  *  This library is distributed in the hope that it will be useful, 
  11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of 
  12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
  13  *  Lesser General Public License for more details. 
  15  *  You should have received a copy of the GNU Lesser General Public 
  16  *  License along with this library; if not, write to the Free Software 
  17  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA 
  22 #include "ErrorInstance.h" 
  25 #include "JSCInlines.h" 
  29 STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(ErrorInstance
); 
  31 const ClassInfo 
ErrorInstance::s_info 
= { "Error", &JSNonFinalObject::s_info
, 0, 0, CREATE_METHOD_TABLE(ErrorInstance
) }; 
  33 ErrorInstance::ErrorInstance(VM
& vm
, Structure
* structure
) 
  34     : JSNonFinalObject(vm
, structure
) 
  35     , m_appendSourceToMessage(false) 
  39 void ErrorInstance::finishCreation(VM
& vm
, const String
& message
, Vector
<StackFrame
> stackTrace
) 
  41     Base::finishCreation(vm
); 
  42     ASSERT(inherits(info())); 
  43     if (!message
.isNull()) 
  44         putDirect(vm
, vm
.propertyNames
->message
, jsString(&vm
, message
), DontEnum
); 
  46     if (!stackTrace
.isEmpty()) 
  47         putDirect(vm
, vm
.propertyNames
->stack
, vm
.interpreter
->stackTraceAsString(vm
.topCallFrame
, stackTrace
), DontEnum
);