source: webkit/trunk/JavaScriptCore/kjs/JSFunction.h@ 34587

Last change on this file since 34587 was 34587, checked in by Darin Adler, 17 years ago

JavaScriptCore:

2008-06-15 Darin Adler <Darin Adler>

  • rename KJS::List to KJS::ArgList
  • API/JSCallbackConstructor.cpp: (KJS::JSCallbackConstructor::construct):
  • API/JSCallbackConstructor.h:
  • API/JSCallbackFunction.cpp: (KJS::JSCallbackFunction::callAsFunction):
  • API/JSCallbackFunction.h:
  • API/JSCallbackObject.h:
  • API/JSCallbackObjectFunctions.h: (KJS::::construct): (KJS::::callAsFunction):
  • API/JSObjectRef.cpp: (JSObjectMakeFunction): (JSObjectCallAsFunction): (JSObjectCallAsConstructor):
  • JavaScriptCore.exp:
  • VM/Machine.cpp: (KJS::Machine::execute): (KJS::Machine::privateExecute):
  • VM/Machine.h:
  • kjs/ArrayPrototype.cpp: (KJS::arrayProtoFuncToString): (KJS::arrayProtoFuncToLocaleString): (KJS::arrayProtoFuncJoin): (KJS::arrayProtoFuncConcat): (KJS::arrayProtoFuncPop): (KJS::arrayProtoFuncPush): (KJS::arrayProtoFuncReverse): (KJS::arrayProtoFuncShift): (KJS::arrayProtoFuncSlice): (KJS::arrayProtoFuncSort): (KJS::arrayProtoFuncSplice): (KJS::arrayProtoFuncUnShift): (KJS::arrayProtoFuncFilter): (KJS::arrayProtoFuncMap): (KJS::arrayProtoFuncEvery): (KJS::arrayProtoFuncForEach): (KJS::arrayProtoFuncSome): (KJS::arrayProtoFuncIndexOf): (KJS::arrayProtoFuncLastIndexOf): (KJS::ArrayConstructor::construct): (KJS::ArrayConstructor::callAsFunction):
  • kjs/ArrayPrototype.h:
  • kjs/BooleanObject.cpp: (KJS::booleanProtoFuncToString): (KJS::booleanProtoFuncValueOf): (KJS::BooleanConstructor::construct): (KJS::BooleanConstructor::callAsFunction):
  • kjs/BooleanObject.h:
  • kjs/CommonIdentifiers.h:
  • kjs/ExecState.h: (KJS::ExecState::emptyList):
  • kjs/FunctionPrototype.cpp: (KJS::FunctionPrototype::callAsFunction): (KJS::functionProtoFuncToString): (KJS::functionProtoFuncApply): (KJS::functionProtoFuncCall): (KJS::FunctionConstructor::construct): (KJS::FunctionConstructor::callAsFunction):
  • kjs/FunctionPrototype.h:
  • kjs/JSActivation.cpp: (KJS::JSActivation::createArgumentsObject):
  • kjs/JSArray.cpp: (KJS::JSArray::JSArray): (KJS::AVLTreeAbstractorForArrayCompare::compare_key_key):
  • kjs/JSArray.h:
  • kjs/JSFunction.cpp: (KJS::JSFunction::callAsFunction): (KJS::JSFunction::construct): (KJS::IndexToNameMap::IndexToNameMap): (KJS::Arguments::Arguments): (KJS::encode): (KJS::decode): (KJS::globalFuncEval): (KJS::globalFuncParseInt): (KJS::globalFuncParseFloat): (KJS::globalFuncIsNaN): (KJS::globalFuncIsFinite): (KJS::globalFuncDecodeURI): (KJS::globalFuncDecodeURIComponent): (KJS::globalFuncEncodeURI): (KJS::globalFuncEncodeURIComponent): (KJS::globalFuncEscape): (KJS::globalFuncUnescape): (KJS::globalFuncKJSPrint): (KJS::PrototypeFunction::callAsFunction): (KJS::PrototypeReflexiveFunction::callAsFunction):
  • kjs/JSFunction.h:
  • kjs/JSGlobalData.h:
  • kjs/JSImmediate.cpp: (KJS::JSImmediate::toObject):
  • kjs/JSNotAnObject.cpp: (KJS::JSNotAnObject::construct): (KJS::JSNotAnObject::callAsFunction):
  • kjs/JSNotAnObject.h:
  • kjs/JSObject.cpp: (KJS::JSObject::put): (KJS::JSObject::construct): (KJS::JSObject::callAsFunction): (KJS::Error::create):
  • kjs/JSObject.h:
  • kjs/MathObject.cpp: (KJS::mathProtoFuncAbs): (KJS::mathProtoFuncACos): (KJS::mathProtoFuncASin): (KJS::mathProtoFuncATan): (KJS::mathProtoFuncATan2): (KJS::mathProtoFuncCeil): (KJS::mathProtoFuncCos): (KJS::mathProtoFuncExp): (KJS::mathProtoFuncFloor): (KJS::mathProtoFuncLog): (KJS::mathProtoFuncMax): (KJS::mathProtoFuncMin): (KJS::mathProtoFuncPow): (KJS::mathProtoFuncRandom): (KJS::mathProtoFuncRound): (KJS::mathProtoFuncSin): (KJS::mathProtoFuncSqrt): (KJS::mathProtoFuncTan):
  • kjs/MathObject.h:
  • kjs/NumberObject.cpp: (KJS::numberProtoFuncToString): (KJS::numberProtoFuncToLocaleString): (KJS::numberProtoFuncValueOf): (KJS::numberProtoFuncToFixed): (KJS::numberProtoFuncToExponential): (KJS::numberProtoFuncToPrecision): (KJS::NumberConstructor::construct): (KJS::NumberConstructor::callAsFunction):
  • kjs/NumberObject.h:
  • kjs/RegExpObject.cpp: (KJS::regExpProtoFuncTest): (KJS::regExpProtoFuncExec): (KJS::regExpProtoFuncCompile): (KJS::regExpProtoFuncToString): (KJS::RegExpObject::match): (KJS::RegExpObject::test): (KJS::RegExpObject::exec): (KJS::RegExpObject::callAsFunction): (KJS::RegExpConstructor::construct): (KJS::RegExpConstructor::callAsFunction):
  • kjs/RegExpObject.h:
  • kjs/Shell.cpp: (functionPrint): (functionDebug): (functionGC): (functionVersion): (functionRun): (functionLoad): (functionReadline): (functionQuit):
  • kjs/collector.cpp: (KJS::Collector::collect):
  • kjs/collector.h: (KJS::Collector::markListSet):
  • kjs/date_object.cpp: (KJS::formatLocaleDate): (KJS::fillStructuresUsingTimeArgs): (KJS::fillStructuresUsingDateArgs): (KJS::DateConstructor::construct): (KJS::DateConstructor::callAsFunction): (KJS::DateFunction::callAsFunction): (KJS::dateProtoFuncToString): (KJS::dateProtoFuncToUTCString): (KJS::dateProtoFuncToDateString): (KJS::dateProtoFuncToTimeString): (KJS::dateProtoFuncToLocaleString): (KJS::dateProtoFuncToLocaleDateString): (KJS::dateProtoFuncToLocaleTimeString): (KJS::dateProtoFuncValueOf): (KJS::dateProtoFuncGetTime): (KJS::dateProtoFuncGetFullYear): (KJS::dateProtoFuncGetUTCFullYear): (KJS::dateProtoFuncToGMTString): (KJS::dateProtoFuncGetMonth): (KJS::dateProtoFuncGetUTCMonth): (KJS::dateProtoFuncGetDate): (KJS::dateProtoFuncGetUTCDate): (KJS::dateProtoFuncGetDay): (KJS::dateProtoFuncGetUTCDay): (KJS::dateProtoFuncGetHours): (KJS::dateProtoFuncGetUTCHours): (KJS::dateProtoFuncGetMinutes): (KJS::dateProtoFuncGetUTCMinutes): (KJS::dateProtoFuncGetSeconds): (KJS::dateProtoFuncGetUTCSeconds): (KJS::dateProtoFuncGetMilliSeconds): (KJS::dateProtoFuncGetUTCMilliseconds): (KJS::dateProtoFuncGetTimezoneOffset): (KJS::dateProtoFuncSetTime): (KJS::setNewValueFromTimeArgs): (KJS::setNewValueFromDateArgs): (KJS::dateProtoFuncSetMilliSeconds): (KJS::dateProtoFuncSetUTCMilliseconds): (KJS::dateProtoFuncSetSeconds): (KJS::dateProtoFuncSetUTCSeconds): (KJS::dateProtoFuncSetMinutes): (KJS::dateProtoFuncSetUTCMinutes): (KJS::dateProtoFuncSetHours): (KJS::dateProtoFuncSetUTCHours): (KJS::dateProtoFuncSetDate): (KJS::dateProtoFuncSetUTCDate): (KJS::dateProtoFuncSetMonth): (KJS::dateProtoFuncSetUTCMonth): (KJS::dateProtoFuncSetFullYear): (KJS::dateProtoFuncSetUTCFullYear): (KJS::dateProtoFuncSetYear): (KJS::dateProtoFuncGetYear):
  • kjs/date_object.h:
  • kjs/debugger.h:
  • kjs/error_object.cpp: (KJS::errorProtoFuncToString): (KJS::ErrorConstructor::construct): (KJS::ErrorConstructor::callAsFunction): (KJS::NativeErrorConstructor::construct): (KJS::NativeErrorConstructor::callAsFunction):
  • kjs/error_object.h:
  • kjs/internal.cpp: (KJS::JSNumberCell::toObject): (KJS::JSNumberCell::toThisObject):
  • kjs/list.cpp: (KJS::ArgList::getSlice): (KJS::ArgList::markLists): (KJS::ArgList::slowAppend):
  • kjs/list.h: (KJS::ArgList::ArgList): (KJS::ArgList::~ArgList):
  • kjs/object_object.cpp: (KJS::objectProtoFuncValueOf): (KJS::objectProtoFuncHasOwnProperty): (KJS::objectProtoFuncIsPrototypeOf): (KJS::objectProtoFuncDefineGetter): (KJS::objectProtoFuncDefineSetter): (KJS::objectProtoFuncLookupGetter): (KJS::objectProtoFuncLookupSetter): (KJS::objectProtoFuncPropertyIsEnumerable): (KJS::objectProtoFuncToLocaleString): (KJS::objectProtoFuncToString): (KJS::ObjectConstructor::construct): (KJS::ObjectConstructor::callAsFunction):
  • kjs/object_object.h:
  • kjs/string_object.cpp: (KJS::replace): (KJS::stringProtoFuncToString): (KJS::stringProtoFuncValueOf): (KJS::stringProtoFuncCharAt): (KJS::stringProtoFuncCharCodeAt): (KJS::stringProtoFuncConcat): (KJS::stringProtoFuncIndexOf): (KJS::stringProtoFuncLastIndexOf): (KJS::stringProtoFuncMatch): (KJS::stringProtoFuncSearch): (KJS::stringProtoFuncReplace): (KJS::stringProtoFuncSlice): (KJS::stringProtoFuncSplit): (KJS::stringProtoFuncSubstr): (KJS::stringProtoFuncSubstring): (KJS::stringProtoFuncToLowerCase): (KJS::stringProtoFuncToUpperCase): (KJS::stringProtoFuncToLocaleLowerCase): (KJS::stringProtoFuncToLocaleUpperCase): (KJS::stringProtoFuncLocaleCompare): (KJS::stringProtoFuncBig): (KJS::stringProtoFuncSmall): (KJS::stringProtoFuncBlink): (KJS::stringProtoFuncBold): (KJS::stringProtoFuncFixed): (KJS::stringProtoFuncItalics): (KJS::stringProtoFuncStrike): (KJS::stringProtoFuncSub): (KJS::stringProtoFuncSup): (KJS::stringProtoFuncFontcolor): (KJS::stringProtoFuncFontsize): (KJS::stringProtoFuncAnchor): (KJS::stringProtoFuncLink): (KJS::StringConstructor::construct): (KJS::StringConstructor::callAsFunction): (KJS::StringConstructorFunction::callAsFunction):
  • kjs/string_object.h:

