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;