Changeset 218316 in webkit for trunk/Source/JavaScriptCore/API/JSWrapperMap.mm
- Timestamp:
- Jun 14, 2017, 10:57:27 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/API/JSWrapperMap.mm
r217240 r218316 1 1 /* 2 * Copyright (C) 2013-2015 Apple Inc. All rights reserved.2 * Copyright (C) 2013-2015, 2017 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 413 413 Protocol *exportProtocol = getJSExportProtocol(); 414 414 for (Class currentClass = cls; currentClass; currentClass = class_getSuperclass(currentClass)) { 415 forEachProtocolImplementingProtocol(currentClass, exportProtocol, ^(Protocol *protocol ) {415 forEachProtocolImplementingProtocol(currentClass, exportProtocol, ^(Protocol *protocol, bool&) { 416 416 forEachMethodInProtocol(protocol, YES, YES, ^(SEL selector, const char*) { 417 417 const char* name = sel_getName(selector); … … 491 491 492 492 Protocol *exportProtocol = getJSExportProtocol(); 493 forEachProtocolImplementingProtocol(m_class, exportProtocol, ^(Protocol *protocol ){493 forEachProtocolImplementingProtocol(m_class, exportProtocol, ^(Protocol *protocol, bool&){ 494 494 copyPrototypeProperties(context, m_class, protocol, prototype); 495 495 copyMethodsToObject(context, m_class, protocol, NO, constructor); … … 588 588 589 589 // Skip internal classes beginning with '_' - just copy link to the parent class's info. 590 if ('_' == *class_getName(cls)) 591 return m_classMap[cls] = [self classInfoForClass:class_getSuperclass(cls)]; 590 if ('_' == *class_getName(cls)) { 591 bool conformsToExportProtocol = false; 592 forEachProtocolImplementingProtocol(cls, getJSExportProtocol(), [&conformsToExportProtocol](Protocol *, bool& stop) { 593 conformsToExportProtocol = true; 594 stop = true; 595 }); 596 597 if (!conformsToExportProtocol) 598 return m_classMap[cls] = [self classInfoForClass:class_getSuperclass(cls)]; 599 } 592 600 593 601 return m_classMap[cls] = [[[JSObjCClassInfo alloc] initForClass:cls] autorelease];
Note:
See TracChangeset
for help on using the changeset viewer.