<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>41970</bug_id>
          
          <creation_ts>2010-07-09 11:19:29 -0700</creation_ts>
          <short_desc>Make check-header-includes aware of the class hierarchy</short_desc>
          <delta_ts>2010-07-13 01:30:08 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dumitru Daniliuc">dumi</reporter>
          <assigned_to name="Dumitru Daniliuc">dumi</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>249126</commentid>
    <comment_count>0</comment_count>
    <who name="Dumitru Daniliuc">dumi</who>
    <bug_when>2010-07-09 11:19:29 -0700</bug_when>
    <thetext>Currently, when check-header-includes finds an unnecessary #include, it doesn&apos;t know if the class needs to be forward-declared or not. We should change it to parse the entire class hierarchy first and use that information to decide if a forward-declaration is necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250380</commentid>
    <comment_count>1</comment_count>
    <who name="Dumitru Daniliuc">dumi</who>
    <bug_when>2010-07-13 01:13:47 -0700</bug_when>
    <thetext>Talked to eseidel about this, and it looks like scripts like this are not very useful, and instead we should be looking at the headers that include a large number of other headers, or the most included headers, and try to optimize those one at a time.

So I&apos;m closing this bug and removing check-header-includes from the repository, since even the upgraded version I have is only a marginal improvement over find-extra-includes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250382</commentid>
    <comment_count>2</comment_count>
      <attachid>61344</attachid>
    <who name="Dumitru Daniliuc">dumi</who>
    <bug_when>2010-07-13 01:22:38 -0700</bug_when>
    <thetext>Created attachment 61344
remove check-header-includes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250384</commentid>
    <comment_count>3</comment_count>
      <attachid>61344</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-07-13 01:23:52 -0700</bug_when>
    <thetext>Comment on attachment 61344
remove check-header-includes

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250387</commentid>
    <comment_count>4</comment_count>
    <who name="Dumitru Daniliuc">dumi</who>
    <bug_when>2010-07-13 01:30:08 -0700</bug_when>
    <thetext>patch landed: r63184.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61344</attachid>
            <date>2010-07-13 01:22:38 -0700</date>
            <delta_ts>2010-07-13 01:23:52 -0700</delta_ts>
            <desc>remove check-header-includes</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>4933</size>
            <attacher name="Dumitru Daniliuc">dumi</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDYzMTgyKQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTAtMDctMTMgIER1bWl0cnUgRGFuaWxpdWMg
