diff --git a/scrapbook.jpage b/scrapbook.jpage new file mode 100644 index 0000000000..e913b1cc5c --- /dev/null +++ b/scrapbook.jpage @@ -0,0 +1,2 @@ +System.getProperties();(java.util.Properties) {java.runtime.name=OpenJDK Runtime Environment, sun.boot.library.path=/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64, java.vm.version=25.111-b14, java.vm.vendor=Oracle Corporation, java.vendor.url=http://java.oracle.com/, path.separator=:, java.vm.name=OpenJDK 64-Bit Server VM, file.encoding.pkg=sun.io, user.country=US, sun.java.launcher=SUN_STANDARD, sun.os.patch.level=unknown, java.vm.specification.name=Java Virtual Machine Specification, user.dir=/home/yogi/git/Spartanizer, java.runtime.version=1.8.0_111-8u111-b14-2ubuntu0.16.04.2-b14, java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment, java.endorsed.dirs=/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/endorsed, os.arch=amd64, java.io.tmpdir=/tmp, line.separator= +, java.vm.specification.vendor=Oracle Corporation, os.name=Linux, sun.jnu.encoding=UTF-8, java.library.path=/usr/java/packages/lib/amd64:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib, java.specification.name=Java Platform API Specification, java.class.version=52.0, sun.management.compiler=HotSpot 64-Bit Tiered Compilers, os.version=4.4.0-57-generic, user.home=/home/yogi, user.timezone=, java.awt.printerjob=sun.print.PSPrinterJob, file.encoding=UTF-8, java.specification.version=1.8, java.class.path=/home/yogi/eclipse/java-neon3/eclipse/configuration/org.eclipse.osgi/207/0/.cp/snippetsupport.jar, user.name=yogi, java.vm.specification.version=1.8, sun.java.command=org.eclipse.jdt.internal.debug.ui.snippeteditor.ScrapbookMain file:/home/yogi/Neon1/.metadata/.plugins/org.eclipse.core.resources/.projects/il.org.spartan.plugin/org.eclipse.jdt.debug.ui/ file:/home/yogi/.p2/pool/plugins/org.eclipse.ui_3.108.1.v20160929-1045.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.swt_3.105.2.v20161122-0613.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.swt.gtk.linux.x86_64_3.105.2.v20161122-0613.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.jface_3.12.1.v20160923-1528.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.core.commands_3.8.0.v20160316-1921.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.ui.workbench_3.108.2.v20161025-2029.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.e4.ui.workbench3_0.13.100.v20160506-0759.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar file:/home/yogi/.p2/pool/plugins/javax.inject_1.0.0.v20091030.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.osgi_3.11.2.v20161107-1947.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.osgi.compatibility.state_1.0.200.v20160504-1419.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.core.jobs_3.8.0.v20160509-0411.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.equinox.registry_3.6.100.v20160223-2218.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.equinox.preferences_3.6.1.v20160815-1406.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.core.contenttype_3.5.100.v20160418-1621.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.equinox.app_1.3.400.v20150715-1528.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.ltk.core.refactoring_3.7.0.v20160419-0705.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.ltk.ui.refactoring_3.8.0.v20160518-1817.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.jdt.core_3.12.2.v20161117-1814.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.jdt.compiler.apt_1.2.100.v20160418-1457.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.jdt.compiler.tool_1.1.100.v20160418-1457.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.jdt.ui_3.12.2.v20160929-0804.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.jface.text_3.11.2.v20161113-1700.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.text_3.6.0.v20160503-1849.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.core.resources_3.11.1.v20161107-2032.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.ui.ide_3.12.2.v20161115-1450.jar file:/home/yogi/.p2/pool/plugins/org.junit_4.12.0.v201504281640/junit.jar file:/home/yogi/.p2/pool/plugins/org.hamcrest.core_1.3.0.v201303031735.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.ui.workbench.texteditor_3.10.1.v20160818-1626.jar file:/home/yogi/.p2/pool/plugins/org.eclipse.ui.views_3.8.101.v20160816-1954.jar file:/home/yogi/git/Spartanizer/target/classes/ file:/home/yogi/git/Spartanizer/lib/hamcrest-all-1.3.jar file:/home/yogi/git/Spartanizer/lib/junit-4.12.jar file:/home/yogi/git/Spartanizer/lib/mockito-all-2.0.2-beta.jar file:/home/yogi/git/Spartanizer/lib/spartan-1.2.jar file:/home/yogi/git/Spartanizer/lib/cli-1.02.jar, java.home=/usr/lib/jvm/java-8-openjdk-amd64/jre, sun.arch.data.model=64, user.language=en, java.specification.vendor=Oracle Corporation, awt.toolkit=sun.awt.X11.XToolkit, java.vm.info=mixed mode, java.version=1.8.0_111, java.ext.dirs=/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext:/usr/java/packages/lib/ext, sun.boot.class.path=/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/resources.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jsse.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jce.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/charsets.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jfr.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/classes, java.vendor=Oracle Corporation, file.separator=/, java.vendor.url.bug=http://bugreport.sun.com/bugreport/, sun.io.unicode.encoding=UnicodeLittle, sun.cpu.endian=little, sun.desktop=gnome, sun.cpu.isalist=} diff --git a/src/main/java/il/org/spartan/athenizer/inflate/expanders/ExtractExpressionFromReturn.java b/src/main/java/il/org/spartan/athenizer/inflate/expanders/ExtractExpressionFromReturn.java index 0c76965f11..4f237f0ac4 100644 --- a/src/main/java/il/org/spartan/athenizer/inflate/expanders/ExtractExpressionFromReturn.java +++ b/src/main/java/il/org/spartan/athenizer/inflate/expanders/ExtractExpressionFromReturn.java @@ -18,9 +18,7 @@ public class ExtractExpressionFromReturn extends CarefulTipper } @Override public Tip tip(final ReturnStatement s) { - if (expression(s) == null || !iz.assignment(expression(s))) - return null; - return new Tip(description(s), s, this.getClass()) { + return expression(s) == null || !iz.assignment(expression(s)) ? null : new Tip(description(s), s, this.getClass()) { @Override public void go(final ASTRewrite r, final TextEditGroup g) { Assignment a = az.assignment(expression(s)); final AST create = r.getAST(); diff --git a/src/main/java/il/org/spartan/athenizer/inflate/expanders/ForBlockExpander.java b/src/main/java/il/org/spartan/athenizer/inflate/expanders/ForBlockExpander.java index 90493974b4..ffba74fac6 100644 --- a/src/main/java/il/org/spartan/athenizer/inflate/expanders/ForBlockExpander.java +++ b/src/main/java/il/org/spartan/athenizer/inflate/expanders/ForBlockExpander.java @@ -19,14 +19,13 @@ public class ForBlockExpander extends ReplaceCurrentNode implement final Block b = $.getAST().newBlock(); b.statements().add(duplicate.of(s.getBody())); final List cc = new ArrayList<>(); - s.getBody().accept(new ASTVisitor() { @SuppressWarnings("boxing") - @Override public boolean visit(@SuppressWarnings("unused") Block node) { + s.getBody().accept(new ASTVisitor() { @Override + @SuppressWarnings("boxing") public boolean visit(@SuppressWarnings("unused") Block node) { cc.add(true); return true; }}); - if(!cc.isEmpty()) { + if(!cc.isEmpty()) return null; - } $.setBody(b); return $; } diff --git a/src/main/java/il/org/spartan/athenizer/inflate/expanders/OutlineArrayAccess.java b/src/main/java/il/org/spartan/athenizer/inflate/expanders/OutlineArrayAccess.java index b9d50cb866..e5c6a9a035 100644 --- a/src/main/java/il/org/spartan/athenizer/inflate/expanders/OutlineArrayAccess.java +++ b/src/main/java/il/org/spartan/athenizer/inflate/expanders/OutlineArrayAccess.java @@ -53,18 +53,18 @@ public class OutlineArrayAccess extends CarefulTipper implements Ti } }; } - - /**[[SuppressWarningsSpartan]]*/ + @Override protected boolean prerequisite(final ArrayAccess a) { final Expression e = a.getIndex(); - SimpleName $; - final ASTNode b = extract.containingStatement(a); + final Statement b = extract.containingStatement(a); if (!iz.block(b.getParent()) || !iz.expressionStatement(b) || !iz.incrementOrDecrement(e) || iz.assignment(e)) return false; - $ = iz.prefixExpression(e) ? az.simpleName(az.prefixExpression(e)) : az.simpleName(az.postfixExpression(e)); + /** [[SuppressWarningsSpartan]] */ + SimpleName $ = iz.prefixExpression(e) ? az.simpleName(az.prefixExpression(e)) : az.simpleName(az.postfixExpression(e)); if ($ == null) return false; final Expression s = expression(az.expressionStatement(b)); - return iz.assignment(s) && left(az.assignment(s)).equals(a) && iz.plainAssignment(az.assignment(s)) && !iz.containsName($, right(az.assignment(s))); + return iz.assignment(s) && left(az.assignment(s)).equals(a) && iz.plainAssignment(az.assignment(s)) + && !iz.containsName($, right(az.assignment(s))); } } \ No newline at end of file diff --git a/src/main/java/il/org/spartan/athenizer/inflate/expanders/WhileBlockExpander.java b/src/main/java/il/org/spartan/athenizer/inflate/expanders/WhileBlockExpander.java index a03de0a83e..455da6b7cf 100644 --- a/src/main/java/il/org/spartan/athenizer/inflate/expanders/WhileBlockExpander.java +++ b/src/main/java/il/org/spartan/athenizer/inflate/expanders/WhileBlockExpander.java @@ -19,14 +19,13 @@ public class WhileBlockExpander extends ReplaceCurrentNode imple final Block b = $.getAST().newBlock(); b.statements().add(duplicate.of(s.getBody())); final List cc = new ArrayList<>(); - s.getBody().accept(new ASTVisitor() { @SuppressWarnings("boxing") - @Override public boolean visit(@SuppressWarnings("unused") Block node) { + s.getBody().accept(new ASTVisitor() { @Override + @SuppressWarnings("boxing") public boolean visit(@SuppressWarnings("unused") Block node) { cc.add(true); return true; }}); - if(!cc.isEmpty()) { + if(!cc.isEmpty()) return null; - } $.setBody(b); return $; } diff --git a/src/main/java/il/org/spartan/spartanizer/ast/safety/iz.java b/src/main/java/il/org/spartan/spartanizer/ast/safety/iz.java index f2d3146218..d1e9cc577c 100644 --- a/src/main/java/il/org/spartan/spartanizer/ast/safety/iz.java +++ b/src/main/java/il/org/spartan/spartanizer/ast/safety/iz.java @@ -222,11 +222,10 @@ static boolean comparison(final Operator ¢) { static boolean compilationUnit(final ASTNode ¢) { return iz.nodeTypeEquals(¢, COMPILATION_UNIT); } - - /**@param n ASTNode that contains the identifier + + /** @param n ASTNode that contains the identifier * @param x Expression to search the identifier in it - * @return true if x contains the identifier of n - */ + * @return true if x contains the identifier of n */ static boolean containsName(final SimpleName n, final Expression x) { return !searchDescendants.forClass(SimpleName.class).suchThat(t -> step.identifier(t).equals(step.identifier(n))).inclusiveFrom(x).isEmpty(); } diff --git a/src/main/java/il/org/spartan/spartanizer/cmdline/Record.java b/src/main/java/il/org/spartan/spartanizer/cmdline/Record.java index 36b85e8e87..4153053146 100644 --- a/src/main/java/il/org/spartan/spartanizer/cmdline/Record.java +++ b/src/main/java/il/org/spartan/spartanizer/cmdline/Record.java @@ -85,7 +85,7 @@ public final Self put(final String key, final char value) { } /** Add a key and a double value to this instance - * @param key The key to be added; must not be null + * @param key The key to be added; must not be null * @param value The value associated with the key * @return this */ public Self put(final String key, final double value) { @@ -93,9 +93,9 @@ public Self put(final String key, final double value) { } /** Add a key and a double value to this instance - * - * @param key - * The key to be added; must not be null + * + * @param key + * The key to be added; must not be null * @param value The value associated with the key * @param ss Which (if any) aggregate statistics should be produced for this * column @@ -106,9 +106,9 @@ public Self put(final String key, final double value, final FormatSpecifier... s } /** Add a key and a double value to this instance - * - * @param key - * The key to be added; must not be null + * + * @param key + * The key to be added; must not be null * @param value The value associated with the key * @param format How should the value be formatted * @param ss Which (if any) aggregate statistics should be produced for this diff --git a/src/main/java/il/org/spartan/spartanizer/cmdline/TableCoverage.java b/src/main/java/il/org/spartan/spartanizer/cmdline/TableCoverage.java index 7627984b0d..c916efac2a 100644 --- a/src/main/java/il/org/spartan/spartanizer/cmdline/TableCoverage.java +++ b/src/main/java/il/org/spartan/spartanizer/cmdline/TableCoverage.java @@ -42,8 +42,7 @@ public static void main(final String[] args) final MethodRecord m = new MethodRecord(¢); scope.push(m); statementsCoverageStatistics.get(key).add(m); - final MethodDeclaration after = findFirst.methodDeclaration(wizard.ast(Wrap.Method.off(spartanalyzer.fixedPoint(Wrap.Method.on(¢ + ""))))); - m.after = after; + m.after = findFirst.methodDeclaration(wizard.ast(Wrap.Method.off(spartanalyzer.fixedPoint(Wrap.Method.on(¢ + ""))))); } catch (final AssertionError __) { ___.unused(__); } @@ -96,13 +95,14 @@ private static String outputFileName() { int totalStatementsCovered = 0; coverageWriter.put("Project", path); for (int i = 0; i < MAX_STATEMENTS_REPORTED; ++i) - if (statementsCoverageStatistics.containsKey(i)) { + if (!statementsCoverageStatistics.containsKey(i)) + coverageWriter.put(i + "", "-"); + else { List rs = statementsCoverageStatistics.get(i); totalStatements += i * rs.size(); totalStatementsCovered += totalStatementsCovered(rs); coverageWriter.put(i + "", format.decimal(100 * avgCoverage(rs))); - } else - coverageWriter.put(i + "", "-"); + } coverageWriter.put("total Statements covergae %", safe.div(totalStatementsCovered, totalStatements)); coverageWriter.nl(); } diff --git a/src/main/java/il/org/spartan/spartanizer/cmdline/TableTouched.java b/src/main/java/il/org/spartan/spartanizer/cmdline/TableTouched.java index 017c77683b..ddf03e6d22 100644 --- a/src/main/java/il/org/spartan/spartanizer/cmdline/TableTouched.java +++ b/src/main/java/il/org/spartan/spartanizer/cmdline/TableTouched.java @@ -40,19 +40,20 @@ private static String outputFileName() { int totalMethodsTouched = 0; touchedWriter.put("Project", path); for (int i = 1; i < MAX_STATEMENTS_REPORTED; ++i) - if (statementsCoverageStatistics.containsKey(i)) { + if (!statementsCoverageStatistics.containsKey(i)) + touchedWriter.put(i + "", "-"); + else { List rs = statementsCoverageStatistics.get(i); totalMethods += rs.size(); totalMethodsTouched += totalMethodsTouched(rs); touchedWriter.put(i + "", format.decimal(100 * fractionOfMethodsTouched(rs))); - } else - touchedWriter.put(i + "", "-"); + } touchedWriter.put("% of methods touched", safe.div(totalMethodsTouched, totalMethods)); touchedWriter.nl(); } - private static double fractionOfMethodsTouched(final List rs) { - return safe.div(totalMethodsTouched(rs), rs.size()); + private static double fractionOfMethodsTouched(final List ¢) { + return safe.div(totalMethodsTouched(¢), ¢.size()); } private static double totalMethodsTouched(final List rs) { diff --git a/src/test/java/il/org/spartan/spartanizer/engine/ENVTestEngineAbstract.java b/src/test/java/il/org/spartan/spartanizer/engine/ENVTestEngineAbstract.java index bd8a3865fe..8b0f8c4fc7 100644 --- a/src/test/java/il/org/spartan/spartanizer/engine/ENVTestEngineAbstract.java +++ b/src/test/java/il/org/spartan/spartanizer/engine/ENVTestEngineAbstract.java @@ -98,7 +98,7 @@ public static ASTNode getCompilationUnit(final String from) { assert rOOT != null; final File f = new File(rOOT + from); assert f != null; - assert f.exists(): f; + assert f.exists() : f; final ASTNode $ = makeAST.COMPILATION_UNIT.from(f); assert $ != null; return $;