Ignore:
Timestamp:
Jun 21, 2006, 2:09:19 PM (19 years ago)
Author:
ggaren
Message:

JavaScriptCore:

Reviewed by Anders.


  • First cut at C API to JavaScript. Includes a unit test, 'testapi.c', and the outline of a test app, 'minidom.c'.


Includes one change to JSC internals: Rename propList to getPropertyList and have it
take its target property list by reference so that subclasses can
add properties to the list before calling through to their superclasses.


Also, I just ran prepare-ChangeLog in about 10 seconds, and I would like
to give a shout-out to that.


  • API/APICast.h: Added. (toJS): (toRef):
  • API/JSBase.h: Added.
  • API/JSCallbackObject.cpp: Added. (KJS::): (KJS::JSCallbackObject::JSCallbackObject): (KJS::JSCallbackObject::~JSCallbackObject): (KJS::JSCallbackObject::className): (KJS::JSCallbackObject::getOwnPropertySlot): (KJS::JSCallbackObject::put): (KJS::JSCallbackObject::deleteProperty): (KJS::JSCallbackObject::implementsConstruct): (KJS::JSCallbackObject::construct): (KJS::JSCallbackObject::implementsCall): (KJS::JSCallbackObject::callAsFunction): (KJS::JSCallbackObject::getPropertyList): (KJS::JSCallbackObject::toBoolean): (KJS::JSCallbackObject::toNumber): (KJS::JSCallbackObject::toString): (KJS::JSCallbackObject::setPrivate): (KJS::JSCallbackObject::getPrivate): (KJS::JSCallbackObject::cachedValueGetter): (KJS::JSCallbackObject::callbackGetter):
  • API/JSCallbackObject.h: Added. (KJS::JSCallbackObject::classInfo):
  • API/JSCharBufferRef.cpp: Added. (JSStringMake): (JSCharBufferCreate): (JSCharBufferCreateUTF8): (JSCharBufferRetain): (JSCharBufferRelease): (JSValueCopyStringValue): (JSCharBufferGetLength): (JSCharBufferGetCharactersPtr): (JSCharBufferGetCharacters): (JSCharBufferGetMaxLengthUTF8): (JSCharBufferGetCharactersUTF8): (JSCharBufferIsEqual): (JSCharBufferIsEqualUTF8): (JSCharBufferCreateWithCFString): (CFStringCreateWithJSCharBuffer):
  • API/JSCharBufferRef.h: Added.
  • API/JSContextRef.cpp: Added. (JSContextCreate): (JSContextDestroy): (JSContextGetGlobalObject): (JSEvaluate): (JSCheckSyntax): (JSContextHasException): (JSContextGetException): (JSContextClearException): (JSContextSetException):
  • API/JSContextRef.h: Added.
  • API/JSObjectRef.cpp: Added. (JSValueToObject): (JSObjectMake): (JSFunctionMake): (JSObjectGetDescription): (JSObjectGetPrototype): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectDeleteProperty): (JSObjectGetPrivate): (JSObjectSetPrivate): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectIsConstructor): (JSObjectCallAsConstructor): (JSPropertyListEnumerator::JSPropertyListEnumerator): (JSObjectCreatePropertyEnumerator): (JSPropertyEnumeratorGetNext): (JSPropertyEnumeratorRetain): (JSPropertyEnumeratorRelease): (JSPropertyListAdd):
  • API/JSObjectRef.h: Added.
  • API/JSValueRef.cpp: Added. (JSValueGetType): (JSValueIsUndefined): (JSValueIsNull): (JSValueIsBoolean): (JSValueIsNumber): (JSValueIsString): (JSValueIsObject): (JSValueIsEqual): (JSValueIsStrictEqual): (JSUndefinedMake): (JSNullMake): (JSBooleanMake): (JSNumberMake): (JSValueToBoolean): (JSValueToNumber): (JSGCProtect): (JSGCUnprotect): (JSGCCollect):
  • API/JSValueRef.h: Added.
  • API/JavaScriptCore.h: Added.
  • API/minidom.c: Added. (main):
  • API/minidom.html: Added.
  • API/minidom.js: Added.
  • API/testapi.c: Added. (assertEqualsAsBoolean): (assertEqualsAsNumber): (assertEqualsAsUTF8String): (assertEqualsAsCharactersPtr): (assertEqualsAsCharacters): (MyObject_initialize): (MyObject_copyDescription): (MyObject_hasProperty): (MyObject_getProperty): (MyObject_setProperty): (MyObject_deleteProperty): (MyObject_getPropertyList): (MyObject_callAsFunction): (MyObject_callAsConstructor): (MyObject_convertToType): (MyObject_finalize): (print_callAsFunction): (main): (createStringWithContentsOfFile):
  • API/testapi.js: Added.
  • ChangeLog:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bindings/npruntime_impl.h:
  • kjs/array_instance.h:
  • kjs/array_object.cpp: (ArrayInstance::getPropertyList):
  • kjs/interpreter.cpp: (KJS::Interpreter::evaluate):
  • kjs/nodes.cpp: (ForInNode::execute):
  • kjs/object.cpp: (KJS::JSObject::put): (KJS::JSObject::canPut): (KJS::JSObject::deleteProperty): (KJS::JSObject::propertyIsEnumerable): (KJS::JSObject::getPropertyAttributes): (KJS::JSObject::getPropertyList):
  • kjs/object.h:
  • kjs/property_map.cpp: (KJS::PropertyMap::get):
  • kjs/property_map.h:
  • kjs/scope_chain.cpp: (KJS::ScopeChain::print):
  • kjs/string_object.cpp: (StringInstance::getPropertyList):
  • kjs/string_object.h:
  • kjs/ustring.h: (KJS::UString::Rep::ref):

