<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi Martin,<br>
    <br>
    <div class="moz-cite-prefix">On 2017/3/22 5:50, Martin Buchholz
      wrote:<br>
    </div>
    <blockquote
cite="mid:CA+kOe09thdgGJ1nbR9yKkRo0QE9+Z-6OuPxM-WNGmkJ5agAq4g@mail.gmail.com"
      type="cite">
      <div dir="ltr">My ancient script findMissingSince examined the
        generated javadoc for various jdk revisions and parsed the
        resulting html via regexes (despite <a moz-do-not-send="true"
href="https://urldefense.proofpoint.com/v2/url?u=http-3A__stackoverflow.com_questions_1732348_regex-2Dmatch-2Dopen-2Dtags-2Dexcept-2Dxhtml-2Dself-2Dcontained-2Dtags&d=DwMFaQ&c=RoP1YumCXCgaWHvlZYR8PQcxBKCX5YTpkKY057SbK10&r=AXDiAb80BUl4-hDaluwjLd5U4_mt4rwel55emXlCIpY&m=yQpThaVepEZ91CHqPDIwBaybI5LZPMyLd4rkqkB1HjM&s=LYN0GFQMCl0eFscx1eHrv_xCHJLvj_zR92hVy_2uJFE&e=">http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags</a>).</div>
    </blockquote>
    Thank you for the information.<br>
    I find some information about findMissingSince at
    <a class="moz-txt-link-freetext" href="https://bugs.openjdk.java.net/browse/JDK-6367207">https://bugs.openjdk.java.net/browse/JDK-6367207</a>, but can not find
    the valid code.<br>
    <blockquote
cite="mid:CA+kOe09thdgGJ1nbR9yKkRo0QE9+Z-6OuPxM-WNGmkJ5agAq4g@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div><br>
        </div>
        <div>Whether using hacky regexes or "proper" tools aware of the
          java language, there is a need to compare method signatures. 
          Erasure-equivalent methods are the "same" method.</div>
      </div>
    </blockquote>
    Agree, it's the issue I'm trying to resolve.<br>
    <blockquote
cite="mid:CA+kOe09thdgGJ1nbR9yKkRo0QE9+Z-6OuPxM-WNGmkJ5agAq4g@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div><br>
        </div>
        <div>(As always, it would be nice if the resulting code were
          available to anyone.)</div>
      </div>
    </blockquote>
    Agree, I will try to open it when it's good time.<br>
    For now, it's not mature enough, there are some issues to solve,
    enhancements to do, and the design/implementation is specific for
    jdk.<br>
    When the functionality is ready, I will discuss with stakeholders
    and management about it.<br>
    <br>
    Thank you<br>
    -Hamlin<br>
    <blockquote
cite="mid:CA+kOe09thdgGJ1nbR9yKkRo0QE9+Z-6OuPxM-WNGmkJ5agAq4g@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div><br>
        </div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Sun, Mar 19, 2017 at 7:13 PM, Hamlin
          Li <span dir="ltr"><<a moz-do-not-send="true"
              href="mailto:huaming.li@oracle.com" target="_blank">huaming.li@oracle.com</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor="#FFFFFF" text="#000000">
              <p>Hi Vicente,</p>
              Thank you for responding, please check the comments
              inline.<span class=""><br>
                <br>
                <div class="m_229967316281923029moz-cite-prefix">On
                  2017/3/17 21:08, Vicente Romero wrote:<br>
                </div>
                <blockquote type="cite"> Hi Hamlin,<br>
                  <br>
                  How do you obtain m2? I mean at some point it should
                  have been obtained from an executable element or
                  similar. </blockquote>
              </span> I have a java doclet which scans jdk versions
              iteratively, m2 was got in previous round of run of the
              tool , then it's stored in a file (for example when scan
              jdk 1.8 source code), then parsed and retrieved from the
              file again (for example when scan jdk 9 source code).<span
                class=""><br>
                <blockquote type="cite">In the worst case you can always
                  generate a simple test case and try to compile it for
                  example:<br>
                  <br>
                  class Test {<br>
                      void getContent(java.lang.Class<?>[<wbr>] c)
                  {}<br>
                      void getContent(java.lang.Class[] c) {}<br>
                  }<br>
                  <br>
                  this one will fail saying that both methods have the
                  same erasure,<br>
                </blockquote>
              </span> Yes, it should fail.<br>
              In my situation, "getContent(java.lang.Class[] c) {}" is
              the code in jdk 1.8, "getContent(java.lang.Class<?><wbr>[]
              c) {}" is the corresponding code in jdk 9. When I scan jdk
              9 source code, I need to tell that
              getContent(java.lang.Class<?>[<wbr>] c) and
              getContent(java.lang.Class[] c) are in fact the same
              method, rather than 2 different methods.<br>
              <br>
              Thank you<span class="HOEnZb"><font color="#888888"><br>
                  -Hamlin</font></span><span class=""><br>
                <blockquote type="cite"> <br>
                  HTH,<br>
                  Vicente<br>
                  <br>
                  <div class="m_229967316281923029moz-cite-prefix">On
                    03/16/2017 11:15 PM, Hamlin Li wrote:<br>
                  </div>
                  <blockquote type="cite">
                    <p>Hi,</p>
                    <p>( I'm not sure if this is the right alias to ask
                      the question, please help forward if necessary. )<br>
                    </p>
                    <p>I have a question about telling whether one
                      method is subsignature of another one. My
                      situation is, <br>
                    </p>
                    <p>1. there is a TypeElement <b>t1 </b>which
                      represents java.net.URL, and a ExecutableElement <b>m1</b>
                      which represents getContent(java.lang.Class<font
                        color="#ff0000"><b><?></b></font>[<wbr>]),
                      <br>
                    </p>
                    <p>2. there is a String <b>t2</b> which is
                      "java.net.URL", and another String <b>m2 </b>which
                      is "getContent(java.lang.Class[])<wbr>".</p>
                    <p>The difference between m1 and m2 is that, m1 is
                      an instance of ExecutableElement, m2 is an
                      instance of String; there is a wildcard type
                      argument in m1.<br>
                    </p>
                    <p><br>
                    </p>
                    <p>Is there a way to tell whether m1 and m2 are
                      override-equivalent, m2 is subsignature of m1?</p>
                    <p>I suppose I should use
                      javax.lang.model.util.Types.<wbr>isSubsignature(ExecutableType
                      m1, ExecutableType m2), but I don't know how can I
                      convert ExecutableElement <b>m1</b> and String <b>m2</b>
                      to<b> </b>ExecutableType.</p>
                    <p>Or I'm in wrong direction?<br>
                    </p>
                    <p><br>
                    </p>
                    <p>Thank you</p>
                    <p>-Hamlin<br>
                    </p>
                  </blockquote>
                  <br>
                </blockquote>
                <br>
              </span></div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </body>
</html>