Thread overview
[Issue 3728] New: getOverloads and identifier traits
Jan 20, 2010
Max Samukha
Jan 20, 2010
Max Samukha
Jan 20, 2010
Max Samukha
Jan 20, 2010
Eldar Insafutdinov
Jan 20, 2010
Max Samukha
Jan 22, 2010
Walter Bright
Jan 22, 2010
Eldar Insafutdinov
Jan 23, 2010
Walter Bright
Jan 31, 2010
Walter Bright
January 20, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3728

           Summary: getOverloads and identifier traits
           Product: D
           Version: unspecified
          Platform: Other
        OS/Version: Windows
            Status: NEW
          Severity: critical
          Priority: P2
         Component: DMD
        AssignedTo: nobody@puremagic.com
        ReportedBy: samukha@voliacable.com


--- Comment #0 from Max Samukha <samukha@voliacable.com> 2010-01-20 09:06:49 PST ---
For QtD, we need to get overloads of any function at compile time, not only virtuals. Currently we are using a seemingly working dmd modified with the patch attached. The patch also adds an 'identifier' trait, which allows to get symbol identifiers without parsing the value of stringof.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
January 20, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3728



--- Comment #1 from Max Samukha <samukha@voliacable.com> 2010-01-20 09:09:47 PST ---
Created an attachment (id=553)
getOverloads, identifier traits

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
January 20, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3728


Max Samukha <samukha@voliacable.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|critical                    |enhancement


-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
January 20, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3728


Andrei Alexandrescu <andrei@metalanguage.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andrei@metalanguage.com
           Severity|enhancement                 |critical


--- Comment #2 from Andrei Alexandrescu <andrei@metalanguage.com> 2010-01-20 09:39:09 PST ---
Given the size and visibility of Qt, I think it's fair to leave this as critical. I also voted for it :o).

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
January 20, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3728


Eldar Insafutdinov <e.insafutdinov@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |e.insafutdinov@gmail.com


--- Comment #3 from Eldar Insafutdinov <e.insafutdinov@gmail.com> 2010-01-20 10:08:35 PST ---
(In reply to comment #2)
> Given the size and visibility of Qt, I think it's fair to leave this as critical. I also voted for it :o).

Yeah, it actually is a blocker as you cannot use unpatched dmd for qtd. Thanks for voting. In fact this functionality was requested in the bug report 2855. The reason why we replace getVirtualFunctions with getOverloads rather than add the new one is because the functionality that the former provides could easily be achieved by filtering out the ouput of the latter with isVirtualFunction trait. That way we don't bloat __traits.

The mentioned patch also provides isStaticFunction trait which we will eventually need.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
January 20, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3728



--- Comment #4 from Max Samukha <samukha@voliacable.com> 2010-01-20 11:07:36 PST ---
When implementing isStaticFunction, please make sure it returns true for any function that doesn't require a context pointer (even if there is no explicit STCstatic).

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
January 22, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3728


Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla@digitalmars.com


--- Comment #5 from Walter Bright <bugzilla@digitalmars.com> 2010-01-22 02:37:22 PST ---
Changeset 346

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
January 22, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3728



--- Comment #6 from Eldar Insafutdinov <e.insafutdinov@gmail.com> 2010-01-22 03:46:00 PST ---
(In reply to comment #5)
> Changeset 346

Thanks for applying the patch. Although there is a minor issue when building dmd on linux with gcc:

traits.c:57: error: could not convert ‘f->FuncDeclaration::isVirtual’ to ‘bool’ traits.c:57: error: in argument to unary !

The fix is trivial, to add brackets to method call: f->isVirtual(). I didn't know that dmc can compile function calls without brackets.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
January 23, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3728



--- Comment #7 from Walter Bright <bugzilla@digitalmars.com> 2010-01-22 20:25:36 PST ---
Added the (), changeset 347

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
January 31, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3728


Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


--- Comment #8 from Walter Bright <bugzilla@digitalmars.com> 2010-01-30 22:47:42 PST ---
fixed dmd 2.040

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------