-
-
Notifications
You must be signed in to change notification settings - Fork 162
Expand file tree
/
Copy pathProblem.java
More file actions
86 lines (69 loc) · 2.52 KB
/
Problem.java
File metadata and controls
86 lines (69 loc) · 2.52 KB
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */
/*
Part of the Processing project - http://processing.org
Copyright (c) 2012-16 The Processing Foundation
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2
as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package processing.app;
import java.util.Optional;
/**
* Structure describing a problem encountered in sketch compilation.
*/
public interface Problem {
/**
* Get if the problem is an error that prevented compilation.
*
* @return True if an error such that the sketch did not compile and false
* otherwise.
*/
public boolean isError();
/**
* Get if the problem is an warning that did not prevent compilation.
*
* @return True if a warning and the sketch compiled and false otherwise.
*/
public boolean isWarning();
/**
* Get which tab (sketch file) the problem was encountered.
*
* @return The index of the tab in which the problem was encountered.
*/
public int getTabIndex();
/**
* Get at which line the problem was encountered.
*
* @return Zero-indexed line number within the tab at getTabIndex in which
* this problem was encountered. Note that this is not the line in the
* generated Java file.
*/
public int getLineNumber();
/**
* Get a human-reabable description of the problem encountered.
*
* @return String describing the error or warning encountered.
*/
public String getMessage();
/**
* Get the exact character on which this problem starts in code line relative.
*
* @return Number of characters past the start of the line if known where the
* code associated with the Problem starts.
*/
public int getStartOffset();
/**
* Get the exact character on which this problem ends in code line relative.
*
* @return Number of characters past the start of the line if known where the
* code associated with the Problem ends. If -1, should use the whole line.
*/
public int getStopOffset();
}