diff --git a/pom.xml b/pom.xml
index 08432ce..2f472fe 100755
--- a/pom.xml
+++ b/pom.xml
@@ -21,7 +21,7 @@
UTF-8
1.8
1.8
- 4.7
+ 4.7.2
@@ -49,11 +49,6 @@
-
- org.apache.maven.plugins
- maven-resources-plugin
- 3.0.2
-
org.apache.maven.plugins
maven-surefire-plugin
@@ -62,14 +57,10 @@
-Xmx2048m -Djava.awt.headless=true
-
- maven-eclipse-plugin
- 2.10
-
org.antlr
antlr4-maven-plugin
- 4.7
+ ${antlr.version}
run antlr
@@ -113,6 +104,11 @@
commons-io
2.5
+
+ commons-lang
+ commons-lang
+ 2.6
+
org.antlr
antlr4
@@ -123,11 +119,6 @@
antlr4-runtime
${antlr.version}
-
- org.antlr
- antlr4-maven-plugin
- ${antlr.version}
-
org.slf4j
slf4j-api
diff --git a/src/main/java/io/proleap/vb6/asg/metamodel/impl/ModuleImpl.java b/src/main/java/io/proleap/vb6/asg/metamodel/impl/ModuleImpl.java
index 0499c6b..465d925 100755
--- a/src/main/java/io/proleap/vb6/asg/metamodel/impl/ModuleImpl.java
+++ b/src/main/java/io/proleap/vb6/asg/metamodel/impl/ModuleImpl.java
@@ -15,8 +15,6 @@ import java.util.Map;
import org.antlr.v4.runtime.CommonTokenStream;
-import com.google.common.collect.Lists;
-
import io.proleap.vb6.VisualBasic6Parser.ArgContext;
import io.proleap.vb6.VisualBasic6Parser.AttributeStmtContext;
import io.proleap.vb6.VisualBasic6Parser.DeclareStmtContext;
@@ -525,7 +523,7 @@ public abstract class ModuleImpl extends ScopeImpl implements Module {
@Override
public List getFunctions() {
- return Lists.newArrayList(functions.values());
+ return new ArrayList<>(functions.values());
}
@Override
@@ -555,7 +553,7 @@ public abstract class ModuleImpl extends ScopeImpl implements Module {
@Override
public List getPropertyGets() {
- return Lists.newArrayList(propertyGets.values());
+ return new ArrayList<>(propertyGets.values());
}
@Override
@@ -565,7 +563,7 @@ public abstract class ModuleImpl extends ScopeImpl implements Module {
@Override
public List getPropertyLets() {
- return Lists.newArrayList(propertyLets.values());
+ return new ArrayList<>(propertyLets.values());
}
@Override
@@ -575,7 +573,7 @@ public abstract class ModuleImpl extends ScopeImpl implements Module {
@Override
public List getPropertySets() {
- return Lists.newArrayList(propertySets.values());
+ return new ArrayList<>(propertySets.values());
}
@Override
@@ -585,7 +583,7 @@ public abstract class ModuleImpl extends ScopeImpl implements Module {
final EnumerationConstant enumerationConstant = getEnumerationConstant(name);
if (enumerationConstant != null) {
- result = new ArrayList();
+ result = new ArrayList<>();
result.add(enumerationConstant);
} else {
result = super.getScopedElementsInScope(name);
@@ -601,7 +599,7 @@ public abstract class ModuleImpl extends ScopeImpl implements Module {
@Override
public List getSubs() {
- return Lists.newArrayList(subs.values());
+ return new ArrayList(subs.values());
}
@Override
diff --git a/src/main/java/io/proleap/vb6/asg/metamodel/impl/ScopeImpl.java b/src/main/java/io/proleap/vb6/asg/metamodel/impl/ScopeImpl.java
index e7911e0..e4b16ba 100755
--- a/src/main/java/io/proleap/vb6/asg/metamodel/impl/ScopeImpl.java
+++ b/src/main/java/io/proleap/vb6/asg/metamodel/impl/ScopeImpl.java
@@ -40,8 +40,6 @@ import org.antlr.v4.runtime.ParserRuleContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.collect.Lists;
-
import io.proleap.vb6.VisualBasic6Parser;
import io.proleap.vb6.VisualBasic6Parser.AmbiguousIdentifierContext;
import io.proleap.vb6.VisualBasic6Parser.AppActivateStmtContext;
@@ -2456,7 +2454,7 @@ public abstract class ScopeImpl extends ScopedElementImpl implements Scope {
@Override
public List getConstants() {
- return Lists.newArrayList(constants.values());
+ return new ArrayList<>(constants.values());
}
/**
@@ -2616,7 +2614,7 @@ public abstract class ScopeImpl extends ScopedElementImpl implements Scope {
@Override
public List getVariables() {
- return Lists.newArrayList(variables.values());
+ return new ArrayList(variables.values());
}
protected void linkApiEnumerationCallWithApiEnumeration(final ApiEnumerationCall apiEnumerationCall,
diff --git a/src/main/java/io/proleap/vb6/asg/metamodel/impl/ScopedElementImpl.java b/src/main/java/io/proleap/vb6/asg/metamodel/impl/ScopedElementImpl.java
index b99956b..a107d58 100755
--- a/src/main/java/io/proleap/vb6/asg/metamodel/impl/ScopedElementImpl.java
+++ b/src/main/java/io/proleap/vb6/asg/metamodel/impl/ScopedElementImpl.java
@@ -9,8 +9,7 @@
package io.proleap.vb6.asg.metamodel.impl;
import org.antlr.v4.runtime.ParserRuleContext;
-
-import com.google.common.base.Strings;
+import org.apache.commons.lang.StringUtils;
import io.proleap.vb6.asg.metamodel.Module;
import io.proleap.vb6.asg.metamodel.Program;
@@ -60,6 +59,6 @@ public abstract class ScopedElementImpl extends ASGElementImpl implements Scoped
}
protected String getSymbol(final String name) {
- return Strings.isNullOrEmpty(name) ? name : name.toLowerCase();
+ return StringUtils.isEmpty(name) ? name : name.toLowerCase();
}
}
diff --git a/src/main/java/io/proleap/vb6/asg/metamodel/statement/function/impl/FunctionImpl.java b/src/main/java/io/proleap/vb6/asg/metamodel/statement/function/impl/FunctionImpl.java
index d31bdda..cb92cf8 100755
--- a/src/main/java/io/proleap/vb6/asg/metamodel/statement/function/impl/FunctionImpl.java
+++ b/src/main/java/io/proleap/vb6/asg/metamodel/statement/function/impl/FunctionImpl.java
@@ -13,8 +13,6 @@ import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
-import com.google.common.collect.Lists;
-
import io.proleap.vb6.VisualBasic6Parser.FunctionStmtContext;
import io.proleap.vb6.asg.inference.impl.TypeInferenceImpl;
import io.proleap.vb6.asg.metamodel.Module;
@@ -67,7 +65,7 @@ public class FunctionImpl extends ProcedureImpl implements Function {
@Override
public List getCalls() {
- return Lists.newArrayList(getFunctionCalls());
+ return new ArrayList<>(getFunctionCalls());
}
@Override
diff --git a/src/main/java/io/proleap/vb6/asg/metamodel/statement/property/get/impl/PropertyGetImpl.java b/src/main/java/io/proleap/vb6/asg/metamodel/statement/property/get/impl/PropertyGetImpl.java
index 6bfc89b..aa83206 100755
--- a/src/main/java/io/proleap/vb6/asg/metamodel/statement/property/get/impl/PropertyGetImpl.java
+++ b/src/main/java/io/proleap/vb6/asg/metamodel/statement/property/get/impl/PropertyGetImpl.java
@@ -13,8 +13,6 @@ import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
-import com.google.common.collect.Lists;
-
import io.proleap.vb6.VisualBasic6Parser.PropertyGetStmtContext;
import io.proleap.vb6.asg.inference.impl.TypeInferenceImpl;
import io.proleap.vb6.asg.metamodel.Module;
@@ -67,7 +65,7 @@ public class PropertyGetImpl extends ProcedureImpl implements PropertyGet {
@Override
public List getCalls() {
- return Lists.newArrayList(getPropertyGetCalls());
+ return new ArrayList<>(getPropertyGetCalls());
}
@Override
diff --git a/src/main/java/io/proleap/vb6/asg/metamodel/statement/property/let/impl/PropertyLetImpl.java b/src/main/java/io/proleap/vb6/asg/metamodel/statement/property/let/impl/PropertyLetImpl.java
index 4a89d36..ee62bb9 100755
--- a/src/main/java/io/proleap/vb6/asg/metamodel/statement/property/let/impl/PropertyLetImpl.java
+++ b/src/main/java/io/proleap/vb6/asg/metamodel/statement/property/let/impl/PropertyLetImpl.java
@@ -11,8 +11,6 @@ package io.proleap.vb6.asg.metamodel.statement.property.let.impl;
import java.util.ArrayList;
import java.util.List;
-import com.google.common.collect.Lists;
-
import io.proleap.vb6.VisualBasic6Parser.PropertyLetStmtContext;
import io.proleap.vb6.asg.metamodel.Module;
import io.proleap.vb6.asg.metamodel.VisibilityEnum;
@@ -45,7 +43,7 @@ public class PropertyLetImpl extends ProcedureImpl implements PropertyLet {
@Override
public List getCalls() {
- return Lists.newArrayList(getPropertyLetCalls());
+ return new ArrayList<>(getPropertyLetCalls());
}
@Override
diff --git a/src/main/java/io/proleap/vb6/asg/metamodel/statement/property/set/impl/PropertySetImpl.java b/src/main/java/io/proleap/vb6/asg/metamodel/statement/property/set/impl/PropertySetImpl.java
index 394a32d..6cc4f6f 100755
--- a/src/main/java/io/proleap/vb6/asg/metamodel/statement/property/set/impl/PropertySetImpl.java
+++ b/src/main/java/io/proleap/vb6/asg/metamodel/statement/property/set/impl/PropertySetImpl.java
@@ -11,8 +11,6 @@ package io.proleap.vb6.asg.metamodel.statement.property.set.impl;
import java.util.ArrayList;
import java.util.List;
-import com.google.common.collect.Lists;
-
import io.proleap.vb6.VisualBasic6Parser.PropertySetStmtContext;
import io.proleap.vb6.asg.metamodel.Module;
import io.proleap.vb6.asg.metamodel.VisibilityEnum;
@@ -45,7 +43,7 @@ public class PropertySetImpl extends ProcedureImpl implements PropertySet {
@Override
public List getCalls() {
- return Lists.newArrayList(getPropertySetCalls());
+ return new ArrayList<>(getPropertySetCalls());
}
@Override
diff --git a/src/main/java/io/proleap/vb6/asg/metamodel/statement/sub/impl/SubImpl.java b/src/main/java/io/proleap/vb6/asg/metamodel/statement/sub/impl/SubImpl.java
index afa174d..3edc2e0 100755
--- a/src/main/java/io/proleap/vb6/asg/metamodel/statement/sub/impl/SubImpl.java
+++ b/src/main/java/io/proleap/vb6/asg/metamodel/statement/sub/impl/SubImpl.java
@@ -11,8 +11,6 @@ package io.proleap.vb6.asg.metamodel.statement.sub.impl;
import java.util.ArrayList;
import java.util.List;
-import com.google.common.collect.Lists;
-
import io.proleap.vb6.VisualBasic6Parser.SubStmtContext;
import io.proleap.vb6.asg.metamodel.Module;
import io.proleap.vb6.asg.metamodel.VisibilityEnum;
@@ -44,7 +42,7 @@ public class SubImpl extends ProcedureImpl implements Sub {
@Override
public List getCalls() {
- return Lists.newArrayList(getSubCalls());
+ return new ArrayList<>(getSubCalls());
}
@Override
diff --git a/src/main/java/io/proleap/vb6/asg/util/StringUtils.java b/src/main/java/io/proleap/vb6/asg/util/StringUtils.java
new file mode 100644
index 0000000..5601d20
--- /dev/null
+++ b/src/main/java/io/proleap/vb6/asg/util/StringUtils.java
@@ -0,0 +1,24 @@
+package io.proleap.vb6.asg.util;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.nio.charset.Charset;
+import java.util.List;
+import java.util.stream.Collectors;
+
+public class StringUtils {
+
+ public static List readLines(final InputStream inputStream, final Charset charset) throws IOException {
+ final InputStreamReader inputStreamReader = new InputStreamReader(inputStream, charset);
+ final BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
+ return bufferedReader.lines().collect(Collectors.toList());
+ }
+
+ public static String toString(final InputStream inputStream, final Charset charset) throws IOException {
+ final InputStreamReader inputStreamReader = new InputStreamReader(inputStream, charset);
+ final BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
+ return bufferedReader.lines().collect(Collectors.joining(System.lineSeparator()));
+ }
+}
diff --git a/src/test/java/io/proleap/vb6/TestGenerator.java b/src/test/java/io/proleap/vb6/TestGenerator.java
index 8c6985d..ea44e2e 100755
--- a/src/test/java/io/proleap/vb6/TestGenerator.java
+++ b/src/test/java/io/proleap/vb6/TestGenerator.java
@@ -19,11 +19,10 @@ import java.util.Arrays;
import org.antlr.v4.runtime.CharStreams;
import org.antlr.v4.runtime.CommonTokenStream;
import org.apache.commons.io.FilenameUtils;
+import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Strings;
-
import io.proleap.vb6.VisualBasic6Parser.StartRuleContext;
import io.proleap.vb6.util.TreeUtils;
@@ -111,7 +110,7 @@ public class TestGenerator {
subOutputDirectory.mkdirs();
// determine the package name of test classes
- final String subPackageName = Strings.isNullOrEmpty(packageName) ? subInputDirectoryName
+ final String subPackageName = StringUtils.isEmpty(packageName) ? subInputDirectoryName
: packageName + "." + subInputDirectoryName;
generateTestClasses(subInputDirectory, subOutputDirectory, subPackageName);
diff --git a/src/test/java/io/proleap/vb6/runner/impl/VbParseTestRunnerImpl.java b/src/test/java/io/proleap/vb6/runner/impl/VbParseTestRunnerImpl.java
index cf107a3..72fb1ce 100644
--- a/src/test/java/io/proleap/vb6/runner/impl/VbParseTestRunnerImpl.java
+++ b/src/test/java/io/proleap/vb6/runner/impl/VbParseTestRunnerImpl.java
@@ -22,11 +22,10 @@ import org.antlr.v4.runtime.CommonTokenStream;
import org.antlr.v4.runtime.tree.Trees;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;
+import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Strings;
-
import io.proleap.vb6.VisualBasic6Lexer;
import io.proleap.vb6.VisualBasic6Parser;
import io.proleap.vb6.VisualBasic6Parser.StartRuleContext;
@@ -59,7 +58,7 @@ public class VbParseTestRunnerImpl implements VbParseTestRunner {
final String treeFileData = FileUtils.readFileToString(treeFile, StandardCharsets.UTF_8);
- if (!Strings.isNullOrEmpty(treeFileData)) {
+ if (!StringUtils.isEmpty(treeFileData)) {
LOG.info("Comparing parse tree with file {}.", treeFile.getName());
final String inputFileTree = Trees.toStringTree(startRule, parser);
diff --git a/src/test/java/io/proleap/vb6/util/TreeUtils.java b/src/test/java/io/proleap/vb6/util/TreeUtils.java
index a8cf6cf..e018c2a 100644
--- a/src/test/java/io/proleap/vb6/util/TreeUtils.java
+++ b/src/test/java/io/proleap/vb6/util/TreeUtils.java
@@ -7,9 +7,7 @@ import org.antlr.v4.runtime.Parser;
import org.antlr.v4.runtime.misc.Utils;
import org.antlr.v4.runtime.tree.Tree;
import org.antlr.v4.runtime.tree.Trees;
-import org.sonatype.inject.Nullable;
-
-import com.google.common.base.Strings;
+import org.apache.commons.lang.StringUtils;
public class TreeUtils {
@@ -18,13 +16,13 @@ public class TreeUtils {
public static final String TAB = "\t";
public static String indent(final int indent) {
- return Strings.repeat(TAB, indent);
+ return StringUtils.repeat(TAB, indent);
}
/**
* @see org.antlr.v4.runtime.tree.Trees.toStringTree(Tree, List)
*/
- public static String toStringTree(final Tree t, @Nullable final List ruleNames, final int depth) {
+ public static String toStringTree(final Tree t, final List ruleNames, final int depth) {
String s = Utils.escapeWhitespace(Trees.getNodeText(t, ruleNames), false);
if (t.getChildCount() == 0) {
@@ -59,7 +57,7 @@ public class TreeUtils {
/**
* @see org.antlr.v4.runtime.tree.Trees.toStringTree(Tree, Parser)
*/
- public static String toStringTree(final Tree t, @Nullable final Parser recog) {
+ public static String toStringTree(final Tree t, final Parser recog) {
final String[] ruleNames = recog != null ? recog.getRuleNames() : null;
final List ruleNamesList = ruleNames != null ? Arrays.asList(ruleNames) : null;