aboutsummaryrefslogtreecommitdiff
path: root/compiler/tests/verifier/expr_memberfunction.bad
blob: 08efeaa81b41393d21ec77489687ff3c4e35e8f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50


namespace A {
    typedef here = int;
    
    int good(A) { return 1; }
    int f() { return 1; }
    int v;
    
    badtype badtypefunc(); // ERROR
    () badtypemethod(badtype); // ERROR
    badtype badtypevar; // ERROR
    () badthing A); // ERROR
}

namespace C {
}

A a;
badtype b; // ERROR
C c; // ERROR

() test() {
    /* ERRORS */
    a->f;
    a->v();
    int c = a->f;
    a->""();
    a->notfound();
    notfound->x();
    a->badtypefunc();
    a->badtypevar();
    bool->bad();
    bool:true->bad();
    a->->good();
    a->.good();
    a->:good();
    badtype x = a->good();
    c->notfound();
    a->good:();
    a->good():;
    a->good:here();
    a->123();
    
    // Errors should be reported somewhere else
    a->badtypemethod();
    a->badthing();
    b->notfound();
}