ni_nitdoc: added fast copy past utility to signatures.
[nit.git] / src / breakpoint.nit
1 # This file is part of NIT ( http://www.nitlanguage.org ).
2 #
3 # Copyright 2013 Lucas Bajolet <lucas.bajolet@gmail.com>
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 # http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16
17 # Classes and methods relative to the management of Breakpoints for the Debugger
18 module breakpoint
19
20 # Contains all the informations of a Breakpoint for the Debugger
21 class Breakpoint
22
23 # Line to break on
24 var line: Int
25
26 # File concerned by the breakpoint
27 var file: String
28
29 # Maximum times to break on self
30 var max_breaks: Int
31
32 init(line: Int, file: String)
33 do
34 self.line = line
35 self.file = file
36 self.max_breaks = -1
37 end
38
39 fun set_max_breaks(breaks: Int)
40 do
41 self.max_breaks = breaks
42 end
43
44 # When the breakpoint is encountered, the check-in function should be called
45 fun check_in
46 do
47 if self.max_breaks > 0 then self.max_breaks -= 1
48 end
49
50 # Checks if the breakpoint is still valid (that is, if it has a remaining breaks number > 0 or == -1)
51 fun is_valid: Bool
52 do
53 if max_breaks == 0 then
54 return false
55 else
56 return true
57 end
58 end
59
60 end