Skip to content

Commit ade288b

Browse files
committed
Remove dependencies on Error Checker Service
1 parent e469f2d commit ade288b

7 files changed

Lines changed: 39 additions & 47 deletions

File tree

java/src/processing/mode/java/JavaEditor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1619,7 +1619,7 @@ public void actionPerformed(ActionEvent e) {
16191619
item = Toolkit.newJMenuItem(Language.text("menu.debug.show_sketch_outline"), KeyEvent.VK_L);
16201620
item.addActionListener(new ActionListener() {
16211621
public void actionPerformed(ActionEvent e) {
1622-
Base.log("Show Sketch Outline:");
1622+
Messages.log("Show Sketch Outline:");
16231623
errorCheckerService.getASTGenerator().showSketchOutline();
16241624
}
16251625
});
@@ -1628,7 +1628,7 @@ public void actionPerformed(ActionEvent e) {
16281628
item = Toolkit.newJMenuItem(Language.text("menu.debug.show_tabs_list"), KeyEvent.VK_Y);
16291629
item.addActionListener(new ActionListener() {
16301630
public void actionPerformed(ActionEvent e) {
1631-
Base.log("Show Tab Outline:");
1631+
Messages.log("Show Tab Outline:");
16321632
errorCheckerService.getASTGenerator().showTabOutline();
16331633
}
16341634
});

java/src/processing/mode/java/MarkerColumn.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import java.awt.event.MouseEvent;
2929
import java.awt.event.MouseMotionAdapter;
3030
import java.util.ArrayList;
31-
import java.util.Collections;
3231
import java.util.List;
3332

3433
import javax.swing.JPanel;

java/src/processing/mode/java/pdex/ASTGenerator.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@
119119
@SuppressWarnings({ "unchecked" })
120120
public class ASTGenerator {
121121
protected final ErrorCheckerService errorCheckerService;
122-
protected JavaEditor editor;
122+
protected final JavaEditor editor;
123123
public DefaultMutableTreeNode codeTree = new DefaultMutableTreeNode();
124124

125125
protected JFrame frmASTView;
@@ -139,9 +139,9 @@ public class ASTGenerator {
139139
protected JLabel lblRefactorOldName;
140140

141141

142-
public ASTGenerator(ErrorCheckerService ecs) {
142+
public ASTGenerator(JavaEditor editor, ErrorCheckerService ecs) {
143+
this.editor = editor;
143144
this.errorCheckerService = ecs;
144-
this.editor = ecs.getEditor();
145145
setupGUI();
146146
//addCompletionPopupListner();
147147
addListeners();
@@ -809,7 +809,6 @@ protected static List<CompletionCandidate> trimCandidates(String newWord, List<C
809809
*/
810810
public List<CompletionCandidate> preparePredictions(final String pdePhrase,
811811
final int line) {
812-
ErrorCheckerService errorCheckerService = editor.getErrorChecker();
813812
ASTNode astRootNode = (ASTNode) errorCheckerService.getLatestCU().types().get(0);
814813

815814
// If the parsed code contains pde enhancements, take 'em out.
@@ -1650,7 +1649,6 @@ public ASTNodeWrapper getASTNodeAt(int lineNumber, String name, int offset,
16501649
int pdeLineNumber = lineNumber + errorCheckerService.mainClassOffset;
16511650
// log("----getASTNodeAt---- CU State: "
16521651
// + errorCheckerService.compilationUnitState);
1653-
editor = errorCheckerService.getEditor();
16541652
int codeIndex = editor.getSketch().getCodeIndex(editor.getCurrentTab());
16551653
if (codeIndex > 0) {
16561654
for (int i = 0; i < codeIndex; i++) {
@@ -2349,15 +2347,15 @@ public ASTNode dfsLookForASTNode(ASTNode root, String name, int startOffset,
23492347
public void showSketchOutline() {
23502348
if (editor.hasJavaTabs()) return;
23512349
2352-
sketchOutline = new SketchOutline(codeTree, errorCheckerService);
2350+
sketchOutline = new SketchOutline(editor, codeTree);
23532351
sketchOutline.show();
23542352
}
2355-
*/
23562353
23572354
23582355
public void showTabOutline() {
2359-
new TabOutline(errorCheckerService).show();
2356+
new TabOutline(editor).show();
23602357
}
2358+
*/
23612359

23622360

23632361
public int javaCodeOffsetToLineStartOffset(int line, int jOffset){

java/src/processing/mode/java/pdex/ErrorCheckerService.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -176,10 +176,11 @@ public class ErrorCheckerService {
176176
public static final String IMPORT_REGEX =
177177
"(?:^|;)\\s*(import\\s+)((?:static\\s+)?\\S+)(\\s*;)";
178178

179-
public ErrorCheckerService(JavaEditor debugEditor) {
180-
this.editor = debugEditor;
181-
xqpreproc = new XQPreprocessor(this);
182-
astGenerator = new ASTGenerator(this);
179+
180+
public ErrorCheckerService(JavaEditor editor) {
181+
this.editor = editor;
182+
xqpreproc = new XQPreprocessor(editor);
183+
astGenerator = new ASTGenerator(editor, this);
183184
loadCompClass = true;
184185
}
185186

@@ -318,7 +319,7 @@ public void request() {
318319

319320

320321
public void addListener(Document doc) {
321-
doc.addDocumentListener(sketchChangedListener);
322+
if (doc != null) doc.addDocumentListener(sketchChangedListener);
322323
}
323324

324325

@@ -1516,10 +1517,6 @@ public void handleErrorCheckingToggle() {
15161517
}
15171518

15181519

1519-
public JavaEditor getEditor() {
1520-
return editor;
1521-
}
1522-
15231520
public ArrayList<ImportStatement> getProgramImports() {
15241521
return programImports;
15251522
}

java/src/processing/mode/java/pdex/SketchOutline.java

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -61,21 +61,20 @@
6161

6262

6363
public class SketchOutline {
64+
protected final JavaEditor editor;
65+
6466
protected JFrame frmOutlineView;
65-
protected ErrorCheckerService errorCheckerService;
6667
protected JScrollPane jsp;
6768
protected DefaultMutableTreeNode soNode, tempNode;
6869
protected final JTree soTree;
6970
protected JTextField searchField;
70-
protected JavaEditor editor;
7171
protected boolean internalSelection = false;
7272

7373
ImageIcon classIcon, fieldIcon, methodIcon;
7474

7575

76-
public SketchOutline(DefaultMutableTreeNode codeTree, ErrorCheckerService ecs) {
77-
errorCheckerService = ecs;
78-
editor = ecs.getEditor();
76+
public SketchOutline(JavaEditor editor, DefaultMutableTreeNode codeTree) {
77+
this.editor = editor;
7978
soNode = new DefaultMutableTreeNode();
8079
generateSketchOutlineTree(soNode, codeTree);
8180
soNode = (DefaultMutableTreeNode) soNode.getChildAt(0);
@@ -95,7 +94,7 @@ private void createGUI(){
9594
frmOutlineView = new JFrame();
9695
frmOutlineView.setAlwaysOnTop(true);
9796
frmOutlineView.setUndecorated(true);
98-
Point tp = errorCheckerService.getEditor().getTextArea().getLocationOnScreen();
97+
Point tp = editor.getTextArea().getLocationOnScreen();
9998

10099
int minWidth = (int) (editor.getMinimumSize().width * 0.7f);
101100
int maxWidth = (int) (editor.getMinimumSize().width * 0.9f);
@@ -130,10 +129,10 @@ private void createGUI(){
130129
frmOutlineView.add(panelBottom);
131130
frmOutlineView.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
132131
frmOutlineView.pack();
133-
frmOutlineView.setBounds(tp.x + errorCheckerService.getEditor().getTextArea().getWidth() - minWidth, tp.y, minWidth,
132+
frmOutlineView.setBounds(tp.x + editor.getTextArea().getWidth() - minWidth, tp.y, minWidth,
134133
Math.min(editor.getTextArea().getHeight(), frmOutlineView.getHeight()));
135-
frmOutlineView.setMinimumSize(new Dimension(minWidth, Math.min(errorCheckerService.getEditor().getTextArea().getHeight(), frmOutlineView.getHeight())));
136-
frmOutlineView.setLocation(tp.x + errorCheckerService.getEditor().getTextArea().getWidth()/2 - frmOutlineView.getWidth()/2,
134+
frmOutlineView.setMinimumSize(new Dimension(minWidth, Math.min(editor.getTextArea().getHeight(), frmOutlineView.getHeight())));
135+
frmOutlineView.setLocation(tp.x + editor.getTextArea().getWidth()/2 - frmOutlineView.getWidth()/2,
137136
frmOutlineView.getY() + (editor.getTextArea().getHeight() - frmOutlineView.getHeight()) / 2);
138137
addListeners();
139138
}
@@ -221,7 +220,7 @@ private void updateSelection(){
221220
protected Object doInBackground() throws Exception {
222221
String text = searchField.getText().toLowerCase();
223222
tempNode = new DefaultMutableTreeNode();
224-
filterTree(text, tempNode, soNode);
223+
filterTree(text, tempNode, soNode); // TODO: is using soNode thread-safe? [jv]
225224
return null;
226225
}
227226

java/src/processing/mode/java/pdex/TabOutline.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,11 @@ public class TabOutline {
6363
protected JTextField searchField;
6464
protected JLabel lblCaption;
6565
protected JavaEditor editor;
66-
protected ErrorCheckerService errorCheckerService;
6766
protected boolean internalSelection = false;
6867

6968

70-
public TabOutline(ErrorCheckerService ecs) {
71-
errorCheckerService = ecs;
72-
editor = ecs.getEditor();
69+
public TabOutline(JavaEditor editor) {
70+
this.editor = editor;
7371
createGUI();
7472
}
7573

@@ -78,7 +76,7 @@ private void createGUI() {
7876
frmOutlineView = new JFrame();
7977
frmOutlineView.setAlwaysOnTop(true);
8078
frmOutlineView.setUndecorated(true);
81-
Point tp = errorCheckerService.getEditor().getTextArea().getLocationOnScreen();
79+
Point tp = editor.getTextArea().getLocationOnScreen();
8280
lblCaption = new JLabel("Tabs List (type to filter)");
8381
int minWidth = estimateFrameWidth();
8482
int maxWidth = (int) (editor.getMinimumSize().width * 0.9f);
@@ -108,14 +106,14 @@ private void createGUI() {
108106
frmOutlineView.add(panelBottom);
109107
frmOutlineView.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
110108
frmOutlineView.pack();
111-
frmOutlineView.setBounds(tp.x + errorCheckerService.getEditor().getTextArea().getWidth() - minWidth,
109+
frmOutlineView.setBounds(tp.x + editor.getTextArea().getWidth() - minWidth,
112110
tp.y,
113111
minWidth,
114112
estimateFrameHeight());
115113
frmOutlineView.setMinimumSize(new Dimension(minWidth, Math
116-
.min(errorCheckerService.getEditor().getTextArea().getHeight(),
114+
.min(editor.getTextArea().getHeight(),
117115
frmOutlineView.getHeight())));
118-
frmOutlineView.setLocation(tp.x + errorCheckerService.getEditor().getTextArea().getWidth()/2 - frmOutlineView.getWidth()/2,
116+
frmOutlineView.setLocation(tp.x + editor.getTextArea().getWidth()/2 - frmOutlineView.getWidth()/2,
119117
frmOutlineView.getY() + (editor.getTextArea().getHeight() - frmOutlineView.getHeight()) / 2);
120118
DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer) tabTree.getCellRenderer();
121119
renderer.setLeafIcon(null);
@@ -202,7 +200,7 @@ private void updateSelection() {
202200
protected Object doInBackground() throws Exception {
203201
String text = searchField.getText().toLowerCase();
204202
tempNode = new DefaultMutableTreeNode();
205-
filterTree(text, tempNode, tabNode);
203+
filterTree(text, tempNode, tabNode); // TODO: is using tabNode thread-safe? [jv]
206204
return null;
207205
}
208206

java/src/processing/mode/java/pdex/XQPreprocessor.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737

3838
import processing.app.Util;
3939
import processing.data.StringList;
40+
import processing.mode.java.JavaEditor;
4041
import processing.mode.java.preproc.PdePreprocessor;
4142

4243

@@ -47,17 +48,17 @@
4748
public class XQPreprocessor {
4849
private ASTRewrite rewrite = null;
4950
private List<ImportStatement> extraImports;
50-
private ErrorCheckerService ecs;
51+
private final JavaEditor editor;
5152
private String[] coreImports;
5253
private String[] defaultImports;
5354

5455

55-
public XQPreprocessor(ErrorCheckerService ecs) {
56-
this.ecs = ecs;
56+
public XQPreprocessor(JavaEditor editor) {
57+
this.editor = editor;
5758

5859
// get parameters from the main preproc
5960
// PdePreprocessor p = new PdePreprocessor(null);
60-
PdePreprocessor p = ecs.editor.createPreprocessor(null);
61+
PdePreprocessor p = editor.createPreprocessor(null);
6162
defaultImports = p.getDefaultImports();
6263
coreImports = p.getCoreImports();
6364
}
@@ -105,16 +106,16 @@ protected String prepareImports(List<ImportStatement> programImports) {
105106
for (String imp : defaultImports) {
106107
imports.append("import " + imp + ";");
107108
}
108-
if (ecs.getEditor().getSketch().getCodeFolder().exists()) {
109+
if (editor.getSketch().getCodeFolder().exists()) {
109110
StringList codeFolderPackages = null;
110-
String codeFolderClassPath = Util.contentsToClassPath(ecs.getEditor().getSketch().getCodeFolder());
111+
String codeFolderClassPath = Util.contentsToClassPath(editor.getSketch().getCodeFolder());
111112
codeFolderPackages = Util.packageListFromClassPath(codeFolderClassPath);
112113
if (codeFolderPackages != null) {
113-
ecs.codeFolderImports.clear();
114+
editor.getErrorChecker().codeFolderImports.clear();
114115
for (String item : codeFolderPackages) {
115116
// Messages.log("CF import " + item);
116117
imports.append("import " + item + ".*;");
117-
ecs.codeFolderImports.add(new ImportStatement("import " + item + ".*;",0,0));
118+
editor.getErrorChecker().codeFolderImports.add(new ImportStatement("import " + item + ".*;",0,0));
118119
}
119120
}
120121
}

0 commit comments

Comments
 (0)