JavaScriptGlue:

Reviewed by Anders.


  • Required for JS API: Rename propList to getPropertyList and have it take its target property list by reference so that subclasses can add properties to the list before calling through to their superclasses.
  • JSUtils.cpp: (KJSValueToCFTypeInternal):
  • JSValueWrapper.cpp: (JSValueWrapper::JSObjectCopyPropertyNames):
  • UserObjectImp.cpp: (UserObjectImp::getPropertyList):
  • UserObjectImp.h:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj

    r14883 r14951  
    2424                        dependencies = (
    2525                                932F5BE70822A1C700736975 /* PBXTargetDependency */,
     26                                141214BF0A49190E00480255 /* PBXTargetDependency */,
    2627                                932F5BE90822A1C700736975 /* PBXTargetDependency */,
     28                                14BD59C70A3E8FA400BAF59C /* PBXTargetDependency */,
    2729                        );
    2830                        name = All;
     
    3234
    3335/* Begin PBXBuildFile section */
     36                141211310A48794D00480255 /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 932F5BD90822A1C700736975 /* JavaScriptCore.framework */; };
     37                141211340A48795800480255 /* minidom.c in Sources */ = {isa = PBXBuildFile; fileRef = 141211020A48780900480255 /* minidom.c */; };
     38                142711390A460BBB0080EEEA /* JSBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 142711380A460BBB0080EEEA /* JSBase.h */; settings = {ATTRIBUTES = (Private, ); }; };
    3439                14760864099C633800437128 /* JSImmediate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14760863099C633800437128 /* JSImmediate.cpp */; };
     40                147FE3B80A3F637E00A1F3F4 /* testapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 14BD5A2D0A3E91F600BAF59C /* testapi.c */; };
     41                1482B6EB0A4300B300517CFC /* JSValueRef.h in Headers */ = {isa = PBXBuildFile; fileRef = 1482B6EA0A4300B300517CFC /* JSValueRef.h */; settings = {ATTRIBUTES = (Private, ); }; };
     42                1482B74D0A43032800517CFC /* JSCharBufferRef.h in Headers */ = {isa = PBXBuildFile; fileRef = 1482B74B0A43032800517CFC /* JSCharBufferRef.h */; settings = {ATTRIBUTES = (Private, ); }; };
     43                1482B74E0A43032800517CFC /* JSCharBufferRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1482B74C0A43032800517CFC /* JSCharBufferRef.cpp */; };
     44                1482B78B0A4305AB00517CFC /* APICast.h in Headers */ = {isa = PBXBuildFile; fileRef = 1482B78A0A4305AB00517CFC /* APICast.h */; };
     45                1482B7E30A43076000517CFC /* JSObjectRef.h in Headers */ = {isa = PBXBuildFile; fileRef = 1482B7E10A43076000517CFC /* JSObjectRef.h */; settings = {ATTRIBUTES = (Private, ); }; };
     46                1482B7E40A43076000517CFC /* JSObjectRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1482B7E20A43076000517CFC /* JSObjectRef.cpp */; };
    3547                1483B58A099BC1950016E4F0 /* JSImmediate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1483B589099BC1950016E4F0 /* JSImmediate.h */; settings = {ATTRIBUTES = (Private, ); }; };
    3648                148A1627095D16BB00666D0D /* ListRefPtr.h in Headers */ = {isa = PBXBuildFile; fileRef = 148A1626095D16BB00666D0D /* ListRefPtr.h */; };
    3749                14ABB36F099C076400E2A24F /* value.h in Headers */ = {isa = PBXBuildFile; fileRef = 14ABB36E099C076400E2A24F /* value.h */; settings = {ATTRIBUTES = (Private, ); }; };
    3850                14ABB455099C2A0F00E2A24F /* JSType.h in Headers */ = {isa = PBXBuildFile; fileRef = 14ABB454099C2A0F00E2A24F /* JSType.h */; settings = {ATTRIBUTES = (Private, ); }; };
     51                14ABDF5F0A437FEF00ECCA01 /* JSCallbackObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 14ABDF5D0A437FEF00ECCA01 /* JSCallbackObject.h */; };
     52                14ABDF600A437FEF00ECCA01 /* JSCallbackObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14ABDF5E0A437FEF00ECCA01 /* JSCallbackObject.cpp */; };
    3953                14BD534C0A3E0AEA00BAF59C /* SavedBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 14BD534A0A3E0AEA00BAF59C /* SavedBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
    4054                14BD53F50A3E12D800BAF59C /* ExecState.h in Headers */ = {isa = PBXBuildFile; fileRef = 14BD53F30A3E12D800BAF59C /* ExecState.h */; settings = {ATTRIBUTES = (Private, ); }; };
    4155                14BD53F60A3E12D800BAF59C /* ExecState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14BD53F40A3E12D800BAF59C /* ExecState.cpp */; };
     56                14BD59C50A3E8F9F00BAF59C /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 932F5BD90822A1C700736975 /* JavaScriptCore.framework */; };
     57                14BD5A300A3E91F600BAF59C /* JSContextRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14BD5A290A3E91F600BAF59C /* JSContextRef.cpp */; };
     58                14BD5A310A3E91F600BAF59C /* JSContextRef.h in Headers */ = {isa = PBXBuildFile; fileRef = 14BD5A2A0A3E91F600BAF59C /* JSContextRef.h */; settings = {ATTRIBUTES = (Private, ); }; };
     59                14BD5A320A3E91F600BAF59C /* JSValueRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14BD5A2B0A3E91F600BAF59C /* JSValueRef.cpp */; };
     60                14BD5A340A3E91F600BAF59C /* testapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 14BD5A2D0A3E91F600BAF59C /* testapi.c */; };
     61                14BD5A360A3E91F600BAF59C /* JavaScriptCore.h in Headers */ = {isa = PBXBuildFile; fileRef = 14BD5A2F0A3E91F600BAF59C /* JavaScriptCore.h */; settings = {ATTRIBUTES = (Private, ); }; };
    4262                14F137590A3A727E00F26F90 /* Context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14F137580A3A727E00F26F90 /* Context.cpp */; };
    4363                14F137830A3A765B00F26F90 /* context.h in Headers */ = {isa = PBXBuildFile; fileRef = 14F137820A3A765B00F26F90 /* context.h */; settings = {ATTRIBUTES = (Private, ); }; };
     
    235255
    236256/* Begin PBXContainerItemProxy section */
     257                141211350A48796100480255 /* PBXContainerItemProxy */ = {
     258                        isa = PBXContainerItemProxy;
     259                        containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
     260                        proxyType = 1;
     261                        remoteGlobalIDString = 932F5B3E0822A1C700736975;
     262                        remoteInfo = JavaScriptCore;
     263                };
     264                141214BE0A49190E00480255 /* PBXContainerItemProxy */ = {
     265                        isa = PBXContainerItemProxy;
     266                        containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
     267                        proxyType = 1;
     268                        remoteGlobalIDString = 1412111F0A48793C00480255;
     269                        remoteInfo = minidom;
     270                };
     271                14270B070A451DA10080EEEA /* PBXContainerItemProxy */ = {
     272                        isa = PBXContainerItemProxy;
     273                        containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
     274                        proxyType = 1;
     275                        remoteGlobalIDString = 932F5B3E0822A1C700736975;
     276                        remoteInfo = JavaScriptCore;
     277                };
     278                14270B0B0A451DA40080EEEA /* PBXContainerItemProxy */ = {
     279                        isa = PBXContainerItemProxy;
     280                        containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
     281                        proxyType = 1;
     282                        remoteGlobalIDString = 932F5B3E0822A1C700736975;
     283                        remoteInfo = JavaScriptCore;
     284                };
     285                14BD59C60A3E8FA400BAF59C /* PBXContainerItemProxy */ = {
     286                        isa = PBXContainerItemProxy;
     287                        containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
     288                        proxyType = 1;
     289                        remoteGlobalIDString = 14BD59BE0A3E8F9000BAF59C;
     290                        remoteInfo = testapi;
     291                };
    237292                65FB3F7D09D11EF300F49DEB /* PBXContainerItemProxy */ = {
    238293                        isa = PBXContainerItemProxy;
     
    266321
    267322/* Begin PBXFileReference section */
     323                141211020A48780900480255 /* minidom.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = minidom.c; sourceTree = "<group>"; };
     324                1412110D0A48788700480255 /* minidom.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = minidom.js; sourceTree = "<group>"; };
     325                141211200A48793C00480255 /* minidom */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = minidom; sourceTree = BUILT_PRODUCTS_DIR; };
     326                142711380A460BBB0080EEEA /* JSBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSBase.h; sourceTree = "<group>"; };
    268327                14760863099C633800437128 /* JSImmediate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSImmediate.cpp; sourceTree = "<group>"; };
     328                1482B6EA0A4300B300517CFC /* JSValueRef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSValueRef.h; sourceTree = "<group>"; };
     329                1482B74B0A43032800517CFC /* JSCharBufferRef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCharBufferRef.h; sourceTree = "<group>"; };
     330                1482B74C0A43032800517CFC /* JSCharBufferRef.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCharBufferRef.cpp; sourceTree = "<group>"; };
     331                1482B78A0A4305AB00517CFC /* APICast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APICast.h; sourceTree = "<group>"; };
     332                1482B7E10A43076000517CFC /* JSObjectRef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSObjectRef.h; sourceTree = "<group>"; };
     333                1482B7E20A43076000517CFC /* JSObjectRef.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSObjectRef.cpp; sourceTree = "<group>"; };
    269334                1483B589099BC1950016E4F0 /* JSImmediate.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSImmediate.h; sourceTree = "<group>"; };
    270335                148A1626095D16BB00666D0D /* ListRefPtr.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ListRefPtr.h; sourceTree = "<group>"; };
    271336                14ABB36E099C076400E2A24F /* value.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = value.h; sourceTree = "<group>"; };
    272337                14ABB454099C2A0F00E2A24F /* JSType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSType.h; sourceTree = "<group>"; };
     338                14ABDF5D0A437FEF00ECCA01 /* JSCallbackObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCallbackObject.h; sourceTree = "<group>"; };
     339                14ABDF5E0A437FEF00ECCA01 /* JSCallbackObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCallbackObject.cpp; sourceTree = "<group>"; };
    273340                14BD534A0A3E0AEA00BAF59C /* SavedBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SavedBuiltins.h; sourceTree = "<group>"; };
    274341                14BD53F30A3E12D800BAF59C /* ExecState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExecState.h; sourceTree = "<group>"; };
    275342                14BD53F40A3E12D800BAF59C /* ExecState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExecState.cpp; sourceTree = "<group>"; };
     343                14BD59BF0A3E8F9000BAF59C /* testapi */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = testapi; sourceTree = BUILT_PRODUCTS_DIR; };
     344                14BD5A290A3E91F600BAF59C /* JSContextRef.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSContextRef.cpp; sourceTree = "<group>"; };
     345                14BD5A2A0A3E91F600BAF59C /* JSContextRef.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSContextRef.h; sourceTree = "<group>"; };
     346                14BD5A2B0A3E91F600BAF59C /* JSValueRef.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSValueRef.cpp; sourceTree = "<group>"; };
     347                14BD5A2D0A3E91F600BAF59C /* testapi.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = testapi.c; sourceTree = "<group>"; };
     348                14BD5A2F0A3E91F600BAF59C /* JavaScriptCore.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JavaScriptCore.h; sourceTree = "<group>"; };
     349                14D857740A4696C80032146C /* testapi.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = testapi.js; sourceTree = "<group>"; };
    276350                14F137580A3A727E00F26F90 /* Context.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Context.cpp; sourceTree = "<group>"; };
    277351                14F137820A3A765B00F26F90 /* context.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = context.h; sourceTree = "<group>"; };
     
    476550
    477551/* Begin PBXFrameworksBuildPhase section */
     552                1412111E0A48793C00480255 /* Frameworks */ = {
     553                        isa = PBXFrameworksBuildPhase;
     554                        buildActionMask = 2147483647;
     555                        files = (
     556                                141211310A48794D00480255 /* JavaScriptCore.framework in Frameworks */,
     557                        );
     558                        runOnlyForDeploymentPostprocessing = 0;
     559                };
     560                14BD59BD0A3E8F9000BAF59C /* Frameworks */ = {
     561                        isa = PBXFrameworksBuildPhase;
     562                        buildActionMask = 2147483647;
     563                        files = (
     564                                14BD59C50A3E8F9F00BAF59C /* JavaScriptCore.framework in Frameworks */,
     565                        );
     566                        runOnlyForDeploymentPostprocessing = 0;
     567                };
    478568                932F5BD20822A1C700736975 /* Frameworks */ = {
    479569                        isa = PBXFrameworksBuildPhase;
     
    511601                                932F5BD90822A1C700736975 /* JavaScriptCore.framework */,
    512602                                932F5BE10822A1C700736975 /* testkjs */,
     603                                14BD59BF0A3E8F9000BAF59C /* testapi */,
     604                                141211200A48793C00480255 /* minidom */,
    513605                        );
    514606                        name = Products;
     
    519611                        children = (
    520612                                937B63CC09E766D200A671DD /* DerivedSources.make */,
     613                                1432EBD70A34CAD400717B9F /* API */,
    521614                                65417200039E01BA0058BFEB /* kjs */,
    522615                                65162EF108E6A21C007556CD /* wtf */,
     
    542635                        );
    543636                        name = Frameworks;
     637                        sourceTree = "<group>";
     638                };
     639                141211000A48772600480255 /* tests */ = {
     640                        isa = PBXGroup;
     641                        children = (
     642                                14BD5A2D0A3E91F600BAF59C /* testapi.c */,
     643                                14D857740A4696C80032146C /* testapi.js */,
     644                                141211020A48780900480255 /* minidom.c */,
     645                                1412110D0A48788700480255 /* minidom.js */,
     646                        );
     647                        name = tests;
     648                        sourceTree = "<group>";
     649                };
     650                1432EBD70A34CAD400717B9F /* API */ = {
     651                        isa = PBXGroup;
     652                        children = (
     653                                1482B78A0A4305AB00517CFC /* APICast.h */,
     654                                14BD5A2F0A3E91F600BAF59C /* JavaScriptCore.h */,
     655                                142711380A460BBB0080EEEA /* JSBase.h */,
     656                                14ABDF5E0A437FEF00ECCA01 /* JSCallbackObject.cpp */,
     657                                14ABDF5D0A437FEF00ECCA01 /* JSCallbackObject.h */,
     658                                1482B74C0A43032800517CFC /* JSCharBufferRef.cpp */,
     659                                1482B74B0A43032800517CFC /* JSCharBufferRef.h */,
     660                                14BD5A290A3E91F600BAF59C /* JSContextRef.cpp */,
     661                                14BD5A2A0A3E91F600BAF59C /* JSContextRef.h */,
     662                                1482B7E20A43076000517CFC /* JSObjectRef.cpp */,
     663                                1482B7E10A43076000517CFC /* JSObjectRef.h */,
     664                                14BD5A2B0A3E91F600BAF59C /* JSValueRef.cpp */,
     665                                1482B6EA0A4300B300517CFC /* JSValueRef.h */,
     666                                141211000A48772600480255 /* tests */,
     667                        );
     668                        path = API;
    544669                        sourceTree = "<group>";
    545670                };
     
    9291054                                BCF655590A2049710038A194 /* MathExtras.h in Headers */,
    9301055                                14F137830A3A765B00F26F90 /* context.h in Headers */,
     1056                                14BD5A310A3E91F600BAF59C /* JSContextRef.h in Headers */,
     1057                                14BD5A360A3E91F600BAF59C /* JavaScriptCore.h in Headers */,
    9311058                                14BD534C0A3E0AEA00BAF59C /* SavedBuiltins.h in Headers */,
    9321059                                14BD53F50A3E12D800BAF59C /* ExecState.h in Headers */,
     1060                                1482B6EB0A4300B300517CFC /* JSValueRef.h in Headers */,
     1061                                1482B74D0A43032800517CFC /* JSCharBufferRef.h in Headers */,
     1062                                1482B78B0A4305AB00517CFC /* APICast.h in Headers */,
     1063                                1482B7E30A43076000517CFC /* JSObjectRef.h in Headers */,
     1064                                14ABDF5F0A437FEF00ECCA01 /* JSCallbackObject.h in Headers */,
     1065                                142711390A460BBB0080EEEA /* JSBase.h in Headers */,
    9331066                        );
    9341067                        runOnlyForDeploymentPostprocessing = 0;
     
    9371070
    9381071/* Begin PBXNativeTarget section */
     1072                1412111F0A48793C00480255 /* minidom */ = {
     1073                        isa = PBXNativeTarget;
     1074                        buildConfigurationList = 141211390A48798400480255 /* Build configuration list for PBXNativeTarget "minidom" */;
     1075                        buildPhases = (
     1076                                1412111D0A48793C00480255 /* Sources */,
     1077                                1412111E0A48793C00480255 /* Frameworks */,
     1078                        );
     1079                        buildRules = (
     1080                        );
     1081                        dependencies = (
     1082                                141211360A48796100480255 /* PBXTargetDependency */,
     1083                        );
     1084                        name = minidom;
     1085                        productName = minidom;
     1086                        productReference = 141211200A48793C00480255 /* minidom */;
     1087                        productType = "com.apple.product-type.tool";
     1088                };
     1089                14BD59BE0A3E8F9000BAF59C /* testapi */ = {
     1090                        isa = PBXNativeTarget;
     1091                        buildConfigurationList = 14BD59D60A3E8FC900BAF59C /* Build configuration list for PBXNativeTarget "testapi" */;
     1092                        buildPhases = (
     1093                                14BD59BC0A3E8F9000BAF59C /* Sources */,
     1094                                14D857B50A469C100032146C /* ShellScript */,
     1095                                14BD59BD0A3E8F9000BAF59C /* Frameworks */,
     1096                        );
     1097                        buildRules = (
     1098                        );
     1099                        dependencies = (
     1100                                14270B080A451DA10080EEEA /* PBXTargetDependency */,
     1101                        );
     1102                        name = testapi;
     1103                        productName = testapi;
     1104                        productReference = 14BD59BF0A3E8F9000BAF59C /* testapi */;
     1105                        productType = "com.apple.product-type.tool";
     1106                };
    9391107                932F5B3E0822A1C700736975 /* JavaScriptCore */ = {
    9401108                        isa = PBXNativeTarget;
     
    9681136                        );
    9691137                        dependencies = (
     1138                                14270B0C0A451DA40080EEEA /* PBXTargetDependency */,
    9701139                        );
    9711140                        name = testkjs;
     
    10051174                                935F69F508244FEA003D1A45 /* dftables */,
    10061175                                65FB3F6609D11E9100F49DEB /* Derived Sources */,
     1176                                1412111F0A48793C00480255 /* minidom */,
     1177                                14BD59BE0A3E8F9000BAF59C /* testapi */,
    10071178                                932F5BDA0822A1C700736975 /* testkjs */,
    10081179                                932F5BE30822A1C700736975 /* All */,
     
    10121183
    10131184/* Begin PBXShellScriptBuildPhase section */
     1185                14D857B50A469C100032146C /* ShellScript */ = {
     1186                        isa = PBXShellScriptBuildPhase;
     1187                        buildActionMask = 2147483647;
     1188                        files = (
     1189                        );
     1190                        inputPaths = (
     1191                        );
     1192                        outputPaths = (
     1193                        );
     1194                        runOnlyForDeploymentPostprocessing = 0;
     1195                        shellPath = /bin/sh;
     1196                        shellScript = "cp ${SRCROOT}/API/testapi.js ${BUILT_PRODUCTS_DIR}";
     1197                };
    10141198                65FB3F6509D11E9100F49DEB /* Generate Derived Sources */ = {
    10151199                        isa = PBXShellScriptBuildPhase;
     
    10431227
    10441228/* Begin PBXSourcesBuildPhase section */
     1229                1412111D0A48793C00480255 /* Sources */ = {
     1230                        isa = PBXSourcesBuildPhase;
     1231                        buildActionMask = 2147483647;
     1232                        files = (
     1233                                141211340A48795800480255 /* minidom.c in Sources */,
     1234                        );
     1235                        runOnlyForDeploymentPostprocessing = 0;
     1236                };
     1237                14BD59BC0A3E8F9000BAF59C /* Sources */ = {
     1238                        isa = PBXSourcesBuildPhase;
     1239                        buildActionMask = 2147483647;
     1240                        files = (
     1241                                147FE3B80A3F637E00A1F3F4 /* testapi.c in Sources */,
     1242                        );
     1243                        runOnlyForDeploymentPostprocessing = 0;
     1244                };
    10451245                932F5B910822A1C700736975 /* Sources */ = {
    10461246                        isa = PBXSourcesBuildPhase;
     
    11231323                                65FB3F5009D11B2400F49DEB /* grammar.cpp in Sources */,
    11241324                                14F137590A3A727E00F26F90 /* Context.cpp in Sources */,
     1325                                14BD5A300A3E91F600BAF59C /* JSContextRef.cpp in Sources */,
     1326                                14BD5A320A3E91F600BAF59C /* JSValueRef.cpp in Sources */,
     1327                                14BD5A340A3E91F600BAF59C /* testapi.c in Sources */,
    11251328                                14BD53F60A3E12D800BAF59C /* ExecState.cpp in Sources */,
     1329                                1482B74E0A43032800517CFC /* JSCharBufferRef.cpp in Sources */,
     1330                                1482B7E40A43076000517CFC /* JSObjectRef.cpp in Sources */,
     1331                                14ABDF600A437FEF00ECCA01 /* JSCallbackObject.cpp in Sources */,
    11261332                        );
    11271333                        runOnlyForDeploymentPostprocessing = 0;
     
    11461352
    11471353/* Begin PBXTargetDependency section */
     1354                141211360A48796100480255 /* PBXTargetDependency */ = {
     1355                        isa = PBXTargetDependency;
     1356                        target = 932F5B3E0822A1C700736975 /* JavaScriptCore */;
     1357                        targetProxy = 141211350A48796100480255 /* PBXContainerItemProxy */;
     1358                };
     1359                141214BF0A49190E00480255 /* PBXTargetDependency */ = {
     1360                        isa = PBXTargetDependency;
     1361                        target = 1412111F0A48793C00480255 /* minidom */;
     1362                        targetProxy = 141214BE0A49190E00480255 /* PBXContainerItemProxy */;
     1363                };
     1364                14270B080A451DA10080EEEA /* PBXTargetDependency */ = {
     1365                        isa = PBXTargetDependency;
     1366                        target = 932F5B3E0822A1C700736975 /* JavaScriptCore */;
     1367                        targetProxy = 14270B070A451DA10080EEEA /* PBXContainerItemProxy */;
     1368                };
     1369                14270B0C0A451DA40080EEEA /* PBXTargetDependency */ = {
     1370                        isa = PBXTargetDependency;
     1371                        target = 932F5B3E0822A1C700736975 /* JavaScriptCore */;
     1372                        targetProxy = 14270B0B0A451DA40080EEEA /* PBXContainerItemProxy */;
     1373                };
     1374                14BD59C70A3E8FA400BAF59C /* PBXTargetDependency */ = {
     1375                        isa = PBXTargetDependency;
     1376                        target = 14BD59BE0A3E8F9000BAF59C /* testapi */;
     1377                        targetProxy = 14BD59C60A3E8FA400BAF59C /* PBXContainerItemProxy */;
     1378                };
    11481379                65FB3F7E09D11EF300F49DEB /* PBXTargetDependency */ = {
    11491380                        isa = PBXTargetDependency;
     
    11691400
    11701401/* Begin XCBuildConfiguration section */
     1402                1412113A0A48798400480255 /* Debug */ = {
     1403                        isa = XCBuildConfiguration;
     1404                        buildSettings = {
     1405                                COPY_PHASE_STRIP = NO;
     1406                                GCC_DYNAMIC_NO_PIC = NO;
     1407                                GCC_ENABLE_FIX_AND_CONTINUE = YES;
     1408                                GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
     1409                                GCC_MODEL_TUNING = G5;
     1410                                GCC_OPTIMIZATION_LEVEL = 0;
     1411                                HEADER_SEARCH_PATHS = (
     1412                                        .,
     1413                                        icu,
     1414                                        "$(BUILT_PRODUCTS_DIR)/DerivedSources/JavaScriptCore",
     1415                                );
     1416                                INSTALL_PATH = "$(HOME)/bin";
     1417                                PREBINDING = NO;
     1418                                PRODUCT_NAME = minidom;
     1419                                ZERO_LINK = YES;
     1420                        };
     1421                        name = Debug;
     1422                };
     1423                1412113B0A48798400480255 /* Release */ = {
     1424                        isa = XCBuildConfiguration;
     1425                        buildSettings = {
     1426                                COPY_PHASE_STRIP = YES;
     1427                                GCC_ENABLE_FIX_AND_CONTINUE = NO;
     1428                                GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
     1429                                GCC_MODEL_TUNING = G5;
     1430                                HEADER_SEARCH_PATHS = (
     1431                                        .,
     1432                                        icu,
     1433                                        "$(BUILT_PRODUCTS_DIR)/DerivedSources/JavaScriptCore",
     1434                                );
     1435                                INSTALL_PATH = "$(HOME)/bin";
     1436                                PREBINDING = NO;
     1437                                PRODUCT_NAME = minidom;
     1438                                ZERO_LINK = NO;
     1439                        };
     1440                        name = Release;
     1441                };
     1442                1412113C0A48798400480255 /* Production */ = {
     1443                        isa = XCBuildConfiguration;
     1444                        buildSettings = {
     1445                                GCC_ENABLE_FIX_AND_CONTINUE = YES;
     1446                                GCC_MODEL_TUNING = G5;
     1447                                HEADER_SEARCH_PATHS = (
     1448                                        .,
     1449                                        icu,
     1450                                        "$(BUILT_PRODUCTS_DIR)/DerivedSources/JavaScriptCore",
     1451                                );
     1452                                INSTALL_PATH = "$(HOME)/bin";
     1453                                PREBINDING = NO;
     1454                                PRODUCT_NAME = minidom;
     1455                                ZERO_LINK = YES;
     1456                        };
     1457                        name = Production;
     1458                };
    11711459                149C275908902AFE008A9EFC /* Debug */ = {
    11721460                        isa = XCBuildConfiguration;
     
    11941482                        buildSettings = {
    11951483                                DEBUG_DEFINES = "";
     1484                                DEBUG_INFORMATION_FORMAT = dwarf;
    11961485                                DYLIB_COMPATIBILITY_VERSION = 1;
    11971486                                DYLIB_CURRENT_VERSION = 1;
     
    12321521                        buildSettings = {
    12331522                                DEBUG_DEFINES = NDEBUG;
     1523                                DEBUG_INFORMATION_FORMAT = dwarf;
    12341524                                DYLIB_COMPATIBILITY_VERSION = 1;
    12351525                                DYLIB_CURRENT_VERSION = 1;
     
    12701560                        buildSettings = {
    12711561                                DEBUG_DEFINES = NDEBUG;
     1562                                DEBUG_INFORMATION_FORMAT = dwarf;
    12721563                                DYLIB_COMPATIBILITY_VERSION = 1;
    12731564                                DYLIB_CURRENT_VERSION = 1;
     
    14771768                        name = Production;
    14781769                };
     1770                14BD59D70A3E8FC900BAF59C /* Debug */ = {
     1771                        isa = XCBuildConfiguration;
     1772                        buildSettings = {
     1773                                COPY_PHASE_STRIP = NO;
     1774                                DEBUG_INFORMATION_FORMAT = stabs;
     1775                                GCC_DYNAMIC_NO_PIC = NO;
     1776                                GCC_ENABLE_FIX_AND_CONTINUE = YES;
     1777                                GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
     1778                                GCC_MODEL_TUNING = G5;
     1779                                GCC_OPTIMIZATION_LEVEL = 0;
     1780                                HEADER_SEARCH_PATHS = (
     1781                                        .,
     1782                                        icu,
     1783                                        "$(BUILT_PRODUCTS_DIR)/DerivedSources/JavaScriptCore",
     1784                                );
     1785                                INSTALL_PATH = "$(HOME)/bin";
     1786                                PREBINDING = NO;
     1787                                PRODUCT_NAME = testapi;
     1788                                ZERO_LINK = YES;
     1789                        };
     1790                        name = Debug;
     1791                };
     1792                14BD59D80A3E8FC900BAF59C /* Release */ = {
     1793                        isa = XCBuildConfiguration;
     1794                        buildSettings = {
     1795                                COPY_PHASE_STRIP = YES;
     1796                                DEBUG_INFORMATION_FORMAT = stabs;
     1797                                GCC_ENABLE_FIX_AND_CONTINUE = NO;
     1798                                GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
     1799                                GCC_MODEL_TUNING = G5;
     1800                                HEADER_SEARCH_PATHS = (
     1801                                        .,
     1802                                        icu,
     1803                                        "$(BUILT_PRODUCTS_DIR)/DerivedSources/JavaScriptCore",
     1804                                );
     1805                                INSTALL_PATH = "$(HOME)/bin";
     1806                                PREBINDING = NO;
     1807                                PRODUCT_NAME = testapi;
     1808                                ZERO_LINK = NO;
     1809                        };
     1810                        name = Release;
     1811                };
     1812                14BD59D90A3E8FC900BAF59C /* Production */ = {
     1813                        isa = XCBuildConfiguration;
     1814                        buildSettings = {
     1815                                DEBUG_INFORMATION_FORMAT = stabs;
     1816                                GCC_ENABLE_FIX_AND_CONTINUE = YES;
     1817                                GCC_MODEL_TUNING = G5;
     1818                                HEADER_SEARCH_PATHS = (
     1819                                        .,
     1820                                        icu,
     1821                                        "$(BUILT_PRODUCTS_DIR)/DerivedSources/JavaScriptCore",
     1822                                );
     1823                                INSTALL_PATH = "$(HOME)/bin";
     1824                                PREBINDING = NO;
     1825                                PRODUCT_NAME = testapi;
     1826                                ZERO_LINK = YES;
     1827                        };
     1828                        name = Production;
     1829                };
    14791830                65FB3F7809D11EBD00F49DEB /* Debug */ = {
    14801831                        isa = XCBuildConfiguration;
     
    15011852
    15021853/* Begin XCConfigurationList section */
     1854                141211390A48798400480255 /* Build configuration list for PBXNativeTarget "minidom" */ = {
     1855                        isa = XCConfigurationList;
     1856                        buildConfigurations = (
     1857                                1412113A0A48798400480255 /* Debug */,
     1858                                1412113B0A48798400480255 /* Release */,
     1859                                1412113C0A48798400480255 /* Production */,
     1860                        );
     1861                        defaultConfigurationIsVisible = 0;
     1862                        defaultConfigurationName = Production;
     1863                };
    15031864                149C275808902AFE008A9EFC /* Build configuration list for PBXNativeTarget "dftables" */ = {
    15041865                        isa = XCConfigurationList;
     
    15511912                        defaultConfigurationName = Production;
    15521913                };
     1914                14BD59D60A3E8FC900BAF59C /* Build configuration list for PBXNativeTarget "testapi" */ = {
     1915                        isa = XCConfigurationList;
     1916                        buildConfigurations = (
     1917                                14BD59D70A3E8FC900BAF59C /* Debug */,
     1918                                14BD59D80A3E8FC900BAF59C /* Release */,
     1919                                14BD59D90A3E8FC900BAF59C /* Production */,
     1920                        );
     1921                        defaultConfigurationIsVisible = 0;
     1922                        defaultConfigurationName = Production;
     1923                };
    15531924                65FB3F7709D11EBD00F49DEB /* Build configuration list for PBXAggregateTarget "Derived Sources" */ = {
    15541925                        isa = XCConfigurationList;
Note: See TracChangeset for help on using the changeset viewer.