IDxkdW1pQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBSZW1vdmUgY2hlY2staGVhZGVyLWluY2x1ZGVzLCBhcyBpdCBkaWRuJ3Qg
dHVybiBvdXQgdG8gYmUgdmVyeSB1c2VmdWwuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00MTk3MAorCisgICAgICAgICogU2NyaXB0cy9jaGVjay1oZWFk
ZXItaW5jbHVkZXM6IFJlbW92ZWQuCisKIDIwMTAtMDctMTIgIFN0ZXZlIEZhbGtlbmJ1cmcgIDxz
ZmFsa2VuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYWNpZWogU3RhY2hvd2lh
ay4KSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvY2hlY2staGVhZGVyLWluY2x1ZGVzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdFRvb2xzL1NjcmlwdHMvY2hlY2staGVhZGVyLWluY2x1ZGVzCShyZXZp
c2lvbiA2MzE4MSkKKysrIFdlYktpdFRvb2xzL1NjcmlwdHMvY2hlY2staGVhZGVyLWluY2x1ZGVz
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDEwMyArMCwwIEBACi0jIS91c3IvYmluL3B5dGhvbgotIyBD
b3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMg
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0jIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSMgbWV0OgotIwotIyAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0jICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKLSMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0jIGRpc3RyaWJ1dGlvbi4KLSMg
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cwotIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQotIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgotIwotIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0jICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0jIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgotIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAotIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSMgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotIyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKLSMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0jIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSMgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0j
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0jCi0jIFRoaXMgc2NyaXB0IGxvb2tzIGZvciB1bm5lY2Vzc2FyeSAjaW5j
bHVkZXMgaW4gdGhlIGdpdmVuIGhlYWRlciBmaWxlLAotIyBvciBpbiBhbGwgaGVhZGVyIGZpbGVz
IHRoYXQgY2FuIGJlIHJlY3Vyc2l2ZWx5IGZvdW5kIGluIHRoZSBnaXZlbiBkaXJlY3RvcnkuCi0K
LWltcG9ydCBvcwotaW1wb3J0IHJlCi1pbXBvcnQgc3lzCi0KLWhlYWRlckZpbGUgPSByZS5jb21w
aWxlKHInXC5oJCcpCi1pbmNsdWRlTGluZSA9IHJlLmNvbXBpbGUocideI2luY2x1ZGUgKCJ8PHd0
Zi8pKFtBLVpdXHcrKS5oWz4iXScpCi1zbWFydFBvaW50ZXJTdHJpbmcgPSAiKExpc3RSZWZQdHJ8
T3duQXJyYXlQdHJ8T3duUHRyfFBhc3NPd25QdHJ8UGFzc1JlZlB0cnxSZWZQdHIpPGNsYXNzTmFt
ZT4iCi1hbGxvd2VkSW5jbHVkZXMgPSBzZXQoWyJGb3J3YXJkIiwgIlBsYXRmb3JtU3RyaW5nIiwg
IlN0cmluZ0hhc2giLCAiVGhyZWFkaW5nIl0pCi0KLSMgQ2hlY2sgaWYgJ2xpbmUnIG5lZWRzIGFu
eSBjbGFzcyBpbiAndW5uZWNlc3NhcnlJbmNsdWRlcycgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIGhl
YWRlciBmaWxlLgotZGVmIGNoZWNrTGluZShsaW5lLCB1bm5lY2Vzc2FyeUluY2x1ZGVzKToKLSAg
ICB1bm5lY2Vzc2FyeUluY2x1ZGVzQ29weSA9IHVubmVjZXNzYXJ5SW5jbHVkZXMuY29weSgpCi0g
ICAgZm9yIGluY2x1ZGVkQ2xhc3MgaW4gdW5uZWNlc3NhcnlJbmNsdWRlc0NvcHk6Ci0gICAgICAg
IGlmIHJlLnNlYXJjaChpbmNsdWRlZENsYXNzLCBsaW5lKToKLSAgICAgICAgICAgIGlmIHJlLnNl
YXJjaChpbmNsdWRlZENsYXNzICsgIlwqIiwgbGluZSk6Ci0gICAgICAgICAgICAgICAgY29udGlu
dWUKLQotICAgICAgICAgICAgc21hcnRQb2ludGVyQ2xhc3NTdHJpbmcgPSBzbWFydFBvaW50ZXJT
dHJpbmcucmVwbGFjZSgiY2xhc3NOYW1lIiwgaW5jbHVkZWRDbGFzcykKLSAgICAgICAgICAgIGlm
IHJlLnNlYXJjaChzbWFydFBvaW50ZXJDbGFzc1N0cmluZywgbGluZSk6Ci0gICAgICAgICAgICAg
ICAgY29udGludWUKLQotICAgICAgICAgICAgdW5uZWNlc3NhcnlJbmNsdWRlcy5yZW1vdmUoaW5j
bHVkZWRDbGFzcykKLQotCi0jIExvb2sgZm9yIHVubmVjZXNzYXJ5IGluY2x1ZGVzIGluIHRoZSBn
aXZlbiBmaWxlCi1kZWYgY2hlY2tGaWxlKGZpbGVOYW1lKToKLSAgICBpZiBoZWFkZXJGaWxlLnNl
YXJjaChmaWxlTmFtZSk6Ci0gICAgICAgIGYgPSBvcGVuKGZpbGVOYW1lLCAiciIpCi0gICAgICAg
IHVubmVjZXNzYXJ5SW5jbHVkZXMgPSBzZXQoKQotICAgICAgICBmb3IgbGluZSBpbiBmOgotICAg
ICAgICAgICAgbWF0Y2ggPSBpbmNsdWRlTGluZS5tYXRjaChsaW5lKQotICAgICAgICAgICAgaWYg
bWF0Y2g6Ci0gICAgICAgICAgICAgICAgY2xhc3NOYW1lID0gbWF0Y2guZ3JvdXAoMikKLSAgICAg
ICAgICAgICAgICBpZiBjbGFzc05hbWUgPT0gIlBsYXRmb3JtU3RyaW5nIjoKLSAgICAgICAgICAg
ICAgICAgICAgdW5uZWNlc3NhcnlJbmNsdWRlcy5hZGQoIlN0cmluZyIpCi0gICAgICAgICAgICAg
ICAgZWxpZiBjbGFzc05hbWUgbm90IGluIGFsbG93ZWRJbmNsdWRlczoKLSAgICAgICAgICAgICAg
ICAgICAgdW5uZWNlc3NhcnlJbmNsdWRlcy5hZGQoY2xhc3NOYW1lKQotICAgICAgICAgICAgZWxz
ZToKLSAgICAgICAgICAgICAgICBjaGVja0xpbmUobGluZSwgdW5uZWNlc3NhcnlJbmNsdWRlcykK
LQotICAgICAgICBpZiBsZW4odW5uZWNlc3NhcnlJbmNsdWRlcykgPiAwOgotICAgICAgICAgICAg
cHJpbnQgZmlsZU5hbWUKLSAgICAgICAgICAgIGZvciBpbmNsdWRlZENsYXNzIGluIHVubmVjZXNz
YXJ5SW5jbHVkZXM6Ci0gICAgICAgICAgICAgICAgcHJpbnQgaW5jbHVkZWRDbGFzcwotICAgICAg
ICAgICAgcHJpbnQKLQotCi0jIElmICdwYXRoJyBpcyBhIGZpbGUsIGNoZWNrIGlmIGl0IGhhcyB1
bm5lY2Vzc2FyeSBpbmNsdWRlcy4KLSMgSWYgJ3BhdGgnIGlzIGEgZGlyZWN0b3J5LCB0cmF2ZXJz
ZSBpdCByZWN1cnNpdmVseSBhbmQgbG9vawotIyBmb3IgdW5uZWNlc3NhcnkgaW5jbHVkZXMgaW4g
YWxsIGhlYWRlciBmaWxlcy4KLWRlZiBjaGVja1BhdGgocGF0aCk6Ci0gICAgaWYgb3MucGF0aC5p
c2ZpbGUocGF0aCk6Ci0gICAgICAgIGNoZWNrRmlsZShwYXRoKQotICAgIGVsaWYgb3MucGF0aC5p
c2RpcihwYXRoKToKLSAgICAgICAgZGlyTGlzdCA9IG9zLmxpc3RkaXIocGF0aCkKLSAgICAgICAg
Zm9yIGRpck5hbWUgaW4gZGlyTGlzdDoKLSAgICAgICAgICAgIGNoZWNrUGF0aChwYXRoICsgIi8i
ICsgZGlyTmFtZSkKLSAgICBlbHNlOgotICAgICAgICBwcmludCBwYXRoLCAiaXMgbm90IGEgZmls
ZSBvciBkaXJlY3RvcnkuIgotCi0KLWRlZiBtYWluKCk6Ci0gICAgaWYgbGVuKHN5cy5hcmd2KSA8
PSAxOgotICAgICAgICBwcmludCAiVXNhZ2U6Iiwgc3lzLmFyZ3ZbMF0sICI8cGF0aD4iCi0gICAg
ICAgIHJldHVybiAtMQotCi0gICAgY2hlY2tQYXRoKHN5cy5hcmd2WzFdKQotCi0KLWlmIF9fbmFt
ZV9fID09ICJfX21haW5fXyI6Ci0gICAgbWFpbigpCg==
</data>
<flag name="review"
          id="49355"
          type_id="1"
          status="+"
          setter="eric"
    />
    <flag name="commit-queue"
          id="49356"
          type_id="3"
          status="-"
          setter="dumi"
    />
          </attachment>
      

    </bug>

</bugzilla>