After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 471512 - Support static methods in generic types
Support static methods in generic types
Status: RESOLVED FIXED
Product: vala
Classification: Core
Component: Objects
0.1.x
Other All
: Normal enhancement
: ---
Assigned To: Jürg Billeter
Vala maintainers
Depends on: 492483
Blocks:
 
 
Reported: 2007-08-29 18:49 UTC by Ed Schouten
Modified: 2009-06-03 07:28 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Test case for the bug that must print "B471512 resolved" :) (340 bytes, application/octet-stream)
2007-09-12 13:57 UTC, Clément DAVID (IRC: davidcl)
Details

Description Ed Schouten 2007-08-29 18:49:44 UTC
Please describe the problem:
I receive the following trace:

  • #4 vala_type_reference_get_data_type
    at valatypereference.c line 579
  • #5 vala_semantic_analyzer_get_actual_type
    at valasemanticanalyzer.c line 3138
  • #6 vala_semantic_analyzer_real_visit_end_invocation_expression
    at valasemanticanalyzer.c line 3087
  • #7 vala_code_visitor_visit_end_invocation_expression
    at valacodevisitor.c line 1261
  • #8 vala_invocation_expression_real_accept
    at valainvocationexpression.c line 144
  • #9 vala_code_node_accept
    at valacodenode.c line 69
  • #10 vala_expression_statement_real_accept
    at valaexpressionstatement.c line 80
  • #11 vala_code_node_accept
    at valacodenode.c line 69
  • #12 vala_block_real_accept
    at valablock.c line 128
  • #13 vala_code_node_accept
    at valacodenode.c line 69
  • #14 vala_method_real_accept_children
    at valamethod.c line 208
  • #15 vala_code_node_accept_children
    at valacodenode.c line 87
  • #16 vala_semantic_analyzer_real_visit_method
    at valasemanticanalyzer.c line 824
  • #17 vala_code_visitor_visit_method
    at valacodevisitor.c line 397
  • #18 vala_method_real_accept
    at valamethod.c line 165
  • #19 vala_code_node_accept
    at valacodenode.c line 69
  • #20 vala_class_real_accept_children
    at valaclass.c line 464
  • #21 vala_code_node_accept_children
    at valacodenode.c line 87
  • #22 vala_semantic_analyzer_real_visit_class
    at valasemanticanalyzer.c line 344
  • #23 vala_code_visitor_visit_class
    at valacodevisitor.c line 235
  • #24 vala_class_real_accept
    at valaclass.c line 386
  • #25 vala_code_node_accept
    at valacodenode.c line 69
  • #26 vala_source_file_accept_children
    at valasourcefile.c line 182
  • #27 vala_semantic_analyzer_real_visit_source_file
    at valasemanticanalyzer.c line 303
  • #28 vala_code_visitor_visit_source_file
    at valacodevisitor.c line 199
  • #29 vala_source_file_accept
    at valasourcefile.c line 150
  • #30 vala_code_context_accept
    at valacodecontext.c line 189
  • #31 vala_semantic_analyzer_analyze
    at valasemanticanalyzer.c line 284
  • #32 vala_compiler_run
    at valacompiler.c line 385
  • #33 vala_compiler_main
    at valacompiler.c line 478
  • #34 main
    at valacompiler.c line 486

when I try to compile the following code:

class Baz<G> {
        public static G bar(G i) {
                return i;
        }
}

class Bar {
        public static void main(string[] args) {
                var a = new Bar();
                Baz<Bar>.bar(a);
        }
}

I don't know if the code is wrong - this is the first time I've used generics in my entire life. :-)

Steps to reproduce:


Actual results:


Expected results:


Does this happen every time?


Other information:
Comment 1 Jürg Billeter 2007-08-29 20:59:32 UTC
The code seems to be valid, the compiler doesn't support invoking static methods of generic types yet.
Comment 2 Clément DAVID (IRC: davidcl) 2007-09-12 13:57:32 UTC
Created attachment 95441 [details]
Test case for the bug that must print "B471512 resolved" :)
Comment 3 Jürg Billeter 2009-06-03 07:28:27 UTC
commit 9460d48c8ae8e53b0189b06ec021db0a3b493578
Author: Jürg Billeter <j@bitron.ch>
Date:   Wed Jun 3 09:21:36 2009 +0200

    Add initial support for static methods in generic types
    
    Fixes bug 471512.