JavaScriptGlue:

2008-06-15 Darin Adler <Darin Adler>

  • rename KJS::List to KJS::ArgList
  • JSValueWrapper.cpp: (JSValueWrapper::JSObjectCallFunction):
  • UserObjectImp.cpp: (UserObjectImp::callAsFunction):
  • UserObjectImp.h:

WebCore:

2008-06-15 Darin Adler <Darin Adler>

  • try to fix Qt build
  • dom/XMLTokenizer.cpp: Use create instead of new.
  • rename KJS::List to KJS::ArgList
  • bindings/js/JSAudioConstructor.cpp: (WebCore::JSAudioConstructor::construct):
  • bindings/js/JSAudioConstructor.h:
  • bindings/js/JSCanvasRenderingContext2DCustom.cpp: (WebCore::JSCanvasRenderingContext2D::setFillColor): (WebCore::JSCanvasRenderingContext2D::setStrokeColor): (WebCore::JSCanvasRenderingContext2D::strokeRect): (WebCore::JSCanvasRenderingContext2D::drawImage): (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): (WebCore::JSCanvasRenderingContext2D::setShadow): (WebCore::JSCanvasRenderingContext2D::createPattern): (WebCore::JSCanvasRenderingContext2D::putImageData):
  • bindings/js/JSClipboardCustom.cpp: (WebCore::JSClipboard::types): (WebCore::JSClipboard::clearData): (WebCore::JSClipboard::getData): (WebCore::JSClipboard::setData): (WebCore::JSClipboard::setDragImage):
  • bindings/js/JSConsoleCustom.cpp: (WebCore::JSConsole::debug): (WebCore::JSConsole::error): (WebCore::JSConsole::info): (WebCore::JSConsole::log): (WebCore::JSConsole::warn): (WebCore::JSConsole::assertCondition): (WebCore::JSConsole::profile): (WebCore::JSConsole::profileEnd):
  • bindings/js/JSCustomSQLStatementCallback.cpp: (WebCore::JSCustomSQLStatementCallback::handleEvent):
  • bindings/js/JSCustomSQLStatementErrorCallback.cpp: (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
  • bindings/js/JSCustomSQLTransactionCallback.cpp: (WebCore::JSCustomSQLTransactionCallback::handleEvent):
  • bindings/js/JSCustomSQLTransactionErrorCallback.cpp: (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
  • bindings/js/JSCustomVoidCallback.cpp: (WebCore::JSCustomVoidCallback::handleEvent):
  • bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
  • bindings/js/JSDOMApplicationCacheCustom.cpp: (WebCore::JSDOMApplicationCache::add): (WebCore::JSDOMApplicationCache::remove): (WebCore::JSDOMApplicationCache::addEventListener): (WebCore::JSDOMApplicationCache::removeEventListener): (WebCore::JSDOMApplicationCache::dispatchEvent):
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::windowProtoFuncAToB): (WebCore::windowProtoFuncBToA): (WebCore::windowProtoFuncOpen): (WebCore::windowProtoFuncSetTimeout): (WebCore::windowProtoFuncClearTimeout): (WebCore::windowProtoFuncSetInterval): (WebCore::windowProtoFuncAddEventListener): (WebCore::windowProtoFuncRemoveEventListener): (WebCore::windowProtoFuncShowModalDialog): (WebCore::windowProtoFuncNotImplemented): (WebCore::JSDOMWindowBase::installTimeout):
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage):
  • bindings/js/JSDatabaseCustom.cpp: (WebCore::JSDatabase::changeVersion): (WebCore::JSDatabase::transaction):
  • bindings/js/JSElementCustom.cpp: (WebCore::JSElement::setAttribute): (WebCore::JSElement::setAttributeNode): (WebCore::JSElement::setAttributeNS): (WebCore::JSElement::setAttributeNodeNS):
  • bindings/js/JSEventTargetBase.cpp: (WebCore::jsEventTargetAddEventListener): (WebCore::jsEventTargetRemoveEventListener): (WebCore::jsEventTargetDispatchEvent):
  • bindings/js/JSEventTargetBase.h:
  • bindings/js/JSHTMLAppletElementCustom.cpp: (WebCore::JSHTMLAppletElement::callAsFunction):
  • bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::JSHTMLCollection::callAsFunction): (WebCore::JSHTMLCollection::item): (WebCore::JSHTMLCollection::namedItem):
  • bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::open): (WebCore::writeHelper): (WebCore::JSHTMLDocument::write): (WebCore::JSHTMLDocument::writeln):
  • bindings/js/JSHTMLEmbedElementCustom.cpp: (WebCore::JSHTMLEmbedElement::callAsFunction):
  • bindings/js/JSHTMLInputElementBase.cpp: (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
  • bindings/js/JSHTMLInputElementBase.h:
  • bindings/js/JSHTMLObjectElementCustom.cpp: (WebCore::JSHTMLObjectElement::callAsFunction):
  • bindings/js/JSHTMLOptionElementConstructor.cpp: (WebCore::JSHTMLOptionElementConstructor::construct):
  • bindings/js/JSHTMLOptionElementConstructor.h:
  • bindings/js/JSHTMLOptionsCollectionCustom.cpp: (WebCore::JSHTMLOptionsCollection::add): (WebCore::JSHTMLOptionsCollection::remove):
  • bindings/js/JSHTMLSelectElementCustom.cpp: (WebCore::JSHTMLSelectElement::remove):
  • bindings/js/JSImageConstructor.cpp: (WebCore::JSImageConstructor::construct):
  • bindings/js/JSImageConstructor.h:
  • bindings/js/JSJavaScriptCallFrameCustom.cpp: (WebCore::JSJavaScriptCallFrame::evaluate): (WebCore::JSJavaScriptCallFrame::scopeChain):
  • bindings/js/JSLocationCustom.cpp: (WebCore::JSLocation::replace): (WebCore::JSLocation::reload): (WebCore::JSLocation::assign): (WebCore::JSLocation::toString):
  • bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::insertBefore): (WebCore::JSNode::replaceChild): (WebCore::JSNode::removeChild): (WebCore::JSNode::appendChild):
  • bindings/js/JSNodeFilterCondition.cpp: (WebCore::JSNodeFilterCondition::acceptNode):
  • bindings/js/JSNodeFilterCustom.cpp: (WebCore::JSNodeFilter::acceptNode):
  • bindings/js/JSNodeIteratorCustom.cpp: (WebCore::JSNodeIterator::nextNode): (WebCore::JSNodeIterator::previousNode):
  • bindings/js/JSNodeListCustom.cpp: (WebCore::JSNodeList::callAsFunction):
  • bindings/js/JSQuarantinedObjectWrapper.cpp: (WebCore::JSQuarantinedObjectWrapper::construct): (WebCore::JSQuarantinedObjectWrapper::callAsFunction):
  • bindings/js/JSQuarantinedObjectWrapper.h:
  • bindings/js/JSSQLResultSetRowListCustom.cpp: (WebCore::JSSQLResultSetRowList::item):
  • bindings/js/JSSQLTransactionCustom.cpp: (WebCore::JSSQLTransaction::executeSql):
  • bindings/js/JSSVGMatrixCustom.cpp: (WebCore::JSSVGMatrix::multiply): (WebCore::JSSVGMatrix::inverse): (WebCore::JSSVGMatrix::translate): (WebCore::JSSVGMatrix::scale): (WebCore::JSSVGMatrix::scaleNonUniform): (WebCore::JSSVGMatrix::rotate): (WebCore::JSSVGMatrix::rotateFromVector): (WebCore::JSSVGMatrix::flipX): (WebCore::JSSVGMatrix::flipY): (WebCore::JSSVGMatrix::skewX): (WebCore::JSSVGMatrix::skewY):
  • bindings/js/JSSVGPathSegListCustom.cpp: (WebCore::JSSVGPathSegList::clear): (WebCore::JSSVGPathSegList::initialize): (WebCore::JSSVGPathSegList::getItem): (WebCore::JSSVGPathSegList::insertItemBefore): (WebCore::JSSVGPathSegList::replaceItem): (WebCore::JSSVGPathSegList::removeItem): (WebCore::JSSVGPathSegList::appendItem):
  • bindings/js/JSSVGPointListCustom.cpp: (WebCore::JSSVGPointList::clear): (WebCore::JSSVGPointList::initialize): (WebCore::JSSVGPointList::getItem): (WebCore::JSSVGPointList::insertItemBefore): (WebCore::JSSVGPointList::replaceItem): (WebCore::JSSVGPointList::removeItem): (WebCore::JSSVGPointList::appendItem):
  • bindings/js/JSSVGTransformListCustom.cpp: (WebCore::JSSVGTransformList::clear): (WebCore::JSSVGTransformList::initialize): (WebCore::JSSVGTransformList::getItem): (WebCore::JSSVGTransformList::insertItemBefore): (WebCore::JSSVGTransformList::replaceItem): (WebCore::JSSVGTransformList::removeItem): (WebCore::JSSVGTransformList::appendItem):
  • bindings/js/JSTreeWalkerCustom.cpp: (WebCore::JSTreeWalker::parentNode): (WebCore::JSTreeWalker::firstChild): (WebCore::JSTreeWalker::lastChild): (WebCore::JSTreeWalker::nextSibling): (WebCore::JSTreeWalker::previousSibling): (WebCore::JSTreeWalker::previousNode): (WebCore::JSTreeWalker::nextNode):
  • bindings/js/JSXMLHttpRequestConstructor.cpp: (WebCore::JSXMLHttpRequestConstructor::construct):
  • bindings/js/JSXMLHttpRequestConstructor.h:
  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::open): (WebCore::JSXMLHttpRequest::setRequestHeader): (WebCore::JSXMLHttpRequest::send): (WebCore::JSXMLHttpRequest::getResponseHeader): (WebCore::JSXMLHttpRequest::overrideMimeType): (WebCore::JSXMLHttpRequest::addEventListener): (WebCore::JSXMLHttpRequest::removeEventListener): (WebCore::JSXMLHttpRequest::dispatchEvent):
  • bindings/js/JSXSLTProcessorConstructor.cpp: (WebCore::JSXSLTProcessorConstructor::construct):
  • bindings/js/JSXSLTProcessorConstructor.h:
  • bindings/js/JSXSLTProcessorCustom.cpp: (WebCore::JSXSLTProcessor::importStylesheet): (WebCore::JSXSLTProcessor::transformToFragment): (WebCore::JSXSLTProcessor::transformToDocument): (WebCore::JSXSLTProcessor::setParameter): (WebCore::JSXSLTProcessor::getParameter): (WebCore::JSXSLTProcessor::removeParameter):
  • bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::ScheduledAction): (WebCore::ScheduledAction::execute):
  • bindings/js/ScheduledAction.h:
  • bindings/js/kjs_events.cpp: (WebCore::JSAbstractEventListener::handleEvent): (WebCore::JSLazyEventListener::parseCode):
  • bindings/js/kjs_html.cpp: (WebCore::runtimeObjectCallAsFunction):
  • bindings/js/kjs_html.h:
  • bindings/objc/WebScriptObject.mm: (getListFromNSArray): (-[WebScriptObject callWebScriptMethod:withArguments:]):
  • bindings/scripts/CodeGeneratorJS.pm:
  • bridge/NP_jsobject.cpp: (getListFromVariantArgs): (_NPN_InvokeDefault): (_NPN_Invoke):
  • bridge/c/c_instance.cpp: (KJS::Bindings::CInstance::invokeMethod): (KJS::Bindings::CInstance::invokeDefaultMethod):
  • bridge/c/c_instance.h:
  • bridge/jni/jni_instance.cpp: (JavaInstance::invokeMethod):
  • bridge/jni/jni_instance.h:
  • bridge/jni/jni_jsobject.h:
  • bridge/jni/jni_jsobject.mm: (JavaJSObject::call): (JavaJSObject::getListFromJArray):
  • bridge/objc/objc_instance.h:
  • bridge/objc/objc_instance.mm: (ObjcInstance::invokeMethod): (ObjcInstance::invokeDefaultMethod):
  • bridge/objc/objc_runtime.h:
  • bridge/objc/objc_runtime.mm: (ObjcFallbackObjectImp::callAsFunction):
  • bridge/qt/qt_instance.cpp: (KJS::Bindings::QtRuntimeObjectImp::construct): (KJS::Bindings::QtInstance::invokeMethod): (KJS::Bindings::QtInstance::invokeDefaultMethod):
  • bridge/qt/qt_instance.h:
  • bridge/qt/qt_runtime.cpp: (KJS::Bindings::convertQVariantToValue): (KJS::Bindings::findMethodIndex): (KJS::Bindings::QtRuntimeMetaMethod::callAsFunction): (KJS::Bindings::QtRuntimeConnectionMethod::callAsFunction): (KJS::Bindings::QtConnectionObject::execute):
  • bridge/qt/qt_runtime.h:
  • bridge/runtime.h: (KJS::Bindings::Instance::invokeDefaultMethod):
  • bridge/runtime_method.cpp: (RuntimeMethod::callAsFunction):
  • bridge/runtime_method.h:
  • bridge/runtime_object.cpp: (RuntimeObjectImp::callAsFunction):
  • bridge/runtime_object.h:
  • page/Console.cpp: (WebCore::printToStandardOut): (WebCore::Console::debug): (WebCore::Console::error): (WebCore::Console::info): (WebCore::Console::log): (WebCore::Console::assertCondition): (WebCore::Console::profile): (WebCore::Console::profileEnd): (WebCore::Console::warn):
  • page/Console.h:
  • page/InspectorController.cpp: (WebCore::ConsoleMessage::ConsoleMessage): (WebCore::InspectorController::addMessageToConsole):
  • page/InspectorController.h:

