Refactor ANTLR message simplification infrastructure.

Refactor ANTLR message simplification infrastructure to reduce class count within preproc given @benfy feedback within https://github.com/processing/processing4/pull/1. Note that some supporting are left out but those can be further refactored behind classes as desired but strategies are all made anon or inner.
This commit is contained in:
A Pottinger
2019-10-06 22:55:41 -07:00
parent 2b05da132a
commit f846c7e82c
48 changed files with 763 additions and 1395 deletions

View File

@@ -1,20 +1,19 @@
package processing.mode.java.preproc.issue.strategy;
package processing.mode.java.preproc.issue;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import processing.mode.java.preproc.issue.IssueMessageSimplification;
import java.util.Optional;
public class AssignmentMessageSimplifierStrategyTest {
private AssignmentMessageSimplifierStrategy strategy;
private PreprocessIssueMessageSimplifier.PreprocIssueMessageSimplifierStrategy strategy;
@Before
public void setup() {
strategy = new AssignmentMessageSimplifierStrategy();
strategy = PreprocessIssueMessageSimplifier.get().createInvalidAssignmentStrategy();
}
@Test

View File

@@ -1,20 +1,19 @@
package processing.mode.java.preproc.issue.strategy;
package processing.mode.java.preproc.issue;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import processing.mode.java.preproc.issue.IssueMessageSimplification;
import java.util.Optional;
public class BadIdentifierMessageSimplifierStrategyTest {
private BadIdentifierMessageSimplifierStrategy strategy;
private PreprocessIssueMessageSimplifier.PreprocIssueMessageSimplifierStrategy strategy;
@Before
public void setup() {
strategy = new BadIdentifierMessageSimplifierStrategy();
strategy = PreprocessIssueMessageSimplifier.get().createInvalidIdentifierStrategy();
}
@Test

View File

@@ -1,20 +1,19 @@
package processing.mode.java.preproc.issue.strategy;
package processing.mode.java.preproc.issue;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import processing.mode.java.preproc.issue.IssueMessageSimplification;
import java.util.Optional;
public class BadParamMessageSimplifierStrategyTest {
private BadParamMessageSimplifierStrategy strategy;
private PreprocessIssueMessageSimplifier.PreprocIssueMessageSimplifierStrategy strategy;
@Before
public void setup() {
strategy = new BadParamMessageSimplifierStrategy();
strategy = PreprocessIssueMessageSimplifier.get().createErrorOnParameterStrategy();
}
@Test

View File

@@ -1,20 +1,20 @@
package processing.mode.java.preproc.issue.strategy;
package processing.mode.java.preproc.issue;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import processing.mode.java.preproc.issue.IssueMessageSimplification;
import java.util.Optional;
public class ExtraneousInputMessageSimplifierStrategyTest {
private ExtraneousInputMessageSimplifierStrategy strategy;
private PreprocessIssueMessageSimplifier.PreprocIssueMessageSimplifierStrategy strategy;
@Before
public void setup() {
strategy = new ExtraneousInputMessageSimplifierStrategy();
strategy = PreprocessIssueMessageSimplifier.get()
.createExtraneousInputSimplifierStrategy();
}
@Test

View File

@@ -1,20 +1,19 @@
package processing.mode.java.preproc.issue.strategy;
package processing.mode.java.preproc.issue;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import processing.mode.java.preproc.issue.IssueMessageSimplification;
import java.util.Optional;
public class KnownMissingMessageSimplifierStrategyTest {
private KnownMissingMessageSimplifierStrategy strategy;
private PreprocessIssueMessageSimplifier.PreprocIssueMessageSimplifierStrategy strategy;
@Before
public void setup() {
strategy = new KnownMissingMessageSimplifierStrategy();
strategy = PreprocessIssueMessageSimplifier.get().createKnownMissingSimplifierStrategy();
}
@Test

View File

@@ -1,21 +1,22 @@
package processing.mode.java.preproc.issue.strategy;
package processing.mode.java.preproc.issue;
import org.junit.Assert;
import org.junit.Test;
import processing.mode.java.preproc.issue.PreprocessIssueMessageSimplifier;
public class MessageSimplifierUtilTest {
@Test
public void getOffendingAreaMatch() {
String input = "no viable alternative at input 'ellipse(\n\nellipse();'";
String output = MessageSimplifierUtil.getOffendingArea(input);
String output = PreprocessIssueMessageSimplifier.getOffendingArea(input);
Assert.assertEquals("ellipse();", output);
}
@Test
public void getOffendingAreaNoMatch() {
String input = "ambig at input 'ellipse(\n\nellipse();'";
String output = MessageSimplifierUtil.getOffendingArea(input);
String output = PreprocessIssueMessageSimplifier.getOffendingArea(input);
Assert.assertEquals("ambig at input 'ellipse(\n\nellipse();'", output);
}

View File

@@ -1,20 +1,20 @@
package processing.mode.java.preproc.issue.strategy;
package processing.mode.java.preproc.issue;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import processing.mode.java.preproc.issue.IssueMessageSimplification;
import java.util.Optional;
public class MismatchedInputMessageSimplifierStrategyTest {
private MismatchedInputMessageSimplifierStrategy strategy;
private PreprocessIssueMessageSimplifier.PreprocIssueMessageSimplifierStrategy strategy;
@Before
public void setup() {
strategy = new MismatchedInputMessageSimplifierStrategy();
strategy = PreprocessIssueMessageSimplifier.get()
.createMismatchedInputSimplifierStrategy();
}
@Test

View File

@@ -1,4 +1,4 @@
package processing.mode.java.preproc.issue.strategy;
package processing.mode.java.preproc.issue;
import org.junit.Assert;
import org.junit.Before;
@@ -10,11 +10,11 @@ import java.util.Optional;
public class MissingChevMessageSimplifierStrategyTest {
private processing.mode.java.preproc.issue.strategy.MissingChevMessageSimplifierStrategy strategy;
private PreprocessIssueMessageSimplifier.PreprocIssueMessageSimplifierStrategy strategy;
@Before
public void setup() {
strategy = new MissingChevMessageSimplifierStrategy();
strategy = PreprocessIssueMessageSimplifier.get().createUnbalancedChevStrategy();
}
@Test

View File

@@ -1,4 +1,4 @@
package processing.mode.java.preproc.issue.strategy;
package processing.mode.java.preproc.issue;
import org.junit.Assert;
import org.junit.Before;
@@ -10,11 +10,11 @@ import java.util.Optional;
public class MissingClassNameMessageSimplifierStrategyTest {
private MissingClassNameMessageSimplifierStrategy strategy;
private PreprocessIssueMessageSimplifier.PreprocIssueMessageSimplifierStrategy strategy;
@Before
public void setup() {
strategy = new MissingClassNameMessageSimplifierStrategy();
strategy = PreprocessIssueMessageSimplifier.get().createMissingClassNameStrategy();
}
@Test

View File

@@ -1,20 +1,21 @@
package processing.mode.java.preproc.issue.strategy;
package processing.mode.java.preproc.issue;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import processing.mode.java.preproc.issue.IssueMessageSimplification;
import processing.mode.java.preproc.issue.PreprocessIssueMessageSimplifier;
import java.util.Optional;
public class MissingCurlyMessageSimplifierStrategyTest {
private MissingCurlyMessageSimplifierStrategy strategy;
private PreprocessIssueMessageSimplifier.PreprocIssueMessageSimplifierStrategy strategy;
@Before
public void setup() {
strategy = new MissingCurlyMessageSimplifierStrategy();
strategy = PreprocessIssueMessageSimplifier.get().createUnbalancedCurlyStrategy();
}
@Test

View File

@@ -1,4 +1,4 @@
package processing.mode.java.preproc.issue.strategy;
package processing.mode.java.preproc.issue;
import org.junit.Assert;
import org.junit.Before;
@@ -10,11 +10,11 @@ import java.util.Optional;
public class MissingDoubleQuoteMessageSimplifierStrategyTest {
private MissingDoubleQuoteMessageSimplifierStrategy strategy;
private PreprocessIssueMessageSimplifier.PreprocIssueMessageSimplifierStrategy strategy;
@Before
public void setup() {
strategy = new MissingDoubleQuoteMessageSimplifierStrategy();
strategy = PreprocessIssueMessageSimplifier.get().createMissingDoubleQuoteStrategy();
}
@Test

View File

@@ -1,4 +1,4 @@
package processing.mode.java.preproc.issue.strategy;
package processing.mode.java.preproc.issue;
import org.junit.Assert;
import org.junit.Before;
@@ -10,11 +10,11 @@ import java.util.Optional;
public class MissingGenericTypeMessageSimplifierStrategyTest {
private MissingGenericTypeMessageSimplifierStrategy strategy;
private PreprocessIssueMessageSimplifier.PreprocIssueMessageSimplifierStrategy strategy;
@Before
public void setup() {
strategy = new MissingGenericTypeMessageSimplifierStrategy();
strategy = PreprocessIssueMessageSimplifier.get().createInvalidGenericDefinitionStrategy();
}
@Test

View File

@@ -1,20 +1,20 @@
package processing.mode.java.preproc.issue.strategy;
package processing.mode.java.preproc.issue;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import processing.mode.java.preproc.issue.IssueMessageSimplification;
import java.util.Optional;
public class MissingIdentifierMessageSimplifierStrategyTest {
private MissingIdentifierMessageSimplifierStrategy strategy;
private PreprocessIssueMessageSimplifier.PreprocIssueMessageSimplifierStrategy strategy;
@Before
public void setup() {
strategy = new MissingIdentifierMessageSimplifierStrategy();
strategy = PreprocessIssueMessageSimplifier.get()
.createMissingIdentifierSimplifierStrategy();
}
@Test

View File

@@ -1,4 +1,4 @@
package processing.mode.java.preproc.issue.strategy;
package processing.mode.java.preproc.issue;
import org.junit.Assert;
import org.junit.Before;
@@ -10,11 +10,11 @@ import java.util.Optional;
public class MissingMethodNameMessageSimplifierStrategyTest {
private MissingMethodNameMessageSimplifierStrategy strategy;
private PreprocessIssueMessageSimplifier.PreprocIssueMessageSimplifierStrategy strategy;
@Before
public void setup() {
strategy = new MissingMethodNameMessageSimplifierStrategy();
strategy = PreprocessIssueMessageSimplifier.get().createMethodMissingNameStrategy();
}
@Test

View File

@@ -1,4 +1,4 @@
package processing.mode.java.preproc.issue.strategy;
package processing.mode.java.preproc.issue;
import org.junit.Assert;
import org.junit.Before;
@@ -10,11 +10,11 @@ import java.util.Optional;
public class MissingParenMessageSimplifierStrategyTest {
private MissingParenMessageSimplifierStrategy strategy;
private PreprocessIssueMessageSimplifier.PreprocIssueMessageSimplifierStrategy strategy;
@Before
public void setup() {
strategy = new MissingParenMessageSimplifierStrategy();
strategy = PreprocessIssueMessageSimplifier.get().createUnbalancedParenStrategy();
}
@Test

View File

@@ -1,4 +1,4 @@
package processing.mode.java.preproc.issue.strategy;
package processing.mode.java.preproc.issue;
import org.junit.Assert;
import org.junit.Before;
@@ -9,11 +9,11 @@ import java.util.Optional;
public class MissingSingleQuoteMessageSimplifierStrategyTest {
private MissingSingleQuoteMessageSimplifierStrategy strategy;
private PreprocessIssueMessageSimplifier.PreprocIssueMessageSimplifierStrategy strategy;
@Before
public void setup() {
strategy = new MissingSingleQuoteMessageSimplifierStrategy();
strategy = PreprocessIssueMessageSimplifier.get().createMissingSingleQuoteStrategy();
}
@Test

View File

@@ -1,4 +1,4 @@
package processing.mode.java.preproc.issue.strategy;
package processing.mode.java.preproc.issue;
import org.junit.Assert;
import org.junit.Before;
@@ -10,11 +10,11 @@ import java.util.Optional;
public class MissingVariableNameMessageSimplifierStrategyTest {
private MissingVariableNameMessageSimplifierStrategy strategy;
private PreprocessIssueMessageSimplifier.PreprocIssueMessageSimplifierStrategy strategy;
@Before
public void setup() {
strategy = new MissingVariableNameMessageSimplifierStrategy();
strategy = PreprocessIssueMessageSimplifier.get().createVariableDeclarationMissingTypeStrategy();
}
@Test

View File

@@ -2,64 +2,64 @@ package processing.mode.java.preproc.util;
import org.junit.Assert;
import org.junit.Test;
import processing.mode.java.preproc.issue.PreprocessIssueMessageSimplifierFacade;
import processing.mode.java.preproc.issue.PreprocessIssueMessageSimplifier;
public class PreprocessIssueMessageSimplifierFacadeTest {
public class PreprocessIssueMessageSimplifierTest {
@Test
public void testAssignment() {
String input = "List<ColoredCircle> =";
String output = PreprocessIssueMessageSimplifierFacade.get().simplify(input).getMessage();
String output = PreprocessIssueMessageSimplifier.get().simplify(input).getMessage();
Assert.assertTrue(output.contains("assignment"));
}
@Test
public void testBadIdentifier() {
String input = "List<ColoredCircle> 9";
String output = PreprocessIssueMessageSimplifierFacade.get().simplify(input).getMessage();
String output = PreprocessIssueMessageSimplifier.get().simplify(input).getMessage();
Assert.assertTrue(output.contains("digit"));
}
@Test
public void testBadParamLead() {
String input = "x,";
String output = PreprocessIssueMessageSimplifierFacade.get().simplify(input).getMessage();
String output = PreprocessIssueMessageSimplifier.get().simplify(input).getMessage();
Assert.assertTrue(output.contains("parameter"));
}
@Test
public void testBadParamEnd() {
String input = "colorGen),";
String output = PreprocessIssueMessageSimplifierFacade.get().simplify(input).getMessage();
String output = PreprocessIssueMessageSimplifier.get().simplify(input).getMessage();
Assert.assertTrue(output.contains("parameter"));
}
@Test
public void testCaret() {
String input = "List<ColoredCircle circles";
String output = PreprocessIssueMessageSimplifierFacade.get().simplify(input).getMessage();
String output = PreprocessIssueMessageSimplifier.get().simplify(input).getMessage();
Assert.assertTrue(output.contains(">"));
}
@Test
public void testMissingIdentifier() {
String input = "missing Identifier at '{'";
String output = PreprocessIssueMessageSimplifierFacade.get().simplify(input).getMessage();
String output = PreprocessIssueMessageSimplifier.get().simplify(input).getMessage();
Assert.assertTrue(output.contains("{"));
}
@Test
public void simplifyParen() {
String input = "no viable alternative at input 'ellipse(\n\nellipse();'";
String output = PreprocessIssueMessageSimplifierFacade.get().simplify(input).getMessage();
String output = PreprocessIssueMessageSimplifier.get().simplify(input).getMessage();
Assert.assertNotNull(output);
}
@Test
public void simplifySemicolon() {
String input = "no viable alternative at input 'ellipse(\n\nellipse())'";
String output = PreprocessIssueMessageSimplifierFacade.get().simplify(input).getMessage();
String output = PreprocessIssueMessageSimplifier.get().simplify(input).getMessage();
Assert.assertNotNull(output);
}