Fixes recursion bug in disambiguate_in().
[ohcount] / test / expected_dir / vala1.vala
1 vala    code    using GLib;
2 vala    blank   
3 vala    blank   
4 vala    blank   
5 vala    comment // Class which makes the event
6 vala    code    public class Game : Object {
7 vala    comment     // Note the use of the signal keyword
8 vala    code        public signal void score_change (int newScore, ref bool cancel);
9 vala    blank   
10 vala    code        int _score;
11 vala    blank   
12 vala    comment         // Score Property
13 vala    code        public int score {
14 vala    code            get {
15 vala    code                return _score;
16 vala    code                }
17 vala    code            set {
18 vala    code                if (_score != value) {
19 vala    code                    bool cancel = false;
20 vala    code                    score_change (value, ref cancel);
21 vala    code                    if (! cancel)
22 vala    code                        _score = value;
23 vala    code                }
24 vala    code            }
25 vala    code        }
26 vala    code    }
27 vala    blank   
28 vala    comment // Class which handles the event
29 vala    code    public class Referee : Object
30 vala    code    {
31 vala    code        public Game game { get; construct; }
32 vala    blank   
33 vala    code        public Referee (construct Game game) {
34 vala    code        }
35 vala    blank   
36 vala    code        construct {
37 vala    comment         // Monitor when a score changes in the game
38 vala    code            game.score_change += game_score_change;
39 vala    code        }
40 vala    blank   
41 vala    comment     // Notice how this method signature matches the score_change signal's signature
42 vala    code        private void game_score_change (Game game, int new_score, ref bool cancel) {
43 vala    code            if (new_score < 100)
44 vala    code                stdout.printf ("Good Score\n");
45 vala    code            else {
46 vala    code                cancel = true;
47 vala    code                stdout.printf ("No Score can be that high!\n");
48 vala    code            }
49 vala    code        }
50 vala    code    }
51 vala    blank   
52 vala    comment // Class to test it all
53 vala    code    public class GameTest : Object
54 vala    code    {
55 vala    code        public static void main () {
56 vala    code            var game = new Game ();
57 vala    code            var referee = new Referee (game);
58 vala    code            game.score = 70;
59 vala    code            game.score = 110;
60 vala    code        }
61 vala    code    }