WebKit/mac:

2008-06-15 Darin Adler <Darin Adler>

  • rename KJS::List to KJS::ArgList
  • WebView/WebScriptDebugger.h:

WebKit/win:

2008-06-15 Darin Adler <Darin Adler>

  • rename KJS::List to KJS::ArgList
  • WebScriptCallFrame.cpp: (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):

WebKitTools:

2008-06-15 Darin Adler <Darin Adler>

  • Scripts/do-webcore-rename: Updated for the latest round of renaming.
  • Property svn:eol-style set to native
File size: 6.4 KB
Line 
1// -*- c-basic-offset: 2 -*-
2/*
3 * Copyright (C) 1999-2000 Harri Porten ([email protected])
4 * Copyright (C) 2003, 2006, 2007, 2008 Apple Inc. All rights reserved.
5 * Copyright (C) 2007 Cameron Zwarich ([email protected])
6 * Copyright (C) 2007 Maks Orlovich
7 *
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either
11 * version 2 of the License, or (at your option) any later version.
12 *
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Library General Public License for more details.
17 *
18 * You should have received a copy of the GNU Library General Public License
19 * along with this library; see the file COPYING.LIB. If not, write to
20 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 * Boston, MA 02110-1301, USA.
22 *
23 */
24
25#ifndef JSFunction_h
26#define JSFunction_h
27
28#include "JSVariableObject.h"
29#include "SymbolTable.h"
30#include "nodes.h"
31#include "JSObject.h"
32
33namespace KJS {
34
35 class FunctionBodyNode;
36 class FunctionPrototype;
37 class JSActivation;
38 class JSGlobalObject;
39
40 class InternalFunction : public JSObject {
41 public:
42 InternalFunction();
43 InternalFunction(FunctionPrototype*, const Identifier&);
44
45 virtual CallType getCallData(CallData&);
46
47 virtual JSValue* callAsFunction(ExecState*, JSObject* thisObjec, const ArgList& args) = 0;
48 virtual bool implementsHasInstance() const;
49
50 virtual const ClassInfo* classInfo() const { return &info; }
51 static const ClassInfo info;
52 const Identifier& functionName() const { return m_name; }
53
54 private:
55 Identifier m_name;
56 };
57
58 class JSFunction : public InternalFunction {
59 public:
60 JSFunction(ExecState*, const Identifier&, FunctionBodyNode*, ScopeChainNode*);
61
62 virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
63 virtual void put(ExecState*, const Identifier& propertyName, JSValue*);
64 virtual bool deleteProperty(ExecState*, const Identifier& propertyName);
65
66 virtual ConstructType getConstructData(ConstructData&);
67 virtual JSObject* construct(ExecState*, const ArgList& args);
68
69 virtual CallType getCallData(CallData&);
70 virtual JSValue* callAsFunction(ExecState*, JSObject* thisObj, const ArgList& args);
71
72 // Note: unlike body->paramName, this returns Identifier::null for parameters
73 // that will never get set, due to later param having the same name
74 Identifier getParameterName(int index);
75
76 virtual const ClassInfo* classInfo() const { return &info; }
77 static const ClassInfo info;
78
79 RefPtr<FunctionBodyNode> body;
80
81 void setScope(const ScopeChain& s) { _scope = s; }
82 ScopeChain& scope() { return _scope; }
83
84 virtual void mark();
85
86 private:
87 ScopeChain _scope;
88
89 static JSValue* argumentsGetter(ExecState*, const Identifier&, const PropertySlot&);
90 static JSValue* callerGetter(ExecState*, const Identifier&, const PropertySlot&);
91 static JSValue* lengthGetter(ExecState*, const Identifier&, const PropertySlot&);
92 };
93
94 class IndexToNameMap {
95 public:
96 IndexToNameMap(JSFunction*, const ArgList& args);
97 ~IndexToNameMap();
98
99 Identifier& operator[](const Identifier& index);
100 bool isMapped(const Identifier& index) const;
101 void unMap(const Identifier& index);
102
103 private:
104 unsigned size;
105 Identifier* _map;
106 };
107
108 class Arguments : public JSObject {
109 public:
110 Arguments(ExecState*, JSFunction* func, const ArgList& args, JSActivation* act);
111 virtual void mark();
112 virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
113 virtual void put(ExecState*, const Identifier& propertyName, JSValue*);
114 virtual bool deleteProperty(ExecState*, const Identifier& propertyName);
115 virtual const ClassInfo* classInfo() const { return &info; }
116 static const ClassInfo info;
117 private:
118 static JSValue* mappedIndexGetter(ExecState*, const Identifier&, const PropertySlot& slot);
119
120 JSActivation* _activationObject;
121 mutable IndexToNameMap indexToNameMap;
122 };
123
124 class PrototypeFunction : public InternalFunction {
125 public:
126 typedef JSValue* (*JSMemberFunction)(ExecState*, JSObject* thisObj, const ArgList&);
127
128 PrototypeFunction(ExecState*, int len, const Identifier&, JSMemberFunction);
129 PrototypeFunction(ExecState*, FunctionPrototype*, int len, const Identifier&, JSMemberFunction);
130
131 virtual JSValue* callAsFunction(ExecState* exec, JSObject* thisObj, const ArgList&);
132
133 private:
134 const JSMemberFunction m_function;
135 };
136
137
138 // Just like PrototypeFunction, but callbacks also get passed the JS function object.
139 class PrototypeReflexiveFunction : public InternalFunction {
140 public:
141 typedef JSValue* (*JSMemberFunction)(ExecState*, PrototypeReflexiveFunction*, JSObject* thisObj, const ArgList&);
142
143 PrototypeReflexiveFunction(ExecState*, FunctionPrototype*, int len, const Identifier&, JSMemberFunction, JSGlobalObject* expectedThisObject);
144
145 virtual void mark();
146 virtual JSValue* callAsFunction(ExecState* exec, JSObject* thisObj, const ArgList&);
147
148 JSGlobalObject* cachedGlobalObject() const { return m_cachedGlobalObject; }
149
150 private:
151 const JSMemberFunction m_function;
152 JSGlobalObject* m_cachedGlobalObject;
153 };
154
155 // Global Functions
156 JSValue* globalFuncEval(ExecState*, PrototypeReflexiveFunction*, JSObject*, const ArgList&);
157 JSValue* globalFuncParseInt(ExecState*, JSObject*, const ArgList&);
158 JSValue* globalFuncParseFloat(ExecState*, JSObject*, const ArgList&);
159 JSValue* globalFuncIsNaN(ExecState*, JSObject*, const ArgList&);
160 JSValue* globalFuncIsFinite(ExecState*, JSObject*, const ArgList&);
161 JSValue* globalFuncDecodeURI(ExecState*, JSObject*, const ArgList&);
162 JSValue* globalFuncDecodeURIComponent(ExecState*, JSObject*, const ArgList&);
163 JSValue* globalFuncEncodeURI(ExecState*, JSObject*, const ArgList&);
164 JSValue* globalFuncEncodeURIComponent(ExecState*, JSObject*, const ArgList&);
165 JSValue* globalFuncEscape(ExecState*, JSObject*, const ArgList&);
166 JSValue* globalFuncUnescape(ExecState*, JSObject*, const ArgList&);
167#ifndef NDEBUG
168 JSValue* globalFuncKJSPrint(ExecState*, JSObject*, const ArgList&);
169#endif
170
171 static const double mantissaOverflowLowerBound = 9007199254740992.0;
172 double parseIntOverflow(const char*, int length, int radix);
173
174} // namespace
175
176#endif
Note: See TracBrowser for help on using the repository browser.