www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 3728] New: getOverloads and identifier traits

reply d-bugmail puremagic.com writes:
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: -------
Jan 20 2010
next sibling parent d-bugmail puremagic.com writes:
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: -------
Jan 20 2010
prev sibling next sibling parent d-bugmail puremagic.com writes:
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: -------
Jan 20 2010
prev sibling next sibling parent d-bugmail puremagic.com writes:
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: -------
Jan 20 2010
prev sibling next sibling parent d-bugmail puremagic.com writes:
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: -------
Jan 20 2010
prev sibling next sibling parent d-bugmail puremagic.com writes:
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: -------
Jan 20 2010
prev sibling next sibling parent d-bugmail puremagic.com writes:
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: -------
Jan 22 2010
prev sibling next sibling parent d-bugmail puremagic.com writes:
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: -------
Jan 22 2010
prev sibling next sibling parent d-bugmail puremagic.com writes:
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: -------
Jan 22 2010
prev sibling parent d-bugmail puremagic.com writes:
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: -------
Jan 30 2010