Merge remote-tracking branch 'aosp/ub-jack' into optim-dev
diff --git a/build.xml b/build.xml
index cabafa8..b798d0d 100644
--- a/build.xml
+++ b/build.xml
@@ -36,8 +36,7 @@
schedtests-lib,
jill,
jill-api,
- jack-jar-tools,
- jack-jacoco-reporter"/>
+ jack-jar-tools"/>
<target name="clean" depends="jack-clean,
jack-api-lib-clean,
@@ -79,10 +78,7 @@
jill-api-lib-clean,
jill-api-src-clean,
jack-jar-tools-clean,
- jack-jacoco-reporter-clean,
- jacoco-clean,
asm4-clean,
- gson-clean,
dist-clean" />
<dirname property="jack-project.dir" file="${ant.file.jack}"/>
@@ -112,13 +108,10 @@
<property name="dx-ref.dir" value="${jack-project.dir}/dx-ref"/>
<property name="core-stubs-mini.dir" value="${jack-project.dir}/core-stubs-mini"/>
<property name="jack-jar-tools.dir" value="${jack-project.dir}/jack-jar-tools"/>
- <property name="jack-jacoco-reporter.dir" value="${jack-project.dir}/jack-jacoco-reporter"/>
- <property name="jacoco.dir" value="${jack-project.dir}/jacoco"/>
<property name="jill.dir" value="${jack-project.dir}/jill" />
<property name="jill-api.dir" value="${jack-project.dir}/jill-api" />
<property name="asm4.dir" value="${jack-project.dir}/asm4" />
- <property name="gson.dir" value="${jack-project.dir}/gson"/>
<taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask"
classpath="${jack-project.dir}/jarjar/jarjar.jar"/>
@@ -380,7 +373,6 @@
description="package a tools distribution"
depends="dist-check-version-files,
jack-jar-tools,
- jack-jacoco-reporter,
generate-eng-signature">
<mkdir dir="${jack-top-dist.dir}"/>
@@ -403,10 +395,6 @@
basedir="${tools-sign.tmp}"
includes="jack-jar-tools-version.properties"/>
- <jar destfile="${jack-top-dist.dir}/${jack-jacoco-reporter.name}" filesetmanifest="merge">
- <zipfileset src="${jack-jacoco-reporter.dist.dir}/${jack-jacoco-reporter.name}"/>
- </jar>
-
<delete dir="${tools-sign.tmp}"/>
</target>
@@ -544,7 +532,7 @@
</dependset>
<javac encoding="UTF-8" srcdir="${jack.dir}/src"
destdir="${jack.build.outdir}"
- source="1.7" target="1.7"
+ source="1.8" target="1.8"
debug="true" includeantruntime="false" includeDestClasses="false">
<classpath>
<filelist refid="jack.link.libs.fileset" />
@@ -678,7 +666,7 @@
</targets>
</dependset>
<javac encoding="UTF-8" srcdir="${jack-api.dir}/src" destdir="${jack-api.lib.build.outdir}"
- source="1.6" target="1.6" debug="true"
+ source="1.8" target="1.8" debug="true"
includeantruntime="false" includeDestClasses="false" nowarn="true">
<classpath>
<filelist dir="/" files="${jsr305.dist.dir}/${jsr305.libname}" />
@@ -753,7 +741,7 @@
<javac encoding="UTF-8" srcdir="${jack-tests.dir}/src"
includes="com/android/jack/annotations/**/*.java"
destdir="${jack-test-annotations.build.outdir}"
- source="1.6" target="1.6" debug="true"
+ source="1.8" target="1.8" debug="true"
includeantruntime="false" includeDestClasses="false" nowarn="true" />
<copy file="${jack-project.dir}/version.properties"
@@ -809,7 +797,7 @@
<javac encoding="UTF-8" srcdir="${jack.dir}/src"
includes="com/android/jack/annotations/**/*.java"
destdir="${jack-annotations.build.outdir}"
- source="1.6" target="1.6" debug="true"
+ source="1.8" target="1.8" debug="true"
includeantruntime="false" includeDestClasses="false" nowarn="true" />
<copy file="${jack-project.dir}/version.properties"
@@ -873,7 +861,7 @@
<copy file="${sched-build.dist.dir}/${sched-build.execname}" todir="${jackunittests.tools.dir}" />
<!-- compile -->
<javac encoding="UTF-8" srcdir="${jack.dir}/tests" destdir="${jackunittests.build.outdir}"
- source="1.7" target="1.7" debug="true"
+ source="1.8" target="1.8" debug="true"
includeantruntime="false" includeDestClasses="false" nowarn="true">
<classpath>
<filelist refid="jackunittests.link.libs.fileset"/>
@@ -983,12 +971,12 @@
<javac
encoding="UTF-8"
destdir="${jack-tests.build.outdir}"
- source="1.7" target="1.7"
+ source="1.8" target="1.8"
debug="true" includeantruntime="false" nowarn="true">
<src path="${jack-tests.dir}/src"/>
<src path="${jack-tests.dir}/tests"/>
- <exclude name="com/android/jack/annotation/processor/sample2/src/**"/>
- <exclude name="com/android/jack/annotation/test019/jack/**"/>
+ <exclude name="com/android/jack/annotation/processor/sample2/src/"/>
+ <exclude name="com/android/jack/annotation/processor/sample2/src/"/>
<exclude name="com/android/jack/classpath/test002/lib1override/**"/>
<exclude name="com/android/jack/encoding/tests/**"/>
<exclude name="com/android/jack/enums/test003/link/Other.java"/>
@@ -996,6 +984,9 @@
<exclude name="com/android/jack/error/test001/jack/A.java"/>
<exclude name="com/android/jack/error/test002/jack/A.java"/>
<exclude name="com/android/jack/frontend/test002/jack/PackageName/ClassInConflictingPackage.java"/>
+ <exclude name="com/android/jack/frontend/test005/jack/**"/>
+ <exclude name="com/android/jack/frontend/test006/jack/**"/>
+ <exclude name="com/android/jack/frontend/test007/jackduplicate/"/>
<exclude name="com/android/jack/frontend/test008/jack/NoOuterContext.java"/>
<exclude name="com/android/jack/frontend/test010/jack/UnusedLocalVar.java"/>
<exclude name="com/android/jack/frontend/test013/jack/ExtendingInnerOnly.java"/>
@@ -1004,46 +995,24 @@
<exclude name="com/android/jack/frontend/test016/jack/WithDuplicated.java"/>
<exclude name="com/android/jack/frontend/test017/jack/InvalidQualification.java"/>
<exclude name="com/android/jack/frontend/test019/jack/TooBig.java"/>
- <exclude name="com/android/jack/frontend/generic/test002/jack/**"/>
- <exclude name="com/android/jack/frontend/generic/test003/jack/**"/>
- <exclude name="com/android/jack/nopackage/jack/**"/>
- <exclude name="com/android/jack/multidex/test004/jack/**"/>
- <exclude name="com/android/jack/java8/lambda/**"/>
- <exclude name="com/android/jack/java8/defaultmethod/**"/>
- <exclude name="com/android/jack/java8/staticmethod/**"/>
- <exclude name="com/android/jack/java8/methodref/**"/>
- <exclude name="com/android/jack/java8/inference/**"/>
- <exclude name="com/android/jack/java8/gwt/**"/>
- <exclude name="com/android/jack/java8/retrolambda/**"/>
- <exclude name="com/android/jack/java8/intersectiontype/**"/>
- <exclude name="com/android/jack/java8/annotation/**"/>
- <exclude name="com/android/jack/java8/variable/**"/>
- <exclude name="com/android/jack/java8/bridges/**"/>
- <exclude name="com/android/jack/java8/parameter/**"/>
- <exclude name="com/android/jack/jarjar/test003/dontcompile/**"/>
- <exclude name="com/android/jack/jarjar/test004/dontcompile/**"/>
- <exclude name="com/android/jack/jarjar/test006/dontcompile/**"/>
- <exclude name="com/android/jack/lookup/test001/liboverride/**"/>
- <exclude name="com/android/jack/frontend/test005/jack/**"/>
- <exclude name="com/android/jack/frontend/test006/jack/**"/>
- <exclude name="com/android/jack/frontend/test007/**"/>
+ <exclude name="com/android/jack/jarjar/test003/dontcompile/"/>
+ <exclude name="com/android/jack/jarjar/test006/dontcompile/"/>
+ <exclude name="com/android/jack/jarjar/test006/dontcompile/"/>
+ <exclude name="com/android/jack/java8/gwt/test019/jack/Java8Test.java"/>
+ <exclude name="com/android/jack/java8/intersectiontype/test004/"/>
+ <exclude name="com/android/jack/java8/intersectiontype/test005/"/>
+ <exclude name="com/android/jack/java8/intersectiontype/test006/"/>
+ <exclude name="com/android/jack/java8/lambda/test019/"/>
+ <exclude name="com/android/jack/java8/methodref/test014/jack/Tests.java"/>
+ <exclude name="com/android/jack/java8/variable/test001/"/>
+ <exclude name="com/android/jack/java8/variable/test003/"/>
<exclude name="com/android/jack/jill/test001/**"/>
<exclude name="com/android/jack/jill/test002/**"/>
<exclude name="com/android/jack/jill/test003/**"/>
<exclude name="com/android/jack/jill/test004/**"/>
- <exclude name="com/android/jack/optimizations/lambdas/test001/**"/>
- <exclude name="com/android/jack/optimizations/lambdas/test002/**"/>
- <exclude name="com/android/jack/optimizations/lambdas/test003/**"/>
- <exclude name="com/android/jack/optimizations/lambdas/test004/**"/>
- <exclude name="com/android/jack/optimizations/lambdas/test005/**"/>
- <exclude name="com/android/jack/optimizations/lambdas/test006/**"/>
- <exclude name="com/android/jack/optimizations/lambdas/test007/**"/>
- <exclude name="com/android/jack/optimizations/lambdas/test008/**"/>
+ <exclude name="com/android/jack/jill/test005/**"/>
+ <exclude name="com/android/jack/lookup/test001/liboverride/"/>
<exclude name="com/android/jack/sourcepath/test002/jack/Sourcepath002.java"/>
- <exclude name="com/android/jack/shrob/test062/jack/**"/>
- <exclude name="com/android/jack/shrob/test066/jack/**"/>
- <exclude name="com/android/jack/shrob/test067/jack/**"/>
- <exclude name="com/android/jack/shrob/test068/jack/**"/>
<classpath>
<filelist dir="/">
<file name="${jill-api.dist.dir}/${jill-api.lib.name}" />
@@ -1155,7 +1124,7 @@
<!-- compile -->
<javac encoding="UTF-8" srcdir="${jill.dir}/src"
destdir="${jill.build.outdir}"
- source="1.7" target="1.7"
+ source="1.8" target="1.8"
debug="true" includeantruntime="false">
<classpath>
<filelist refid="jill.libs.filelist" />
@@ -1247,7 +1216,7 @@
<delete dir="${jill-api.lib.build.outdir}"/>
<mkdir dir="${jill-api.lib.build.outdir}"/>
<javac encoding="UTF-8" srcdir="${jill-api.dir}/src" destdir="${jill-api.lib.build.outdir}"
- source="1.6" target="1.6" debug="true"
+ source="1.8" target="1.8" debug="true"
includeantruntime="false" includeDestClasses="false" nowarn="true">
<classpath>
<filelist dir="/" files="${jsr305.dist.dir}/${jsr305.libname}" />
@@ -1621,7 +1590,7 @@
</targets>
</dependset>
<javac encoding="UTF-8" srcdir="${sched.dir}/src" destdir="${schedlib.build.outdir}"
- source="1.7" target="1.7" debug="true" includeantruntime="false" includeDestClasses="false">
+ source="1.8" target="1.8" debug="true" includeantruntime="false" includeDestClasses="false">
<classpath>
<filelist refid="schedlib.link.libs.fileset"/>
</classpath>
@@ -1674,7 +1643,7 @@
encoding="UTF-8"
srcdir="${sched.dir}/src"
destdir="${sched-build.build.outdir}"
- source="1.6" target="1.6"
+ source="1.8" target="1.8"
debug="true" includeantruntime="false" includeDestClasses="false">
<compilerarg line="-Xlint:-options"/>
<classpath>
@@ -1763,7 +1732,7 @@
<javac encoding="UTF-8"
srcdir="${sched.dir}/tests"
destdir="${schedtests.build.outdir}"
- source="1.7" target="1.7"
+ source="1.8" target="1.8"
debug="true" includeantruntime="false" includeDestClasses="false">
<compilerarg line="-Xlint:-options"/>
<classpath>
@@ -2098,7 +2067,7 @@
<delete dir="${dexcomparator.dist.dir}" />
</target>
- <target name="dexcomparator-compile" depends="jack-lib, dex-lib,jsr305-lib,guava-lib,args4j-lib">
+ <target name="dexcomparator-compile" depends="jack-lib, dex-lib,jsr305-lib,guava-lib,args4j-lib,sched-lib">
<!-- project layout -->
<mkdir dir="${dexcomparator.build.outdir}"/>
<mkdir dir="${dexcomparator.libs.dir}"/>
@@ -2111,6 +2080,7 @@
<file name="${guava.dist.dir}/${guava.libname}" />
<file name="${args4j.dist.dir}/${args4j.libname}" />
<file name="${jack.dist.dir}/${jack.libname}" />
+ <file name="${schedlib.dist.dir}/${schedlib.libname}" />
</filelist>
</copy>
<!-- compile -->
@@ -2129,7 +2099,7 @@
<javac encoding="UTF-8"
srcdir="${dexcomparator.dir}/src"
destdir="${dexcomparator.build.outdir}"
- source="1.6" target="1.6"
+ source="1.8" target="1.8"
debug="true" includeantruntime="false" includeDestClasses="false">
<compilerarg line="-Xlint:-options"/>
<classpath>
@@ -2253,59 +2223,6 @@
</target>
<!-- ******************* -->
- <!-- gson -->
- <!-- ******************* -->
- <property name="gson.build.dir" value="${gson.dir}/build" />
- <property name="gson.build.outdir" value="${gson.build.dir}/classes" />
- <property name="gson.dist.dir" value="${gson.dir}/dist" />
- <property name="gson.libname" value="gson.jar"/>
-
- <target name="gson-clean">
- <delete dir="${gson.build.dir}" />
- <delete dir="${gson.dist.dir}" />
- </target>
-
- <target name="gson-lib">
- <!-- project layout -->
- <mkdir dir="${gson.build.outdir}"/>
- <mkdir dir="${gson.dist.dir}"/>
- <!-- compile -->
- <dependset>
- <sources>
- <fileset dir="${gson.dir}/gson/src/main/java" />
- </sources>
- <targets>
- <fileset file="${gson.dist.dir}/${gson.libname}"/>
- </targets>
- </dependset>
- <javac encoding="UTF-8" srcdir="${gson.dir}/gson/src/main/java"
- destdir="${gson.build.outdir}"
- source="1.5" target="1.5"
- debug="true" includeantruntime="false"/>
- <!-- package -->
- <jar destfile="${gson.dist.dir}/${gson.libname}"
- basedir="${gson.build.outdir}"
- includes="**"/>
- </target>
-
- <!-- ******************* -->
- <!-- jacoco -->
- <!-- ******************* -->
- <property name="jacoco.dist.dir" value="${jacoco.dir}/dist" />
- <property name="jacoco.core.libname" value="org.jacoco.core.jar"/>
- <property name="jacoco.report.libname" value="org.jacoco.report.jar"/>
-
- <target name="jacoco-clean">
- <delete dir="${jacoco.dist.dir}"/>
- </target>
-
- <target name="jacoco-libs">
- <mkdir dir="${jacoco.dist.dir}"/>
- <copy file="${jacoco.dir}/org.jacoco.core-0.7.5.201505241946.jar" tofile="${jacoco.dist.dir}/${jacoco.core.libname}"/>
- <copy file="${jacoco.dir}/org.jacoco.report-0.7.5.201505241946.jar" tofile="${jacoco.dist.dir}/${jacoco.report.libname}"/>
- </target>
-
- <!-- ******************* -->
<!-- jack-default-lib -->
<!-- ******************* -->
<property name="jack-default-lib.build.jack" value="${jack.dir}/build/default-lib.jack"/>
@@ -2717,7 +2634,7 @@
<delete dir="${jack-jar-tools.build.outdir}"/>
<mkdir dir="${jack-jar-tools.build.outdir}"/>
<javac encoding="UTF-8" srcdir="${jack-jar-tools.dir}/src" destdir="${jack-jar-tools.build.outdir}"
- source="1.6" target="1.6" debug="true"
+ source="1.8" target="1.8" debug="true"
includeantruntime="false" includeDestClasses="false" nowarn="true">
<classpath>
<filelist refid="jack-jar-tools.static.libs.fileset"/>
@@ -2735,81 +2652,6 @@
<!-- ************************* -->
- <!-- jack-jacoco-reporter -->
- <!-- ************************* -->
- <property name="jack-jacoco-reporter.build.dir" value="${jack-jacoco-reporter.dir}/build" />
- <property name="jack-jacoco-reporter.dist.dir" value="${jack-jacoco-reporter.dir}/dist" />
- <property name="jack-jacoco-reporter.libs.dir" value="${jack-jacoco-reporter.dir}/libs" />
- <property name="jack-jacoco-reporter.build.outdir" value="${jack-jacoco-reporter.build.dir}/classes" />
- <property name="jack-jacoco-reporter.name" value="jack-jacoco-reporter.jar" />
-
- <target name="jack-jacoco-reporter-clean">
- <delete dir="${jack-jacoco-reporter.build.dir}" />
- <delete dir="${jack-jacoco-reporter.dist.dir}" />
- <delete dir="${jack-jacoco-reporter.libs.dir}" />
- </target>
-
- <target name="jack-jacoco-reporter-copy-libs"
- depends="jsr305-lib,args4j-lib,asm4-lib,gson-lib,junit4,jacoco-libs">
- <copy todir="${jack-jacoco-reporter.libs.dir}" flatten="true">
- <filelist dir="/" >
- <file name="${jsr305.dist.dir}/${jsr305.libname}"/>
- <file name="${schedlib.dist.dir}/${schedlib.libname}" />
- <file name="${args4j.dist.dir}/${args4j.libname}"/>
- <file name="${asm4.dist.dir}/${asm4.libname}"/>
- <file name="${gson.dist.dir}/${gson.libname}"/>
- <file name="${jacoco.dist.dir}/${jacoco.core.libname}"/>
- <file name="${jacoco.dist.dir}/${jacoco.report.libname}"/>
- <file name="${junit4.dist.dir}/${junit4.execname}"/>
- </filelist>
- </copy>
- </target>
-
- <target name="jack-jacoco-reporter-check">
- <union id="jack-jacoco-reporter.uptodate.files">
- <fileset dir="${jack-jacoco-reporter.dir}/src" />
- <fileset dir="${jack-jacoco-reporter.dir}/etc" />
- <filelist id="jack-jacoco-reporter.static.libs.fileset" dir="/">
- <file name="${jack-jacoco-reporter.libs.dir}/${jsr305.libname}"/>
- <file name="${jack-jacoco-reporter.libs.dir}/${schedlib.libname}"/>
- <file name="${jack-jacoco-reporter.libs.dir}/${args4j.libname}"/>
- <file name="${jack-jacoco-reporter.libs.dir}/${asm4.libname}"/>
- <file name="${jack-jacoco-reporter.libs.dir}/${gson.libname}"/>
- <file name="${jack-jacoco-reporter.libs.dir}/${jacoco.core.libname}"/>
- <file name="${jack-jacoco-reporter.libs.dir}/${jacoco.report.libname}"/>
- </filelist>
- </union>
-
- <uptodate property="jack-jacoco-reporter.uptodate"
- targetfile="${jack-jacoco-reporter.dist.dir}/${jack-jacoco-reporter.name}">
- <srcresources refid="jack-jacoco-reporter.uptodate.files" />
- </uptodate>
- </target>
-
- <target name="jack-jacoco-reporter"
- depends="jack-jacoco-reporter-copy-libs,jack-jacoco-reporter-check"
- unless="${jack-jacoco-reporter.uptodate}">
- <delete dir="${jack-jacoco-reporter.build.outdir}"/>
- <mkdir dir="${jack-jacoco-reporter.build.outdir}"/>
- <javac encoding="UTF-8" srcdir="${jack-jacoco-reporter.dir}/src" destdir="${jack-jacoco-reporter.build.outdir}"
- source="1.6" target="1.6" debug="true"
- includeantruntime="false" includeDestClasses="false" nowarn="true">
- <classpath>
- <filelist refid="jack-jacoco-reporter.static.libs.fileset"/>
- </classpath>
- </javac>
- <unzip dest="${jack-jacoco-reporter.build.outdir}">
- <filelist refid="jack-jacoco-reporter.static.libs.fileset"/>
- </unzip>
- <copy file="${jack-project.dir}/version.properties"
- tofile="${jack-jacoco-reporter.build.outdir}/jack-jacoco-reporter-version.properties"/>
- <jar destfile="${jack-jacoco-reporter.dist.dir}/${jack-jacoco-reporter.name}" manifest="${jack-jacoco-reporter.dir}/etc/manifest.txt">
- <fileset dir="${jack-jacoco-reporter.build.outdir}"/>
- </jar>
- </target>
-
-
- <!-- ************************* -->
<!-- Checkstyle -->
<!-- ************************* -->
<property name="ivy.install.version" value="2.4.0" />
diff --git a/dexcomparator/.classpath b/dexcomparator/.classpath
index 645477c..ec1f6a8 100644
--- a/dexcomparator/.classpath
+++ b/dexcomparator/.classpath
@@ -2,7 +2,7 @@
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="testing"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="src" path=".apt_generated">
<attributes>
<attribute name="optional" value="true"/>
@@ -14,5 +14,6 @@
<classpathentry kind="lib" path="libs/args4j-lib.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry combineaccessrules="false" kind="src" path="/Jack"/>
+ <classpathentry kind="src" path="/Scheduler"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/dexcomparator/.settings/org.eclipse.jdt.core.prefs b/dexcomparator/.settings/org.eclipse.jdt.core.prefs
index 88b949f..0a5bb1e 100644
--- a/dexcomparator/.settings/org.eclipse.jdt.core.prefs
+++ b/dexcomparator/.settings/org.eclipse.jdt.core.prefs
@@ -6,9 +6,9 @@
org.eclipse.jdt.core.compiler.annotation.nullable=javax.annotation.CheckForNull
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -96,7 +96,7 @@
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.source=1.8
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field=1585
org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field.count_dependent=1585|-1|1585
diff --git a/dexcomparator/Android.mk b/dexcomparator/Android.mk
index e78edb0..f0b81c4 100644
--- a/dexcomparator/Android.mk
+++ b/dexcomparator/Android.mk
@@ -13,6 +13,7 @@
LOCAL_JAVA_LIBRARIES := \
jack \
+ schedlib \
dexlib-jack \
jsr305lib-jack \
args4j-jack
@@ -30,6 +31,7 @@
LOCAL_STATIC_JAVA_LIBRARIES := \
jack \
+ schedlib \
dexlib-jack \
jsr305lib-jack \
args4j-jack
diff --git a/dexcomparator/build.gradle b/dexcomparator/build.gradle
index ac363e6..03bd43b 100644
--- a/dexcomparator/build.gradle
+++ b/dexcomparator/build.gradle
@@ -16,8 +16,8 @@
apply plugin: 'java'
-sourceCompatibility = 1.6
-targetCompatibility = 1.6
+sourceCompatibility = 1.8
+targetCompatibility = 1.8
apply from: "$rootDir/gradle-script/checkstyle.gradle"
apply from: "$rootDir/gradle-script/findbugs.gradle"
@@ -34,6 +34,7 @@
compile project(':args4j')
compile project(':dexlib')
compile project(':jack')
+ compile project(':sched')
compileOnly libs.jsr305
compile libs.guava
}
diff --git a/dexcomparator/src/com/android/jack/comparator/DexComparator.java b/dexcomparator/src/com/android/jack/comparator/DexComparator.java
index 395e0df..e152d8f 100644
--- a/dexcomparator/src/com/android/jack/comparator/DexComparator.java
+++ b/dexcomparator/src/com/android/jack/comparator/DexComparator.java
@@ -29,6 +29,8 @@
import com.android.jack.dx.rop.code.AccessFlags;
import com.android.jack.dx.rop.type.Prototype;
import com.android.jack.dx.util.ByteInput;
+import com.android.sched.util.file.CannotCloseException;
+import com.android.sched.util.file.CannotReadException;
import org.kohsuke.args4j.CmdLineException;
import org.kohsuke.args4j.CmdLineParser;
@@ -137,8 +139,8 @@
enableDebugInfoComparison = compareDebugInfo;
}
- public void compare(@Nonnull File referenceFile, @Nonnull File candidateFile) throws IOException,
- DifferenceFoundException {
+ public void compare(@Nonnull File referenceFile, @Nonnull File candidateFile)
+ throws DifferenceFoundException, CannotReadException, CannotCloseException {
if (enableBinaryDebugInfoComparison && !enableDebugInfoComparison) {
throw new IllegalArgumentException(
@@ -1052,6 +1054,12 @@
} catch (IOException e) {
System.err.println(e.getMessage());
System.exit(PROBLEM);
+ } catch (CannotReadException e) {
+ System.err.println(e.getMessage());
+ System.exit(PROBLEM);
+ } catch (CannotCloseException e) {
+ System.err.println(e.getMessage());
+ System.exit(PROBLEM);
} catch (DifferenceFoundException e) {
System.err.println(e.getMessage());
System.exit(DIFFERENCE);
diff --git a/dexcomparator/testing/com/android/jack/dexcomparator/test/BinaryCodeComparisonTest.java b/dexcomparator/testing/com/android/jack/dexcomparator/test/BinaryCodeComparisonTest.java
index 7c8c40f..e64636c 100644
--- a/dexcomparator/testing/com/android/jack/dexcomparator/test/BinaryCodeComparisonTest.java
+++ b/dexcomparator/testing/com/android/jack/dexcomparator/test/BinaryCodeComparisonTest.java
@@ -18,6 +18,8 @@
import com.android.jack.comparator.DexComparator;
import com.android.jack.comparator.DifferenceFoundException;
+import com.android.sched.util.file.CannotCloseException;
+import com.android.sched.util.file.CannotReadException;
import org.junit.Assert;
import org.junit.Test;
@@ -36,7 +38,8 @@
private static final File testSource2 = new File("testsource2");
@Test
- public void testDifferentBinaryCodeComparison() throws IOException {
+ public void testDifferentBinaryCodeComparison()
+ throws IOException, CannotReadException, CannotCloseException {
String sourcePath = "com/android/jack/dexcomparator/test/A.java";
File a1 = new File(testSource1, sourcePath);
File a2 = new File(testSource2, sourcePath);
@@ -61,7 +64,8 @@
}
@Test
- public void testIdenticalBinaryCodeComparison() throws IOException {
+ public void testIdenticalBinaryCodeComparison()
+ throws IOException, CannotReadException, CannotCloseException {
String sourcePath = "com/android/jack/dexcomparator/test/A.java";
File a1 = new File(testSource1, sourcePath);
File dex1 = File.createTempFile("dex1", ".dex");
diff --git a/jack-api/.classpath b/jack-api/.classpath
index d320d31..4c675c8 100644
--- a/jack-api/.classpath
+++ b/jack-api/.classpath
@@ -2,7 +2,7 @@
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="example"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="src" path=".apt_generated">
<attributes>
<attribute name="optional" value="true"/>
diff --git a/jack-api/.settings/org.eclipse.jdt.core.prefs b/jack-api/.settings/org.eclipse.jdt.core.prefs
index dc66277..73739d4 100644
--- a/jack-api/.settings/org.eclipse.jdt.core.prefs
+++ b/jack-api/.settings/org.eclipse.jdt.core.prefs
@@ -7,9 +7,9 @@
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -113,7 +113,7 @@
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.processAnnotations=enabled
-org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.source=1.8
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field=1585
org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field.count_dependent=1585|-1|1585
diff --git a/jack-api/build.gradle b/jack-api/build.gradle
index 5ae349b..77386d5 100644
--- a/jack-api/build.gradle
+++ b/jack-api/build.gradle
@@ -17,8 +17,8 @@
apply plugin: 'java'
apply plugin: 'com.github.johnrengelman.shadow'
-sourceCompatibility = 1.6
-targetCompatibility = 1.6
+sourceCompatibility = 1.8
+targetCompatibility = 1.8
apply from: "$rootDir/gradle-script/checkstyle.gradle"
apply from: "$rootDir/gradle-script/findbugs.gradle"
diff --git a/jack-coverage/Android.mk b/jack-coverage/Android.mk
index b23622d..b798d87 100644
--- a/jack-coverage/Android.mk
+++ b/jack-coverage/Android.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2016 The Android Open Source Project
+# Copyright (C) 2017 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -12,24 +12,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-LOCAL_PATH:= $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := jack-coverage-plugin
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_JAVA_RESOURCE_DIRS := rsc
-LOCAL_JAVACFLAGS := -processor com.android.sched.build.SchedAnnotationProcessor
-LOCAL_JAVA_LANGUAGE_VERSION := 1.7
-
-LOCAL_JAVA_LIBRARIES := \
- jsr305lib-jack \
- schedlib \
- jack \
- sched-build
-
-include $(BUILD_HOST_JAVA_LIBRARY)
+include $(call all-subdir-makefiles)
diff --git a/jack-coverage/build.xml b/jack-coverage/build.xml
index f23e7e6..27e9134 100644
--- a/jack-coverage/build.xml
+++ b/jack-coverage/build.xml
@@ -18,49 +18,65 @@
<project name="jack-coverage" default="all">
<dirname property="jack-coverage-project.dir" file="${ant.file.jack-coverage}" />
- <property name="jack-coverage-libs.dir" value="${jack-coverage-project.dir}/libs" />
- <property name="jack-coverage-tools.dir" value="${jack-coverage-project.dir}/tools" />
- <property name="jack-coverage-rsc.dir" value="${jack-coverage-project.dir}/rsc" />
- <property name="jack-coverage-build.dir" value="${jack-coverage-project.dir}/build" />
- <property name="jack-coverage-build-classes.dir" value="${jack-coverage-build.dir}/classes" />
- <property name="jack-coverage-build-test-classes.dir"
- value="${jack-coverage-build.dir}/testClasses" />
<property name="jack-coverage-dist.dir" value="${jack-coverage-project.dir}/dist" />
+ <property name="jack-coverage-rsc.dir" value="${jack-coverage-project.dir}/rsc" />
<property name="jack-coverage-doc.dir" value="${jack-coverage-dist.dir}/doc" />
- <property name="jack-coverage.execname" value="jack-coverage-plugin.jar" />
- <property name="jack-coverage-tests.execname" value="jack-coverage-tests.jar" />
- <property name="jack-coverage-tests.output.dir" value="${jack-coverage-project.dir}/testResults" />
+ <property name="jack-coverage-tests.output.dir"
+ value="${jack-coverage-project.dir}/testResults" />
<property name="jack-coverage-tests.dump.dir" value="${jack-coverage-dist.dir}/dump" />
<property name="jack-coverage-tests.suite.name"
value="com.android.jack.coverage.AllCoverageTests" />
<target name="all"
description="Build plugin and tests"
- depends="jack-coverage-plugin,jack-coverage-tests" />
+ depends="jack-coverage-plugin,jack-coverage-tests,jack-jacoco-reporter" />
- <target name="clean" description="deletes files produced by all targets">
- <delete dir="${jack-coverage-build.dir}" />
+ <target name="clean"
+ description="deletes files produced by all targets"
+ depends="plugin-clean,reporter-clean,gson-clean">
<delete dir="${jack-coverage-dist.dir}" />
- <delete dir="${jack-coverage-libs.dir}" />
- <delete dir="${jack-coverage-tools.dir}" />
<delete dir="${jack-coverage-tests.output.dir}" />
</target>
+ <!-- *************** -->
+ <!-- Coverage plugin -->
+ <!-- *************** -->
+ <property name="plugin.dir" value="${jack-coverage-project.dir}/plugin"/>
+ <property name="plugin.libs.dir" value="${plugin.dir}/libs" />
+ <property name="plugin.tools.dir" value="${plugin.dir}/tools" />
+ <property name="plugin.rsc.dir" value="${plugin.dir}/rsc" />
+ <property name="plugin.build.dir" value="${plugin.dir}/build" />
+ <property name="plugin.build.src.classes.dir" value="${plugin.build.dir}/classes" />
+ <property name="plugin.build.test.classes.dir" value="${plugin.build.dir}/testClasses" />
+ <property name="plugin.execname" value="jack-coverage-plugin.jar" />
+ <property name="plugin.tests.execname" value="jack-coverage-tests.jar" />
+
+ <target name="plugin-clean" description="deletes files produced by all targets">
+ <delete dir="${plugin.build.dir}" />
+ <delete dir="${plugin.libs.dir}" />
+ <delete dir="${plugin.tools.dir}" />
+ </target>
+
<target name="copy-jack-libs-and-tools"
- description="update the project libraries (must be used at least once to install them)">
- <mkdir dir="${jack-coverage-libs.dir}" />
- <mkdir dir="${jack-coverage-tools.dir}" />
+ description="update the project libraries (must be used at least once to install them)"
+ depends="gson-lib">
+ <mkdir dir="${plugin.libs.dir}" />
+ <mkdir dir="${plugin.tools.dir}" />
<!-- Copy required libraries -->
- <copy file="../jack/dist/jack-lib.jar" todir="${jack-coverage-libs.dir}" />
- <copy file="../jack-tests/dist/jack-tests.jar" todir="${jack-coverage-libs.dir}" />
- <copy file="../gson/dist/gson.jar" todir="${jack-coverage-libs.dir}" />
- <copy file="../sched/dist/sched-lib.jar" todir="${jack-coverage-libs.dir}" />
- <copy file="../junit4/dist/junit4.jar" todir="${jack-coverage-libs.dir}" />
- <copy file="../jsr305/dist/jsr305-lib.jar" todir="${jack-coverage-libs.dir}" />
+ <copy todir="${plugin.libs.dir}" flatten="true">
+ <filelist dir="${jack-coverage-project.dir}/../" >
+ <file name="jack/dist/jack-lib.jar"/>
+ <file name="jack-tests/dist/jack-tests.jar" />
+ <file name="sched/dist/sched-lib.jar"/>
+ <file name="junit4/dist/junit4.jar"/>
+ <file name="jsr305/dist/jsr305-lib.jar"/>
+ </filelist>
+ </copy>
+ <copy file="${gson.dist.dir}/${gson.libname}" todir="${plugin.libs.dir}" />
<!-- Copy required tools for packaging -->
- <copy file="../sched/dist/sched-build.jar" todir="${jack-coverage-tools.dir}" />
+ <copy file="../sched/dist/sched-build.jar" todir="${plugin.tools.dir}" />
</target>
@@ -68,9 +84,9 @@
description="build Jack code coverage support"
depends="copy-jack-libs-and-tools">
- <mkdir dir="${jack-coverage-build-classes.dir}" />
- <javac srcdir="src"
- destdir="${jack-coverage-build-classes.dir}"
+ <mkdir dir="${plugin.build.src.classes.dir}" />
+ <javac srcdir="${plugin.dir}/src"
+ destdir="${plugin.build.src.classes.dir}"
source="1.7"
target="1.7"
encoding="UTF-8"
@@ -78,24 +94,28 @@
includeantruntime="false"
includeDestClasses="false">
<classpath>
- <filelist dir="${jack-coverage-libs.dir}">
+ <filelist dir="${plugin.libs.dir}">
<file name="jsr305-lib.jar" />
<file name="sched-lib.jar" />
<file name="jack-lib.jar" />
</filelist>
</classpath>
- <compilerarg line="-processorpath ${jack-coverage-tools.dir}/sched-build.jar" />
+ <compilerarg line="-processorpath ${plugin.tools.dir}/sched-build.jar" />
<compilerarg line="-processor com.android.sched.build.SchedAnnotationProcessor" />
</javac>
<!-- copy resource files -->
- <copy todir="${jack-coverage-build-classes.dir}">
- <fileset dir="${jack-coverage-rsc.dir}" />
+ <copy todir="${plugin.build.src.classes.dir}">
+ <fileset dir="${plugin.rsc.dir}" />
</copy>
+ <!-- Copy the version.properties -->
+ <copy file="${jack-coverage-rsc.dir}/jack-coverage-plugin-version.properties"
+ todir="${plugin.build.src.classes.dir}"/>
+
<mkdir dir="${jack-coverage-dist.dir}" />
- <jar basedir="${jack-coverage-build-classes.dir}"
- destfile="${jack-coverage-dist.dir}/${jack-coverage.execname}" />
+ <jar basedir="${plugin.build.src.classes.dir}"
+ destfile="${jack-coverage-dist.dir}/${plugin.execname}" />
</target>
@@ -103,9 +123,9 @@
description="build coverage tests"
depends="jack-coverage-plugin">
- <mkdir dir="${jack-coverage-build-test-classes.dir}" />
- <javac srcdir="tests"
- destdir="${jack-coverage-build-test-classes.dir}"
+ <mkdir dir="${plugin.build.test.classes.dir}" />
+ <javac srcdir="${plugin.dir}/tests"
+ destdir="${plugin.build.test.classes.dir}"
source="1.7"
target="1.7"
encoding="UTF-8"
@@ -114,27 +134,27 @@
includeDestClasses="false">
<exclude name="com/android/jack/coverage/**/test*/**" />
<classpath>
- <filelist dir="${jack-coverage-libs.dir}">
+ <filelist dir="${plugin.libs.dir}">
<file name="jsr305-lib.jar" />
<file name="sched-lib.jar" />
<file name="jack-tests.jar" />
- <file name="gson.jar" />
+ <file name="${gson.libname}" />
</filelist>
- <file name="${jack-coverage-dist.dir}/${jack-coverage.execname}" />
+ <file name="${jack-coverage-dist.dir}/${plugin.execname}" />
</classpath>
</javac>
<!-- Extract jack-tests classes to embed them in the final jar -->
- <unzip dest="${jack-coverage-build-test-classes.dir}">
- <filelist dir="${jack-coverage-libs.dir}">
+ <unzip dest="${plugin.build.test.classes.dir}">
+ <filelist dir="${plugin.libs.dir}">
<file name="jack-tests.jar" />
- <file name="gson.jar" />
+ <file name="${gson.libname}" />
</filelist>
</unzip>
<!-- TODO can we strip out Jack tests to only keep infrastrcture ? -->
- <jar basedir="${jack-coverage-build-test-classes.dir}"
- destfile="${jack-coverage-dist.dir}/${jack-coverage-tests.execname}"
+ <jar basedir="${plugin.build.test.classes.dir}"
+ destfile="${jack-coverage-dist.dir}/${plugin.tests.execname}"
manifest="etc/manifest.txt" />
</target>
@@ -144,7 +164,7 @@
<filelist id="jack.junit.tests.classpath" dir="${jack-coverage-dist.dir}">
- <file name="${jack-coverage-tests.execname}" />
+ <file name="${plugin.tests.execname}" />
</filelist>
<condition property="jack.tests.assertions" value="-da" else="-ea">
@@ -217,14 +237,94 @@
</target>
+ <!-- ***************** -->
+ <!-- Coverage reporter -->
+ <!-- ***************** -->
+ <property name="reporter.dir" value="${jack-coverage-project.dir}/reporter"/>
+ <property name="reporter.build.dir" value="${reporter.dir}/build" />
+ <property name="reporter.libs.dir" value="${reporter.dir}/libs" />
+ <property name="reporter.build.src.classes.dir" value="${reporter.build.dir}/classes" />
+ <property name="reporter.execname" value="jack-jacoco-reporter.jar" />
+
+ <target name="reporter-clean">
+ <delete dir="${reporter.build.dir}" />
+ <delete dir="${reporter.libs.dir}" />
+ </target>
+
+ <target name="jack-jacoco-reporter-copy-libs" depends="gson-lib">
+ <copy todir="${reporter.libs.dir}" flatten="true">
+ <filelist dir="${jack-coverage-project.dir}/.." >
+ <file name="jsr305/dist/jsr305-lib.jar"/>
+ <file name="sched/dist/sched-lib.jar" />
+ <file name="args4j/dist/args4j-lib.jar"/>
+ <file name="asm4/dist/asm4-lib.jar"/>
+ <file name="junit4/dist/junit4.jar"/>
+ </filelist>
+ </copy>
+
+ <copy file="${gson.dist.dir}/${gson.libname}" todir="${reporter.libs.dir}" />
+ <copy file="../jacoco/org.jacoco.core-0.7.5.201505241946.jar"
+ tofile="${reporter.libs.dir}/org.jacoco.core.jar"/>
+ <copy file="../jacoco/org.jacoco.report-0.7.5.201505241946.jar"
+ tofile="${reporter.libs.dir}/org.jacoco.report.jar"/>
+ </target>
+
+ <target name="jack-jacoco-reporter-check">
+ <union id="jack-jacoco-reporter.uptodate.files">
+ <fileset dir="${reporter.dir}/src" />
+ <fileset dir="${reporter.dir}/etc" />
+ <filelist id="jack-jacoco-reporter.static.libs.fileset" dir="/">
+ <file name="${reporter.libs.dir}/jsr305-lib.jar"/>
+ <file name="${reporter.libs.dir}/sched-lib.jar"/>
+ <file name="${reporter.libs.dir}/args4j-lib.jar"/>
+ <file name="${reporter.libs.dir}/asm4-lib.jar"/>
+ <file name="${reporter.libs.dir}/${gson.libname}"/>
+ <file name="${reporter.libs.dir}/org.jacoco.core.jar"/>
+ <file name="${reporter.libs.dir}/org.jacoco.report.jar"/>
+ </filelist>
+ </union>
+
+ <uptodate property="jack-jacoco-reporter.uptodate"
+ targetfile="${jack-coverage-dist.dir}/${reporter.execname}">
+ <srcresources refid="jack-jacoco-reporter.uptodate.files" />
+ </uptodate>
+ </target>
+
+ <target name="jack-jacoco-reporter"
+ depends="jack-jacoco-reporter-copy-libs,jack-jacoco-reporter-check"
+ unless="${jack-jacoco-reporter.uptodate}">
+ <delete dir="${reporter.build.src.classes.dir}"/>
+ <mkdir dir="${reporter.build.src.classes.dir}"/>
+ <javac encoding="UTF-8" srcdir="${reporter.dir}/src"
+ destdir="${reporter.build.src.classes.dir}"
+ source="1.6" target="1.6" debug="true"
+ includeantruntime="false" includeDestClasses="false" nowarn="true">
+ <classpath>
+ <filelist refid="jack-jacoco-reporter.static.libs.fileset"/>
+ </classpath>
+ </javac>
+ <unzip dest="${reporter.build.src.classes.dir}">
+ <filelist refid="jack-jacoco-reporter.static.libs.fileset"/>
+ </unzip>
+
+ <!-- Reuse the same version.properties than the plugin. -->
+ <copy file="${jack-coverage-rsc.dir}/jack-coverage-plugin-version.properties"
+ tofile="${reporter.build.src.classes.dir}/jack-jacoco-reporter-version.properties"/>
+
+ <jar destfile="${jack-coverage-dist.dir}/${reporter.execname}"
+ manifest="${reporter.dir}/etc/manifest.txt">
+ <fileset dir="${reporter.build.src.classes.dir}"/>
+ </jar>
+ </target>
+
<target name="dist" description="distribution of the code coverage plugin" depends="all">
<!-- Placeholder for future release process -->
</target>
<target name="dist-doc" description="documentation of the code coverage support" depends="dist">
<union id="dist-doc.classpath.files">
- <fileset dir="${jack-coverage-project.dir}/libs" />
- <fileset file="${jack-coverage-dist.dir}/${jack-coverage.execname}" />
+ <fileset dir="${plugin.dir}/libs" />
+ <fileset file="${jack-coverage-dist.dir}/${plugin.execname}" />
</union>
<pathconvert property="dist-doc.classpath.path" refid="dist-doc.classpath.files" />
<mkdir dir="${jack-coverage-doc.dir}" />
@@ -236,7 +336,7 @@
windowtitle="Jack's code coverage plugin"
classpath="${dist-doc.classpath.path}"
nodeprecated="true">
- <fileset dir="${jack-coverage-project.dir}/src" includes="**/*.java" />
+ <fileset dir="${plugin.dir}/src" includes="**/*.java" />
</javadoc>
<!-- README.md -->
<copy file="${jack-coverage-project.dir}/README-jack-coverage.md"
@@ -249,4 +349,41 @@
</exec>
</target>
+ <!-- ******************* -->
+ <!-- gson -->
+ <!-- ******************* -->
+ <property name="gson.dir" value="${jack-coverage-project.dir}/../gson"/>
+ <property name="gson.build.dir" value="${gson.dir}/build" />
+ <property name="gson.build.outdir" value="${gson.build.dir}/classes" />
+ <property name="gson.dist.dir" value="${gson.dir}/dist" />
+ <property name="gson.libname" value="gson.jar"/>
+
+ <target name="gson-clean">
+ <delete dir="${gson.build.dir}" />
+ <delete dir="${gson.dist.dir}" />
+ </target>
+
+ <target name="gson-lib">
+ <!-- project layout -->
+ <mkdir dir="${gson.build.outdir}"/>
+ <mkdir dir="${gson.dist.dir}"/>
+ <!-- compile -->
+ <dependset>
+ <sources>
+ <fileset dir="${gson.dir}/gson/src/main/java" />
+ </sources>
+ <targets>
+ <fileset file="${gson.dist.dir}/${gson.libname}"/>
+ </targets>
+ </dependset>
+ <javac encoding="UTF-8" srcdir="${gson.dir}/gson/src/main/java"
+ destdir="${gson.build.outdir}"
+ source="1.5" target="1.5"
+ debug="true" includeantruntime="false"/>
+ <!-- package -->
+ <jar destfile="${gson.dist.dir}/${gson.libname}"
+ basedir="${gson.build.outdir}"
+ includes="**"/>
+ </target>
+
</project>
diff --git a/jack-coverage/.classpath b/jack-coverage/plugin/.classpath
similarity index 100%
rename from jack-coverage/.classpath
rename to jack-coverage/plugin/.classpath
diff --git a/jack-coverage/.factorypath b/jack-coverage/plugin/.factorypath
similarity index 100%
rename from jack-coverage/.factorypath
rename to jack-coverage/plugin/.factorypath
diff --git a/jack-coverage/.project b/jack-coverage/plugin/.project
similarity index 100%
rename from jack-coverage/.project
rename to jack-coverage/plugin/.project
diff --git a/jack-coverage/.settings/edu.umd.cs.findbugs.core.prefs b/jack-coverage/plugin/.settings/edu.umd.cs.findbugs.core.prefs
similarity index 100%
rename from jack-coverage/.settings/edu.umd.cs.findbugs.core.prefs
rename to jack-coverage/plugin/.settings/edu.umd.cs.findbugs.core.prefs
diff --git a/jack-coverage/.settings/org.eclipse.core.resources.prefs b/jack-coverage/plugin/.settings/org.eclipse.core.resources.prefs
similarity index 100%
rename from jack-coverage/.settings/org.eclipse.core.resources.prefs
rename to jack-coverage/plugin/.settings/org.eclipse.core.resources.prefs
diff --git a/jack-coverage/.settings/org.eclipse.jdt.core.prefs b/jack-coverage/plugin/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
rename from jack-coverage/.settings/org.eclipse.jdt.core.prefs
rename to jack-coverage/plugin/.settings/org.eclipse.jdt.core.prefs
diff --git a/jack-coverage/.settings/org.eclipse.jdt.ui.prefs b/jack-coverage/plugin/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
rename from jack-coverage/.settings/org.eclipse.jdt.ui.prefs
rename to jack-coverage/plugin/.settings/org.eclipse.jdt.ui.prefs
diff --git a/jack-coverage/.settings/org.eclipse.ltk.core.refactoring.prefs b/jack-coverage/plugin/.settings/org.eclipse.ltk.core.refactoring.prefs
similarity index 100%
rename from jack-coverage/.settings/org.eclipse.ltk.core.refactoring.prefs
rename to jack-coverage/plugin/.settings/org.eclipse.ltk.core.refactoring.prefs
diff --git a/jack-coverage/plugin/Android.mk b/jack-coverage/plugin/Android.mk
new file mode 100644
index 0000000..b23622d
--- /dev/null
+++ b/jack-coverage/plugin/Android.mk
@@ -0,0 +1,35 @@
+# Copyright (C) 2016 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := jack-coverage-plugin
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_JAVA_RESOURCE_DIRS := rsc
+LOCAL_JAVACFLAGS := -processor com.android.sched.build.SchedAnnotationProcessor
+LOCAL_JAVA_LANGUAGE_VERSION := 1.7
+
+LOCAL_JAVA_LIBRARIES := \
+ jsr305lib-jack \
+ schedlib \
+ jack \
+ sched-build
+
+include $(BUILD_HOST_JAVA_LIBRARY)
diff --git a/jack-coverage/rsc/META-INF/services/com.android.jack.plugin.v01.Plugin b/jack-coverage/plugin/rsc/META-INF/services/com.android.jack.plugin.v01.Plugin
similarity index 100%
rename from jack-coverage/rsc/META-INF/services/com.android.jack.plugin.v01.Plugin
rename to jack-coverage/plugin/rsc/META-INF/services/com.android.jack.plugin.v01.Plugin
diff --git a/jack-coverage/src/com/android/jack/coverage/CodeCoverageAnalyzer.java b/jack-coverage/plugin/src/com/android/jack/coverage/CodeCoverageAnalyzer.java
similarity index 100%
rename from jack-coverage/src/com/android/jack/coverage/CodeCoverageAnalyzer.java
rename to jack-coverage/plugin/src/com/android/jack/coverage/CodeCoverageAnalyzer.java
diff --git a/jack-coverage/src/com/android/jack/coverage/CodeCoverageFeature.java b/jack-coverage/plugin/src/com/android/jack/coverage/CodeCoverageFeature.java
similarity index 100%
rename from jack-coverage/src/com/android/jack/coverage/CodeCoverageFeature.java
rename to jack-coverage/plugin/src/com/android/jack/coverage/CodeCoverageFeature.java
diff --git a/jack-coverage/src/com/android/jack/coverage/CodeCoverageLookupException.java b/jack-coverage/plugin/src/com/android/jack/coverage/CodeCoverageLookupException.java
similarity index 100%
rename from jack-coverage/src/com/android/jack/coverage/CodeCoverageLookupException.java
rename to jack-coverage/plugin/src/com/android/jack/coverage/CodeCoverageLookupException.java
diff --git a/jack-coverage/src/com/android/jack/coverage/CodeCoverageMarker.java b/jack-coverage/plugin/src/com/android/jack/coverage/CodeCoverageMarker.java
similarity index 100%
rename from jack-coverage/src/com/android/jack/coverage/CodeCoverageMarker.java
rename to jack-coverage/plugin/src/com/android/jack/coverage/CodeCoverageMarker.java
diff --git a/jack-coverage/src/com/android/jack/coverage/CodeCoverageMetadataFile.java b/jack-coverage/plugin/src/com/android/jack/coverage/CodeCoverageMetadataFile.java
similarity index 100%
rename from jack-coverage/src/com/android/jack/coverage/CodeCoverageMetadataFile.java
rename to jack-coverage/plugin/src/com/android/jack/coverage/CodeCoverageMetadataFile.java
diff --git a/jack-coverage/src/com/android/jack/coverage/CodeCoverageMetadataFileWriter.java b/jack-coverage/plugin/src/com/android/jack/coverage/CodeCoverageMetadataFileWriter.java
similarity index 100%
rename from jack-coverage/src/com/android/jack/coverage/CodeCoverageMetadataFileWriter.java
rename to jack-coverage/plugin/src/com/android/jack/coverage/CodeCoverageMetadataFileWriter.java
diff --git a/jack-coverage/src/com/android/jack/coverage/CodeCoveragePlugin.java b/jack-coverage/plugin/src/com/android/jack/coverage/CodeCoveragePlugin.java
similarity index 100%
rename from jack-coverage/src/com/android/jack/coverage/CodeCoveragePlugin.java
rename to jack-coverage/plugin/src/com/android/jack/coverage/CodeCoveragePlugin.java
diff --git a/jack-coverage/src/com/android/jack/coverage/CodeCoverageSelector.java b/jack-coverage/plugin/src/com/android/jack/coverage/CodeCoverageSelector.java
similarity index 100%
rename from jack-coverage/src/com/android/jack/coverage/CodeCoverageSelector.java
rename to jack-coverage/plugin/src/com/android/jack/coverage/CodeCoverageSelector.java
diff --git a/jack-coverage/src/com/android/jack/coverage/CodeCoverageTransformer.java b/jack-coverage/plugin/src/com/android/jack/coverage/CodeCoverageTransformer.java
similarity index 100%
rename from jack-coverage/src/com/android/jack/coverage/CodeCoverageTransformer.java
rename to jack-coverage/plugin/src/com/android/jack/coverage/CodeCoverageTransformer.java
diff --git a/jack-coverage/src/com/android/jack/coverage/CoverageFilter.java b/jack-coverage/plugin/src/com/android/jack/coverage/CoverageFilter.java
similarity index 100%
rename from jack-coverage/src/com/android/jack/coverage/CoverageFilter.java
rename to jack-coverage/plugin/src/com/android/jack/coverage/CoverageFilter.java
diff --git a/jack-coverage/src/com/android/jack/coverage/CoverageFilterSet.java b/jack-coverage/plugin/src/com/android/jack/coverage/CoverageFilterSet.java
similarity index 100%
rename from jack-coverage/src/com/android/jack/coverage/CoverageFilterSet.java
rename to jack-coverage/plugin/src/com/android/jack/coverage/CoverageFilterSet.java
diff --git a/jack-coverage/src/com/android/jack/coverage/CoverageFilterSetCodec.java b/jack-coverage/plugin/src/com/android/jack/coverage/CoverageFilterSetCodec.java
similarity index 100%
rename from jack-coverage/src/com/android/jack/coverage/CoverageFilterSetCodec.java
rename to jack-coverage/plugin/src/com/android/jack/coverage/CoverageFilterSetCodec.java
diff --git a/jack-coverage/src/com/android/jack/coverage/CoveragePattern.java b/jack-coverage/plugin/src/com/android/jack/coverage/CoveragePattern.java
similarity index 100%
rename from jack-coverage/src/com/android/jack/coverage/CoveragePattern.java
rename to jack-coverage/plugin/src/com/android/jack/coverage/CoveragePattern.java
diff --git a/jack-coverage/src/com/android/jack/coverage/CoveragePatternCodec.java b/jack-coverage/plugin/src/com/android/jack/coverage/CoveragePatternCodec.java
similarity index 100%
rename from jack-coverage/src/com/android/jack/coverage/CoveragePatternCodec.java
rename to jack-coverage/plugin/src/com/android/jack/coverage/CoveragePatternCodec.java
diff --git a/jack-coverage/src/com/android/jack/coverage/CoverageScope.java b/jack-coverage/plugin/src/com/android/jack/coverage/CoverageScope.java
similarity index 100%
rename from jack-coverage/src/com/android/jack/coverage/CoverageScope.java
rename to jack-coverage/plugin/src/com/android/jack/coverage/CoverageScope.java
diff --git a/jack-coverage/src/com/android/jack/coverage/JacocoPackage.java b/jack-coverage/plugin/src/com/android/jack/coverage/JacocoPackage.java
similarity index 100%
rename from jack-coverage/src/com/android/jack/coverage/JacocoPackage.java
rename to jack-coverage/plugin/src/com/android/jack/coverage/JacocoPackage.java
diff --git a/jack-coverage/src/com/android/jack/coverage/ProbeDescription.java b/jack-coverage/plugin/src/com/android/jack/coverage/ProbeDescription.java
similarity index 100%
rename from jack-coverage/src/com/android/jack/coverage/ProbeDescription.java
rename to jack-coverage/plugin/src/com/android/jack/coverage/ProbeDescription.java
diff --git a/jack-coverage/src/com/android/jack/coverage/ProbeMarker.java b/jack-coverage/plugin/src/com/android/jack/coverage/ProbeMarker.java
similarity index 100%
rename from jack-coverage/src/com/android/jack/coverage/ProbeMarker.java
rename to jack-coverage/plugin/src/com/android/jack/coverage/ProbeMarker.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/AllCoverageTests.java b/jack-coverage/plugin/tests/com/android/jack/coverage/AllCoverageTests.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/AllCoverageTests.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/AllCoverageTests.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/AllUnitTests.java b/jack-coverage/plugin/tests/com/android/jack/coverage/AllUnitTests.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/AllUnitTests.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/AllUnitTests.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/CoverageFilterSetCodecTest.java b/jack-coverage/plugin/tests/com/android/jack/coverage/CoverageFilterSetCodecTest.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/CoverageFilterSetCodecTest.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/CoverageFilterSetCodecTest.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/CoverageFilterSetTest.java b/jack-coverage/plugin/tests/com/android/jack/coverage/CoverageFilterSetTest.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/CoverageFilterSetTest.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/CoverageFilterSetTest.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/CoverageFilterTest.java b/jack-coverage/plugin/tests/com/android/jack/coverage/CoverageFilterTest.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/CoverageFilterTest.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/CoverageFilterTest.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/CoverageJava8Tests.java b/jack-coverage/plugin/tests/com/android/jack/coverage/CoverageJava8Tests.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/CoverageJava8Tests.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/CoverageJava8Tests.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/CoveragePatternCodecTest.java b/jack-coverage/plugin/tests/com/android/jack/coverage/CoveragePatternCodecTest.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/CoveragePatternCodecTest.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/CoveragePatternCodecTest.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/CoveragePatternTest.java b/jack-coverage/plugin/tests/com/android/jack/coverage/CoveragePatternTest.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/CoveragePatternTest.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/CoveragePatternTest.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/CoverageShrobTests.java b/jack-coverage/plugin/tests/com/android/jack/coverage/CoverageShrobTests.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/CoverageShrobTests.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/CoverageShrobTests.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/CoverageTest.java b/jack-coverage/plugin/tests/com/android/jack/coverage/CoverageTest.java
similarity index 94%
rename from jack-coverage/tests/com/android/jack/coverage/CoverageTest.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/CoverageTest.java
index c04bd03..08ed6be 100644
--- a/jack-coverage/tests/com/android/jack/coverage/CoverageTest.java
+++ b/jack-coverage/plugin/tests/com/android/jack/coverage/CoverageTest.java
@@ -54,10 +54,11 @@
*/
@Nonnull
protected static final File getTestRootDir(@Nonnull String testPackageName) {
- File jackRootDir = TestsProperties.getJackRootDir();
- File jackCoverageDir = new File(jackRootDir, "jack-coverage");
- File jackCoverageTestsDir = new File(jackCoverageDir, "tests");
- return new File(jackCoverageTestsDir, testPackageName.replace('.', File.separatorChar));
+ File rootDir = TestsProperties.getJackRootDir();
+ rootDir = new File(rootDir, "jack-coverage");
+ rootDir = new File(rootDir, "plugin");
+ rootDir = new File(rootDir, "tests");
+ return new File(rootDir, testPackageName.replace('.', File.separatorChar));
}
@Nonnull
diff --git a/jack-coverage/tests/com/android/jack/coverage/CoverageTests.java b/jack-coverage/plugin/tests/com/android/jack/coverage/CoverageTests.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/CoverageTests.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/CoverageTests.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/CoverageToolchainBuilder.java b/jack-coverage/plugin/tests/com/android/jack/coverage/CoverageToolchainBuilder.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/CoverageToolchainBuilder.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/CoverageToolchainBuilder.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/java8/test001/Foo.java b/jack-coverage/plugin/tests/com/android/jack/coverage/java8/test001/Foo.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/java8/test001/Foo.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/java8/test001/Foo.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/java8/test001/SAM.java b/jack-coverage/plugin/tests/com/android/jack/coverage/java8/test001/SAM.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/java8/test001/SAM.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/java8/test001/SAM.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/java8/test002/Foo.java b/jack-coverage/plugin/tests/com/android/jack/coverage/java8/test002/Foo.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/java8/test002/Foo.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/java8/test002/Foo.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/java8/test002/SAM.java b/jack-coverage/plugin/tests/com/android/jack/coverage/java8/test002/SAM.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/java8/test002/SAM.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/java8/test002/SAM.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/shrob/test001/Bar.java b/jack-coverage/plugin/tests/com/android/jack/coverage/shrob/test001/Bar.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/shrob/test001/Bar.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/shrob/test001/Bar.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/shrob/test001/Foo.java b/jack-coverage/plugin/tests/com/android/jack/coverage/shrob/test001/Foo.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/shrob/test001/Foo.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/shrob/test001/Foo.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/shrob/test001/proguard.flags b/jack-coverage/plugin/tests/com/android/jack/coverage/shrob/test001/proguard.flags
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/shrob/test001/proguard.flags
rename to jack-coverage/plugin/tests/com/android/jack/coverage/shrob/test001/proguard.flags
diff --git a/jack-coverage/tests/com/android/jack/coverage/shrob/test002/Foo.java b/jack-coverage/plugin/tests/com/android/jack/coverage/shrob/test002/Foo.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/shrob/test002/Foo.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/shrob/test002/Foo.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/shrob/test002/proguard.flags b/jack-coverage/plugin/tests/com/android/jack/coverage/shrob/test002/proguard.flags
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/shrob/test002/proguard.flags
rename to jack-coverage/plugin/tests/com/android/jack/coverage/shrob/test002/proguard.flags
diff --git a/jack-coverage/tests/com/android/jack/coverage/shrob/test002/sub/Bar.java b/jack-coverage/plugin/tests/com/android/jack/coverage/shrob/test002/sub/Bar.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/shrob/test002/sub/Bar.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/shrob/test002/sub/Bar.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/test001/AbstractClass.java b/jack-coverage/plugin/tests/com/android/jack/coverage/test001/AbstractClass.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/test001/AbstractClass.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/test001/AbstractClass.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/test002/EmptyInterface.java b/jack-coverage/plugin/tests/com/android/jack/coverage/test002/EmptyInterface.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/test002/EmptyInterface.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/test002/EmptyInterface.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/test002/InterfaceWithInit.java b/jack-coverage/plugin/tests/com/android/jack/coverage/test002/InterfaceWithInit.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/test002/InterfaceWithInit.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/test002/InterfaceWithInit.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/test003/foo/Foo.java b/jack-coverage/plugin/tests/com/android/jack/coverage/test003/foo/Foo.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/test003/foo/Foo.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/test003/foo/Foo.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/test003/foo/bar/Bar.java b/jack-coverage/plugin/tests/com/android/jack/coverage/test003/foo/bar/Bar.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/test003/foo/bar/Bar.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/test003/foo/bar/Bar.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/test004/lib/LibClass.java b/jack-coverage/plugin/tests/com/android/jack/coverage/test004/lib/LibClass.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/test004/lib/LibClass.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/test004/lib/LibClass.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/test004/src/SrcClass.java b/jack-coverage/plugin/tests/com/android/jack/coverage/test004/src/SrcClass.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/test004/src/SrcClass.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/test004/src/SrcClass.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/test005/jack/LibClass.java b/jack-coverage/plugin/tests/com/android/jack/coverage/test005/jack/LibClass.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/test005/jack/LibClass.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/test005/jack/LibClass.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/test005/jack/SrcClass.java b/jack-coverage/plugin/tests/com/android/jack/coverage/test005/jack/SrcClass.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/test005/jack/SrcClass.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/test005/jack/SrcClass.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/test005/proguard.flags b/jack-coverage/plugin/tests/com/android/jack/coverage/test005/proguard.flags
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/test005/proguard.flags
rename to jack-coverage/plugin/tests/com/android/jack/coverage/test005/proguard.flags
diff --git a/jack-coverage/tests/com/android/jack/coverage/test006_v1/jack/SrcClass.java b/jack-coverage/plugin/tests/com/android/jack/coverage/test006_v1/jack/SrcClass.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/test006_v1/jack/SrcClass.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/test006_v1/jack/SrcClass.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/test006_v2/jack/SrcClass.java b/jack-coverage/plugin/tests/com/android/jack/coverage/test006_v2/jack/SrcClass.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/test006_v2/jack/SrcClass.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/test006_v2/jack/SrcClass.java
diff --git a/jack-coverage/tests/com/android/jack/coverage/test007/ThrowClass.java b/jack-coverage/plugin/tests/com/android/jack/coverage/test007/ThrowClass.java
similarity index 100%
rename from jack-coverage/tests/com/android/jack/coverage/test007/ThrowClass.java
rename to jack-coverage/plugin/tests/com/android/jack/coverage/test007/ThrowClass.java
diff --git a/jack-jacoco-reporter/.checkstyle b/jack-coverage/reporter/.checkstyle
similarity index 100%
rename from jack-jacoco-reporter/.checkstyle
rename to jack-coverage/reporter/.checkstyle
diff --git a/jack-jacoco-reporter/.classpath b/jack-coverage/reporter/.classpath
similarity index 100%
rename from jack-jacoco-reporter/.classpath
rename to jack-coverage/reporter/.classpath
diff --git a/jack-jacoco-reporter/.project b/jack-coverage/reporter/.project
similarity index 100%
rename from jack-jacoco-reporter/.project
rename to jack-coverage/reporter/.project
diff --git a/jack-coverage/.settings/edu.umd.cs.findbugs.core.prefs b/jack-coverage/reporter/.settings/edu.umd.cs.findbugs.core.prefs
similarity index 100%
copy from jack-coverage/.settings/edu.umd.cs.findbugs.core.prefs
copy to jack-coverage/reporter/.settings/edu.umd.cs.findbugs.core.prefs
diff --git a/jack-coverage/.settings/org.eclipse.core.resources.prefs b/jack-coverage/reporter/.settings/org.eclipse.core.resources.prefs
similarity index 100%
copy from jack-coverage/.settings/org.eclipse.core.resources.prefs
copy to jack-coverage/reporter/.settings/org.eclipse.core.resources.prefs
diff --git a/jack-jacoco-reporter/.settings/org.eclipse.jdt.core.prefs b/jack-coverage/reporter/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
rename from jack-jacoco-reporter/.settings/org.eclipse.jdt.core.prefs
rename to jack-coverage/reporter/.settings/org.eclipse.jdt.core.prefs
diff --git a/jack-jacoco-reporter/.settings/org.eclipse.jdt.ui.prefs b/jack-coverage/reporter/.settings/org.eclipse.jdt.ui.prefs
similarity index 100%
rename from jack-jacoco-reporter/.settings/org.eclipse.jdt.ui.prefs
rename to jack-coverage/reporter/.settings/org.eclipse.jdt.ui.prefs
diff --git a/jack-jacoco-reporter/etc/manifest.txt b/jack-coverage/reporter/etc/manifest.txt
similarity index 100%
rename from jack-jacoco-reporter/etc/manifest.txt
rename to jack-coverage/reporter/etc/manifest.txt
diff --git a/jack-jacoco-reporter/jackstyle.xml b/jack-coverage/reporter/jackstyle.xml
similarity index 100%
rename from jack-jacoco-reporter/jackstyle.xml
rename to jack-coverage/reporter/jackstyle.xml
diff --git a/jack-jacoco-reporter/src/com/android/jack/tools/jacoco/Constants.java b/jack-coverage/reporter/src/com/android/jack/tools/jacoco/Constants.java
similarity index 100%
rename from jack-jacoco-reporter/src/com/android/jack/tools/jacoco/Constants.java
rename to jack-coverage/reporter/src/com/android/jack/tools/jacoco/Constants.java
diff --git a/jack-jacoco-reporter/src/com/android/jack/tools/jacoco/ExitStatus.java b/jack-coverage/reporter/src/com/android/jack/tools/jacoco/ExitStatus.java
similarity index 100%
rename from jack-jacoco-reporter/src/com/android/jack/tools/jacoco/ExitStatus.java
rename to jack-coverage/reporter/src/com/android/jack/tools/jacoco/ExitStatus.java
diff --git a/jack-jacoco-reporter/src/com/android/jack/tools/jacoco/JackCoverageAnalyzer.java b/jack-coverage/reporter/src/com/android/jack/tools/jacoco/JackCoverageAnalyzer.java
similarity index 100%
rename from jack-jacoco-reporter/src/com/android/jack/tools/jacoco/JackCoverageAnalyzer.java
rename to jack-coverage/reporter/src/com/android/jack/tools/jacoco/JackCoverageAnalyzer.java
diff --git a/jack-jacoco-reporter/src/com/android/jack/tools/jacoco/JackMethodCoverage.java b/jack-coverage/reporter/src/com/android/jack/tools/jacoco/JackMethodCoverage.java
similarity index 100%
rename from jack-jacoco-reporter/src/com/android/jack/tools/jacoco/JackMethodCoverage.java
rename to jack-coverage/reporter/src/com/android/jack/tools/jacoco/JackMethodCoverage.java
diff --git a/jack-jacoco-reporter/src/com/android/jack/tools/jacoco/Main.java b/jack-coverage/reporter/src/com/android/jack/tools/jacoco/Main.java
similarity index 100%
rename from jack-jacoco-reporter/src/com/android/jack/tools/jacoco/Main.java
rename to jack-coverage/reporter/src/com/android/jack/tools/jacoco/Main.java
diff --git a/jack-jacoco-reporter/src/com/android/jack/tools/jacoco/MappingFileLoader.java b/jack-coverage/reporter/src/com/android/jack/tools/jacoco/MappingFileLoader.java
similarity index 100%
rename from jack-jacoco-reporter/src/com/android/jack/tools/jacoco/MappingFileLoader.java
rename to jack-coverage/reporter/src/com/android/jack/tools/jacoco/MappingFileLoader.java
diff --git a/jack-jacoco-reporter/src/com/android/jack/tools/jacoco/NamingUtils.java b/jack-coverage/reporter/src/com/android/jack/tools/jacoco/NamingUtils.java
similarity index 100%
rename from jack-jacoco-reporter/src/com/android/jack/tools/jacoco/NamingUtils.java
rename to jack-coverage/reporter/src/com/android/jack/tools/jacoco/NamingUtils.java
diff --git a/jack-jacoco-reporter/src/com/android/jack/tools/jacoco/Options.java b/jack-coverage/reporter/src/com/android/jack/tools/jacoco/Options.java
similarity index 100%
rename from jack-jacoco-reporter/src/com/android/jack/tools/jacoco/Options.java
rename to jack-coverage/reporter/src/com/android/jack/tools/jacoco/Options.java
diff --git a/jack-jacoco-reporter/src/com/android/jack/tools/jacoco/ProbeDescription.java b/jack-coverage/reporter/src/com/android/jack/tools/jacoco/ProbeDescription.java
similarity index 100%
rename from jack-jacoco-reporter/src/com/android/jack/tools/jacoco/ProbeDescription.java
rename to jack-coverage/reporter/src/com/android/jack/tools/jacoco/ProbeDescription.java
diff --git a/jack-jacoco-reporter/src/com/android/jack/tools/jacoco/ReportType.java b/jack-coverage/reporter/src/com/android/jack/tools/jacoco/ReportType.java
similarity index 100%
rename from jack-jacoco-reporter/src/com/android/jack/tools/jacoco/ReportType.java
rename to jack-coverage/reporter/src/com/android/jack/tools/jacoco/ReportType.java
diff --git a/jack-jacoco-reporter/src/com/android/jack/tools/jacoco/Reporter.java b/jack-coverage/reporter/src/com/android/jack/tools/jacoco/Reporter.java
similarity index 100%
rename from jack-jacoco-reporter/src/com/android/jack/tools/jacoco/Reporter.java
rename to jack-coverage/reporter/src/com/android/jack/tools/jacoco/Reporter.java
diff --git a/jack-jacoco-reporter/src/com/android/jack/tools/jacoco/ReporterException.java b/jack-coverage/reporter/src/com/android/jack/tools/jacoco/ReporterException.java
similarity index 100%
rename from jack-jacoco-reporter/src/com/android/jack/tools/jacoco/ReporterException.java
rename to jack-coverage/reporter/src/com/android/jack/tools/jacoco/ReporterException.java
diff --git a/jack-jacoco-reporter/tests/com/android/jack/tools/jacoco/AllTests.java b/jack-coverage/reporter/tests/com/android/jack/tools/jacoco/AllTests.java
similarity index 100%
rename from jack-jacoco-reporter/tests/com/android/jack/tools/jacoco/AllTests.java
rename to jack-coverage/reporter/tests/com/android/jack/tools/jacoco/AllTests.java
diff --git a/jack-jacoco-reporter/tests/com/android/jack/tools/jacoco/JackCoverageAnalyzerTest.java b/jack-coverage/reporter/tests/com/android/jack/tools/jacoco/JackCoverageAnalyzerTest.java
similarity index 100%
rename from jack-jacoco-reporter/tests/com/android/jack/tools/jacoco/JackCoverageAnalyzerTest.java
rename to jack-coverage/reporter/tests/com/android/jack/tools/jacoco/JackCoverageAnalyzerTest.java
diff --git a/jack-jacoco-reporter/tests/com/android/jack/tools/jacoco/MappingFileLoaderTest.java b/jack-coverage/reporter/tests/com/android/jack/tools/jacoco/MappingFileLoaderTest.java
similarity index 100%
rename from jack-jacoco-reporter/tests/com/android/jack/tools/jacoco/MappingFileLoaderTest.java
rename to jack-coverage/reporter/tests/com/android/jack/tools/jacoco/MappingFileLoaderTest.java
diff --git a/jack-jacoco-reporter/tests/com/android/jack/tools/jacoco/OptionsTest.java b/jack-coverage/reporter/tests/com/android/jack/tools/jacoco/OptionsTest.java
similarity index 100%
rename from jack-jacoco-reporter/tests/com/android/jack/tools/jacoco/OptionsTest.java
rename to jack-coverage/reporter/tests/com/android/jack/tools/jacoco/OptionsTest.java
diff --git a/jack-jacoco-reporter/tests/com/android/jack/tools/jacoco/ReporterTest.java b/jack-coverage/reporter/tests/com/android/jack/tools/jacoco/ReporterTest.java
similarity index 100%
rename from jack-jacoco-reporter/tests/com/android/jack/tools/jacoco/ReporterTest.java
rename to jack-coverage/reporter/tests/com/android/jack/tools/jacoco/ReporterTest.java
diff --git a/jack-jacoco-reporter/.settings/edu.umd.cs.findbugs.core.prefs b/jack-jacoco-reporter/.settings/edu.umd.cs.findbugs.core.prefs
deleted file mode 100644
index ea6af7a..0000000
--- a/jack-jacoco-reporter/.settings/edu.umd.cs.findbugs.core.prefs
+++ /dev/null
@@ -1,134 +0,0 @@
-#FindBugs User Preferences
-#Fri Feb 28 14:57:04 CET 2014
-cloud_id=edu.umd.cs.findbugs.cloud.doNothingCloud
-detectorAppendingToAnObjectOutputStream=AppendingToAnObjectOutputStream|true
-detectorAtomicityProblem=AtomicityProblem|true
-detectorBadAppletConstructor=BadAppletConstructor|false
-detectorBadResultSetAccess=BadResultSetAccess|true
-detectorBadSyntaxForRegularExpression=BadSyntaxForRegularExpression|true
-detectorBadUseOfReturnValue=BadUseOfReturnValue|true
-detectorBadlyOverriddenAdapter=BadlyOverriddenAdapter|true
-detectorBooleanReturnNull=BooleanReturnNull|true
-detectorCallToUnsupportedMethod=CallToUnsupportedMethod|false
-detectorCheckExpectedWarnings=CheckExpectedWarnings|false
-detectorCheckImmutableAnnotation=CheckImmutableAnnotation|true
-detectorCheckRelaxingNullnessAnnotation=CheckRelaxingNullnessAnnotation|true
-detectorCheckTypeQualifiers=CheckTypeQualifiers|true
-detectorCloneIdiom=CloneIdiom|true
-detectorComparatorIdiom=ComparatorIdiom|true
-detectorConfusedInheritance=ConfusedInheritance|true
-detectorConfusionBetweenInheritedAndOuterMethod=ConfusionBetweenInheritedAndOuterMethod|true
-detectorCrossSiteScripting=CrossSiteScripting|true
-detectorDefaultEncodingDetector=DefaultEncodingDetector|true
-detectorDoInsideDoPrivileged=DoInsideDoPrivileged|true
-detectorDontCatchIllegalMonitorStateException=DontCatchIllegalMonitorStateException|true
-detectorDontIgnoreResultOfPutIfAbsent=DontIgnoreResultOfPutIfAbsent|true
-detectorDontUseEnum=DontUseEnum|true
-detectorDroppedException=DroppedException|true
-detectorDumbMethodInvocations=DumbMethodInvocations|true
-detectorDumbMethods=DumbMethods|true
-detectorDuplicateBranches=DuplicateBranches|true
-detectorEmptyZipFileEntry=EmptyZipFileEntry|true
-detectorEqualsOperandShouldHaveClassCompatibleWithThis=EqualsOperandShouldHaveClassCompatibleWithThis|true
-detectorExplicitSerialization=ExplicitSerialization|true
-detectorFinalizerNullsFields=FinalizerNullsFields|true
-detectorFindBadCast2=FindBadCast2|true
-detectorFindBadForLoop=FindBadForLoop|true
-detectorFindCircularDependencies=FindCircularDependencies|false
-detectorFindDeadLocalStores=FindDeadLocalStores|true
-detectorFindDoubleCheck=FindDoubleCheck|true
-detectorFindEmptySynchronizedBlock=FindEmptySynchronizedBlock|true
-detectorFindFieldSelfAssignment=FindFieldSelfAssignment|true
-detectorFindFinalizeInvocations=FindFinalizeInvocations|true
-detectorFindFloatEquality=FindFloatEquality|true
-detectorFindHEmismatch=FindHEmismatch|true
-detectorFindInconsistentSync2=FindInconsistentSync2|true
-detectorFindJSR166LockMonitorenter=FindJSR166LockMonitorenter|true
-detectorFindLocalSelfAssignment2=FindLocalSelfAssignment2|true
-detectorFindMaskedFields=FindMaskedFields|true
-detectorFindMismatchedWaitOrNotify=FindMismatchedWaitOrNotify|true
-detectorFindNakedNotify=FindNakedNotify|true
-detectorFindNonShortCircuit=FindNonShortCircuit|true
-detectorFindNullDeref=FindNullDeref|true
-detectorFindNullDerefsInvolvingNonShortCircuitEvaluation=FindNullDerefsInvolvingNonShortCircuitEvaluation|true
-detectorFindOpenStream=FindOpenStream|true
-detectorFindPuzzlers=FindPuzzlers|true
-detectorFindRefComparison=FindRefComparison|true
-detectorFindReturnRef=FindReturnRef|true
-detectorFindRunInvocations=FindRunInvocations|true
-detectorFindSelfComparison=FindSelfComparison|true
-detectorFindSelfComparison2=FindSelfComparison2|true
-detectorFindSleepWithLockHeld=FindSleepWithLockHeld|true
-detectorFindSpinLoop=FindSpinLoop|true
-detectorFindSqlInjection=FindSqlInjection|true
-detectorFindTwoLockWait=FindTwoLockWait|true
-detectorFindUncalledPrivateMethods=FindUncalledPrivateMethods|true
-detectorFindUnconditionalWait=FindUnconditionalWait|true
-detectorFindUninitializedGet=FindUninitializedGet|true
-detectorFindUnrelatedTypesInGenericContainer=FindUnrelatedTypesInGenericContainer|true
-detectorFindUnreleasedLock=FindUnreleasedLock|true
-detectorFindUnsatisfiedObligation=FindUnsatisfiedObligation|true
-detectorFindUnsyncGet=FindUnsyncGet|true
-detectorFindUseOfNonSerializableValue=FindUseOfNonSerializableValue|true
-detectorFindUselessControlFlow=FindUselessControlFlow|true
-detectorFormatStringChecker=FormatStringChecker|true
-detectorHugeSharedStringConstants=HugeSharedStringConstants|true
-detectorIDivResultCastToDouble=IDivResultCastToDouble|true
-detectorIncompatMask=IncompatMask|true
-detectorInconsistentAnnotations=InconsistentAnnotations|true
-detectorInefficientMemberAccess=InefficientMemberAccess|false
-detectorInefficientToArray=InefficientToArray|true
-detectorInfiniteLoop=InfiniteLoop|true
-detectorInfiniteRecursiveLoop=InfiniteRecursiveLoop|true
-detectorInheritanceUnsafeGetResource=InheritanceUnsafeGetResource|true
-detectorInitializationChain=InitializationChain|true
-detectorInitializeNonnullFieldsInConstructor=InitializeNonnullFieldsInConstructor|true
-detectorInstantiateStaticClass=InstantiateStaticClass|true
-detectorIntCast2LongAsInstant=IntCast2LongAsInstant|true
-detectorInvalidJUnitTest=InvalidJUnitTest|true
-detectorIteratorIdioms=IteratorIdioms|true
-detectorLazyInit=LazyInit|true
-detectorLoadOfKnownNullValue=LoadOfKnownNullValue|true
-detectorLostLoggerDueToWeakReference=LostLoggerDueToWeakReference|true
-detectorMethodReturnCheck=MethodReturnCheck|true
-detectorMultithreadedInstanceAccess=MultithreadedInstanceAccess|true
-detectorMutableLock=MutableLock|true
-detectorMutableStaticFields=MutableStaticFields|true
-detectorNaming=Naming|true
-detectorNoteUnconditionalParamDerefs=NoteUnconditionalParamDerefs|true
-detectorNumberConstructor=NumberConstructor|true
-detectorOverridingEqualsNotSymmetrical=OverridingEqualsNotSymmetrical|true
-detectorPreferZeroLengthArrays=PreferZeroLengthArrays|true
-detectorPublicSemaphores=PublicSemaphores|false
-detectorQuestionableBooleanAssignment=QuestionableBooleanAssignment|true
-detectorReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass=ReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass|true
-detectorReadReturnShouldBeChecked=ReadReturnShouldBeChecked|true
-detectorRedundantInterfaces=RedundantInterfaces|true
-detectorRepeatedConditionals=RepeatedConditionals|true
-detectorRuntimeExceptionCapture=RuntimeExceptionCapture|true
-detectorSerializableIdiom=SerializableIdiom|true
-detectorStartInConstructor=StartInConstructor|true
-detectorStaticCalendarDetector=StaticCalendarDetector|true
-detectorStringConcatenation=StringConcatenation|true
-detectorSuperfluousInstanceOf=SuperfluousInstanceOf|true
-detectorSuspiciousThreadInterrupted=SuspiciousThreadInterrupted|true
-detectorSwitchFallthrough=SwitchFallthrough|true
-detectorSynchronizeAndNullCheckField=SynchronizeAndNullCheckField|true
-detectorSynchronizeOnClassLiteralNotGetClass=SynchronizeOnClassLiteralNotGetClass|true
-detectorSynchronizingOnContentsOfFieldToProtectField=SynchronizingOnContentsOfFieldToProtectField|true
-detectorURLProblems=URLProblems|true
-detectorUncallableMethodOfAnonymousClass=UncallableMethodOfAnonymousClass|true
-detectorUnnecessaryMath=UnnecessaryMath|true
-detectorUnreadFields=UnreadFields|true
-detectorUselessSubclassMethod=UselessSubclassMethod|false
-detectorVarArgsProblems=VarArgsProblems|true
-detectorVolatileUsage=VolatileUsage|true
-detectorWaitInLoop=WaitInLoop|true
-detectorWrongMapIterator=WrongMapIterator|true
-detectorXMLFactoryBypass=XMLFactoryBypass|true
-detector_threshold=2
-effort=default
-excludefilter0=.settings/findbugs-exclude.xml|true
-filter_settings=Medium|BAD_PRACTICE,CORRECTNESS,EXPERIMENTAL,MALICIOUS_CODE,MT_CORRECTNESS,PERFORMANCE,SECURITY,STYLE|false|20
-filter_settings_neg=NOISE,I18N|
-run_at_full_build=true
diff --git a/jack-jacoco-reporter/.settings/org.eclipse.core.resources.prefs b/jack-jacoco-reporter/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/jack-jacoco-reporter/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/jack-jar-tools/.classpath b/jack-jar-tools/.classpath
index 4a22221..4838580 100644
--- a/jack-jar-tools/.classpath
+++ b/jack-jar-tools/.classpath
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="lib" path="libs/jsr305-lib.jar"/>
<classpathentry kind="lib" path="libs/args4j-lib.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/Scheduler"/>
diff --git a/jack-jar-tools/.settings/org.eclipse.jdt.core.prefs b/jack-jar-tools/.settings/org.eclipse.jdt.core.prefs
index d4b25d9..3b86858 100644
--- a/jack-jar-tools/.settings/org.eclipse.jdt.core.prefs
+++ b/jack-jar-tools/.settings/org.eclipse.jdt.core.prefs
@@ -6,9 +6,9 @@
org.eclipse.jdt.core.compiler.annotation.nullable=javax.annotation.CheckForNull
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -97,7 +97,7 @@
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.processAnnotations=disabled
-org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.source=1.8
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field=1585
org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field.count_dependent=1585|-1|1585
diff --git a/jack-jar-tools/build.gradle b/jack-jar-tools/build.gradle
index 7e17051..7590f27 100644
--- a/jack-jar-tools/build.gradle
+++ b/jack-jar-tools/build.gradle
@@ -17,8 +17,8 @@
apply plugin: 'java'
apply plugin: 'com.github.johnrengelman.shadow'
-sourceCompatibility = 1.6
-targetCompatibility = 1.6
+sourceCompatibility = 1.8
+targetCompatibility = 1.8
apply from: "$rootDir/gradle-script/checkstyle.gradle"
apply from: "$rootDir/gradle-script/findbugs.gradle"
diff --git a/jack-tests/.classpath b/jack-tests/.classpath
index 4ba5943..49d610b 100644
--- a/jack-tests/.classpath
+++ b/jack-tests/.classpath
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
- <classpathentry excluding="com/android/jack/annotation/test014/jack/|com/android/jack/annotation/test015/jack/|com/android/jack/annotation/test016/jack/|com/android/jack/annotation/test017/jack/|com/android/jack/classpath/test002/lib1override/|com/android/jack/compiletime/test*/**|com/android/jack/enums/test003/link/Other.java|com/android/jack/enums/test003/link/Values.java|com/android/jack/error/test001/jack/A.java|com/android/jack/error/test002/jack/A.java|com/android/jack/frontend/test002/jack/PackageName/ClassInConflictingPackage.java|com/android/jack/frontend/test005/jack/|com/android/jack/frontend/test006/jack/|com/android/jack/frontend/test007/jack/|com/android/jack/frontend/test007/jackduplicate/|com/android/jack/frontend/test008/jack/NoOuterContext.java|com/android/jack/frontend/test010/jack/UnusedLocalVar.java|com/android/jack/frontend/test013/jack/ExtendingInnerOnly.java|com/android/jack/frontend/test014/jack/ExtendingInnerInStaticContext.java|com/android/jack/frontend/test015/jack/WithOuterContextButStatic.java|com/android/jack/frontend/test016/jack/WithDuplicated.java|com/android/jack/frontend/test017/jack/InvalidQualification.java|com/android/jack/jarjar/test003/dontcompile/|com/android/jack/jarjar/test004/dontcompile/|com/android/jack/java8/annotation/|com/android/jack/java8/defaultmethod/|com/android/jack/java8/gwt/|com/android/jack/java8/inference/|com/android/jack/java8/intersectiontype/|com/android/jack/java8/lambda/|com/android/jack/java8/methodref/|com/android/jack/java8/retrolambda/|com/android/jack/java8/staticmethod/|com/android/jack/java8/variable/|com/android/jack/lookup/test001/liboverride/|com/android/jack/nopackage/test*/**|com/android/jack/optimizations/lambdas/test*/**|com/android/jack/jarjar/test006/dontcompile/|com/android/jack/java8/bridges/|com/android/jack/jill/test001/|com/android/jack/jill/test002/|com/android/jack/jill/test003/|com/android/jack/jill/test004/|com/android/jack/sourcepath/test002/jack/Sourcepath002.java|com/android/jack/annotation/test019/jack/|com/android/jack/frontend/test018/jack/|com/android/jack/annotation/test020/jack/|com/android/jack/assign/test002/jack/|com/android/jack/annotation/processor/sample2/src/|com/android/jack/shrob/test062/jack/Tests.java|com/android/jack/shrob/test062/jack/A.java|com/android/jack/coverage/test006_v1/jack/|com/android/jack/coverage/test006_v2/jack/|com/android/jack/multidex/test004/jack/|com/android/jack/shrob/test066/jack/MySuperInterfaceWithDefaultMethod.java|com/android/jack/shrob/test066/jack/MyClass.java|com/android/jack/shrob/test068/jack/I1.java|com/android/jack/shrob/test068/jack/I2.java|com/android/jack/shrob/test068/jack/I2Impl.java|com/android/jack/shrob/test068/jack/I2ImplImpl.java|com/android/jack/shrob/test068/jack/Kept.java|com/android/jack/shrob/test067/jack/MyInterfaceWithDefaultMethod.java|com/android/jack/shrob/test067/jack/MyClass.java|com/android/jack/shrob/test067/jack/Kept.java|com/android/jack/frontend/generic/test002/jack/|com/android/jack/frontend/generic/test003/jack/|com/android/jack/frontend/test019/jack/TooBig.java|com/android/jack/frontend/generic/test003/jack/|com/android/jack/java8/parameter/" kind="src" path="tests"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry excluding="com/android/jack/annotation/processor/sample2/src/|com/android/jack/annotation/processor/sample2/src/|com/android/jack/annotation/test015/jack/|com/android/jack/annotation/test017/jack/|com/android/jack/assign/test002/|com/android/jack/classpath/test002/lib1override/**|com/android/jack/encoding/tests/**|com/android/jack/enums/test003/link/Other.java|com/android/jack/enums/test003/link/Values.java|com/android/jack/error/test001/jack/A.java|com/android/jack/error/test002/jack/A.java|com/android/jack/frontend/generic/test002/jack/|com/android/jack/frontend/test002/jack/PackageName/ClassInConflictingPackage.java|com/android/jack/frontend/test005/jack/**|com/android/jack/frontend/test006/jack/**|com/android/jack/frontend/test007/jack/|com/android/jack/frontend/test007/jackduplicate/|com/android/jack/frontend/test008/jack/NoOuterContext.java|com/android/jack/frontend/test010/jack/UnusedLocalVar.java|com/android/jack/frontend/test013/jack/ExtendingInnerOnly.java|com/android/jack/frontend/test014/jack/ExtendingInnerInStaticContext.java|com/android/jack/frontend/test015/jack/WithOuterContextButStatic.java|com/android/jack/frontend/test016/jack/WithDuplicated.java|com/android/jack/frontend/test017/jack/InvalidQualification.java|com/android/jack/frontend/test019/jack/TooBig.java|com/android/jack/jarjar/test003/dontcompile/|com/android/jack/jarjar/test006/dontcompile/|com/android/jack/jarjar/test006/dontcompile/|com/android/jack/java8/annotation/test004/|com/android/jack/java8/bridges/test007/|com/android/jack/java8/intersectiontype/test004/|com/android/jack/java8/intersectiontype/test005/|com/android/jack/java8/intersectiontype/test006/|com/android/jack/java8/lambda/test039/|com/android/jack/java8/lambda/test040/|com/android/jack/java8/lambda/test041/|com/android/jack/java8/variable/test001/|com/android/jack/java8/variable/test003/|com/android/jack/jill/test001/**|com/android/jack/jill/test002/**|com/android/jack/jill/test003/**|com/android/jack/jill/test004/**|com/android/jack/jill/test005/**|com/android/jack/lookup/test001/liboverride/|com/android/jack/nopackage/test*/**|com/android/jack/sourcepath/test002/jack/Sourcepath002.java" kind="src" path="tests"/>
<classpathentry kind="lib" path="libs/junit4.jar"/>
<classpathentry kind="lib" path="libs/antlr-runtime-lib.jar"/>
<classpathentry kind="lib" path="libs/dx-ref.jar"/>
diff --git a/jack-tests/.settings/org.eclipse.jdt.core.prefs b/jack-tests/.settings/org.eclipse.jdt.core.prefs
index eeaca9e..2aa601b 100644
--- a/jack-tests/.settings/org.eclipse.jdt.core.prefs
+++ b/jack-tests/.settings/org.eclipse.jdt.core.prefs
@@ -7,9 +7,9 @@
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -92,7 +92,7 @@
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.compiler.source=1.8
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field=1585
org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field.count_dependent=1585|-1|1585
diff --git a/jack-tests/build.gradle b/jack-tests/build.gradle
index 1133f5d..5c84b4c 100644
--- a/jack-tests/build.gradle
+++ b/jack-tests/build.gradle
@@ -18,8 +18,8 @@
apply plugin: 'java'
apply plugin: 'org.anarres.jarjar'
- sourceCompatibility = 1.7
- targetCompatibility = 1.7
+ sourceCompatibility = 1.8
+ targetCompatibility = 1.8
apply from: "$rootDir/gradle-script/checkstyle.gradle"
apply from: "$rootDir/gradle-script/findbugs.gradle"
@@ -36,10 +36,8 @@
main {
java {
srcDirs = ['src', 'tests']
- exclude "com/android/jack/annotation/processor/sample2/src/**"
- exclude "com/android/jack/annotation/test015/jack/**"
- exclude "com/android/jack/annotation/test017/jack/**"
- exclude "com/android/jack/annotation/test019/jack/**"
+ exclude "com/android/jack/annotation/processor/sample2/src/"
+ exclude "com/android/jack/annotation/processor/sample2/src/"
exclude "com/android/jack/classpath/test002/lib1override/**"
exclude "com/android/jack/encoding/tests/**"
exclude "com/android/jack/enums/test003/link/Other.java"
@@ -47,6 +45,9 @@
exclude "com/android/jack/error/test001/jack/A.java"
exclude "com/android/jack/error/test002/jack/A.java"
exclude "com/android/jack/frontend/test002/jack/PackageName/ClassInConflictingPackage.java"
+ exclude "com/android/jack/frontend/test005/jack/**"
+ exclude "com/android/jack/frontend/test006/jack/**"
+ exclude "com/android/jack/frontend/test007/jackduplicate/"
exclude "com/android/jack/frontend/test008/jack/NoOuterContext.java"
exclude "com/android/jack/frontend/test010/jack/UnusedLocalVar.java"
exclude "com/android/jack/frontend/test013/jack/ExtendingInnerOnly.java"
@@ -55,48 +56,24 @@
exclude "com/android/jack/frontend/test016/jack/WithDuplicated.java"
exclude "com/android/jack/frontend/test017/jack/InvalidQualification.java"
exclude "com/android/jack/frontend/test019/jack/TooBig.java"
- exclude "com/android/jack/frontend/test018/jack/**"
- exclude "com/android/jack/nopackage/jack/**"
- exclude "com/android/jack/java8/lambda/**"
- exclude "com/android/jack/java8/defaultmethod/**"
- exclude "com/android/jack/java8/staticmethod/**"
- exclude "com/android/jack/java8/methodref/**"
- exclude "com/android/jack/java8/inference/**"
- exclude "com/android/jack/java8/gwt/**"
- exclude "com/android/jack/java8/retrolambda/**"
- exclude "com/android/jack/java8/intersectiontype/**"
- exclude "com/android/jack/java8/annotation/**"
- exclude "com/android/jack/java8/variable/**"
- exclude "com/android/jack/java8/bridges/**"
- exclude "com/android/jack/java8/parameter/**"
- exclude "com/android/jack/jarjar/test003/dontcompile/**"
- exclude "com/android/jack/jarjar/test004/dontcompile/**"
- exclude "com/android/jack/jarjar/test006/dontcompile/**"
- exclude "com/android/jack/lookup/test001/liboverride/**"
- exclude "com/android/jack/frontend/generic/test002/jack/**"
- exclude "com/android/jack/frontend/generic/test003/jack/**"
- exclude "com/android/jack/frontend/test005/jack/**"
- exclude "com/android/jack/frontend/test006/jack/**"
- exclude "com/android/jack/frontend/test007/**"
+ exclude "com/android/jack/jarjar/test003/dontcompile/"
+ exclude "com/android/jack/jarjar/test006/dontcompile/"
+ exclude "com/android/jack/jarjar/test006/dontcompile/"
+ exclude "com/android/jack/java8/gwt/test019/jack/Java8Test.java"
+ exclude "com/android/jack/java8/intersectiontype/test004/"
+ exclude "com/android/jack/java8/intersectiontype/test005/"
+ exclude "com/android/jack/java8/intersectiontype/test006/"
+ exclude "com/android/jack/java8/lambda/test019/"
+ exclude "com/android/jack/java8/methodref/test014/jack/Tests.java"
+ exclude "com/android/jack/java8/variable/test001/"
+ exclude "com/android/jack/java8/variable/test003/"
exclude "com/android/jack/jill/test001/**"
exclude "com/android/jack/jill/test002/**"
exclude "com/android/jack/jill/test003/**"
exclude "com/android/jack/jill/test004/**"
- exclude "com/android/jack/multidex/test004/**"
- exclude "com/android/jack/nopackage/test*/**"
- exclude "com/android/jack/optimizations/lambdas/test001/**"
- exclude "com/android/jack/optimizations/lambdas/test002/**"
- exclude "com/android/jack/optimizations/lambdas/test003/**"
- exclude "com/android/jack/optimizations/lambdas/test004/**"
- exclude "com/android/jack/optimizations/lambdas/test005/**"
- exclude "com/android/jack/optimizations/lambdas/test006/**"
- exclude "com/android/jack/optimizations/lambdas/test007/**"
- exclude "com/android/jack/optimizations/lambdas/test008/**"
+ exclude "com/android/jack/jill/test005/**"
+ exclude "com/android/jack/lookup/test001/liboverride/"
exclude "com/android/jack/sourcepath/test002/jack/Sourcepath002.java"
- exclude "com/android/jack/shrob/test062/jack/**"
- exclude "com/android/jack/shrob/test066/jack/**"
- exclude "com/android/jack/shrob/test067/jack/**"
- exclude "com/android/jack/shrob/test068/jack/**"
}
}
diff --git a/jack-tests/src/com/android/jack/test/comparator/ComparatorDex.java b/jack-tests/src/com/android/jack/test/comparator/ComparatorDex.java
index 00f47a1..486ff10 100644
--- a/jack-tests/src/com/android/jack/test/comparator/ComparatorDex.java
+++ b/jack-tests/src/com/android/jack/test/comparator/ComparatorDex.java
@@ -18,9 +18,10 @@
import com.android.jack.comparator.DexComparator;
import com.android.jack.comparator.DifferenceFoundException;
+import com.android.sched.util.file.CannotCloseException;
+import com.android.sched.util.file.CannotReadException;
import java.io.File;
-import java.io.IOException;
import javax.annotation.Nonnull;
@@ -74,7 +75,7 @@
try {
new DexComparator(withDebugInfo, strict, compareDebugInfoBinary, compareInstructionNumber,
instructionNumberTolerance).compare(reference, candidate);
- } catch (IOException e) {
+ } catch (CannotReadException | CannotCloseException e) {
throw new ComparatorException(e);
}
}
diff --git a/jack-tests/src/com/android/jack/test/helper/IncrementalTestHelper.java b/jack-tests/src/com/android/jack/test/helper/IncrementalTestHelper.java
index 5be494c..6265f65 100644
--- a/jack-tests/src/com/android/jack/test/helper/IncrementalTestHelper.java
+++ b/jack-tests/src/com/android/jack/test/helper/IncrementalTestHelper.java
@@ -244,7 +244,7 @@
@Nonnull
public void run(@Nonnull String mainClass, @Nonnull String expected) throws Exception {
- List<RuntimeRunner> runnerList = AbstractTestTools.listRuntimeTestRunners(null);
+ List<RuntimeRunner> runnerList = AbstractTestTools.listRuntimeTestRunners();
for (RuntimeRunner runner : runnerList) {
ByteArrayOutputStream out = new ByteArrayOutputStream();
((AbstractRuntimeRunner) runner).setOutputStream(out);
diff --git a/jack-tests/src/com/android/jack/test/runner/DeviceRunner.java b/jack-tests/src/com/android/jack/test/runner/DeviceRunner.java
index 7a087bb..ba7955c 100644
--- a/jack-tests/src/com/android/jack/test/runner/DeviceRunner.java
+++ b/jack-tests/src/com/android/jack/test/runner/DeviceRunner.java
@@ -188,176 +188,186 @@
}
int exitStatus = -1;
+ List<String> failingDevices = new ArrayList<>(0);
for (IDevice device : connectedDevices) {
- checkDeviceRuntime(device);
-
- if (isVerbose) {
- System.out.println("Running on device: " + device.getName());
- }
-
- ensureAdbRoot(device);
-
- //Remove trailing '\n' returned by emulator
- File testsRootDirFile =
- new File(device.getMountPoint(IDevice.MNT_DATA).replace("\n", ""), "jack-tests");
- String testsRootDir = convertToTargetPath(testsRootDirFile);
-
- String testScriptPathOnTarget =
- convertToTargetPath(new File(testsRootDirFile, "TEST_SCRIPT_NAME"));
-
- String[] desFilePaths = new String[classpathFiles.length];
try {
- if (isVerbose) {
- System.out.println("adb shell -s " + device.getSerialNumber() + " mkdir "
- + testsRootDir);
- }
- device.executeShellCommand("mkdir " + testsRootDir, hostOutput);
+
+ checkDeviceRuntime(device);
if (isVerbose) {
- System.out.println("adb shell -s " + device.getSerialNumber() + " rm "
- + testsRootDir + FileListingService.FILE_SEPARATOR + "*");
+ System.out.println("Running on device: " + device.getName());
}
- device.executeShellCommand("rm " + testsRootDir + FileListingService.FILE_SEPARATOR + "*",
- hostOutput);
- if (isVerbose) {
- System.out.println("adb -s " + device.getSerialNumber() + " push "
- + TEST_SCRIPT_FILE.getAbsolutePath() + " "
- + testScriptPathOnTarget);
- }
- device.pushFile(TEST_SCRIPT_FILE.getAbsolutePath(),
- testScriptPathOnTarget);
+ ensureAdbRoot(device);
- if (isVerbose) {
- System.out.println("adb -s " + device.getSerialNumber() + " shell chmod 777 "
- + testScriptPathOnTarget);
- }
- device.executeShellCommand(
- "chmod 777 " + testScriptPathOnTarget, hostOutput);
+ //Remove trailing '\n' returned by emulator
+ File testsRootDirFile =
+ new File(device.getMountPoint(IDevice.MNT_DATA).replace("\n", ""), "jack-tests");
+ String testsRootDir = convertToTargetPath(testsRootDirFile);
- int i = 0;
- for (File f : classpathFiles) {
- desFilePaths[i] =
- convertToTargetPath(new File(testsRootDirFile, "f" + i + "_" + f.getName()));
+ String testScriptPathOnTarget =
+ convertToTargetPath(new File(testsRootDirFile, "TEST_SCRIPT_NAME"));
+
+ String[] desFilePaths = new String[classpathFiles.length];
+ try {
+ if (isVerbose) {
+ System.out.println("adb shell -s " + device.getSerialNumber() + " mkdir "
+ + testsRootDir);
+ }
+ device.executeShellCommand("mkdir " + testsRootDir, hostOutput);
if (isVerbose) {
- System.out.println("adb -s " + device.getSerialNumber() + " push "
- + f.getAbsolutePath() + " " + desFilePaths[i]);
+ System.out.println("adb shell -s " + device.getSerialNumber() + " rm "
+ + testsRootDir + FileListingService.FILE_SEPARATOR + "*");
}
- device.pushFile(f.getAbsolutePath(), desFilePaths[i]);
- i++;
- }
- } catch (TimeoutException e) {
- throw new RuntimeRunnerException(e);
- } catch (AdbCommandRejectedException e) {
- throw new RuntimeRunnerException(e);
- } catch (ShellCommandUnresponsiveException e) {
- throw new RuntimeRunnerException(e);
- } catch (IOException e) {
- throw new RuntimeRunnerException(e);
- } catch (SyncException e) {
- throw new RuntimeRunnerException(e);
- }
+ device.executeShellCommand("rm " + testsRootDir + FileListingService.FILE_SEPARATOR + "*",
+ hostOutput);
- // Split command line to have at most MAX_NB_CLASSES jUnit classes per invocation
- List<List<String>> splittedMainClasses = new ArrayList<List<String>>();
- int currentChunk = 0;
- for (String classToRun : classes) {
- if (splittedMainClasses.size() == currentChunk) {
- splittedMainClasses.add(new ArrayList<String>(MAX_NB_CLASSES));
- if (jUnitRunnerName != null) {
- splittedMainClasses.get(currentChunk).add(jUnitRunnerName);
- }
- }
-
- splittedMainClasses.get(currentChunk).add(classToRun);
-
- if (splittedMainClasses.get(currentChunk).size() == MAX_NB_CLASSES) {
- currentChunk++;
- }
- }
- List<String> cmdLines = new ArrayList<String>(splittedMainClasses.size());
- File rootDir = new File(device.getMountPoint(IDevice.MNT_ROOT).replace("\n", ""));
- for (List<String> classList : splittedMainClasses) {
- cmdLines.add(Joiner.on(' ').join(buildCommandLine(rootDir, options,
- classList.toArray(new String[classList.size()]), desFilePaths)));
- }
-
- try {
- // Bug : exit code return by adb shell is wrong (always 0)
- // https://code.google.com/p/android/issues/detail?id=3254
- // Use go team hack to work this around
- // https://code.google.com/p/go/source/browse/misc/arm/a
-
- for (String args : cmdLines) {
if (isVerbose) {
- System.out.println("adb -s " + device.getSerialNumber() + " shell "
- + testScriptPathOnTarget + ' ' + args);
+ System.out.println("adb -s " + device.getSerialNumber() + " push "
+ + TEST_SCRIPT_FILE.getAbsolutePath() + " "
+ + testScriptPathOnTarget);
+ }
+ device.pushFile(TEST_SCRIPT_FILE.getAbsolutePath(),
+ testScriptPathOnTarget);
+
+ if (isVerbose) {
+ System.out.println("adb -s " + device.getSerialNumber() + " shell chmod 777 "
+ + testScriptPathOnTarget);
}
device.executeShellCommand(
- testScriptPathOnTarget + ' ' + args,
- new MyShellOuputReceiver(outRedirectStream, errRedirectStream),
- /* maxTimeToOutputResponse = */ 10000);
+ "chmod 777 " + testScriptPathOnTarget, hostOutput);
- File exitStatusFile = AbstractTestTools.createTempFile("exitStatus", "");
- if (isVerbose) {
- System.out.println("adb -s " + device.getSerialNumber() + " pull "
- + testsRootDir + "/exitStatus "
- + exitStatusFile.getAbsolutePath());
- }
- device.pullFile(testsRootDir + "/exitStatus",
- exitStatusFile.getAbsolutePath());
+ int i = 0;
+ for (File f : classpathFiles) {
+ desFilePaths[i] =
+ convertToTargetPath(new File(testsRootDirFile, "f" + i + "_" + f.getName()));
- BufferedReader br = new BufferedReader(new FileReader(exitStatusFile));
- try {
- String readLine = br.readLine();
- if (readLine == null) {
- throw new RuntimeRunnerException("Exit status not found");
- }
- exitStatus = Integer.parseInt(readLine);
- } finally {
- br.close();
- }
-
- if (isVerbose) {
- System.out.println("Exit status: " + exitStatus);
- }
-
- if (exitStatus != 0) {
- System.err.println("Execution failed on device '" + device.getName() + "'");
- break;
- }
- }
- } catch (TimeoutException e) {
- throw new RuntimeRunnerException(e);
- } catch (AdbCommandRejectedException e) {
- throw new RuntimeRunnerException(e);
- } catch (ShellCommandUnresponsiveException e) {
- throw new RuntimeRunnerException(e);
- } catch (CannotChangePermissionException | CannotCreateFileException | IOException e) {
- throw new RuntimeRunnerException(e);
- } catch (SyncException e) {
- throw new RuntimeRunnerException(e);
- } finally {
- try {
- for (String pushedFile : desFilePaths) {
if (isVerbose) {
- System.out.println(
- "adb -s " + device.getSerialNumber() + " rm " + pushedFile);
+ System.out.println("adb -s " + device.getSerialNumber() + " push "
+ + f.getAbsolutePath() + " " + desFilePaths[i]);
}
- device.executeShellCommand("rm " + pushedFile, hostOutput);
+ device.pushFile(f.getAbsolutePath(), desFilePaths[i]);
+ i++;
}
- } catch (IOException e) {
- throw new RuntimeRunnerException(e);
- } catch (TimeoutException e) {
- throw new RuntimeRunnerException(e);
- } catch (AdbCommandRejectedException e) {
- throw new RuntimeRunnerException(e);
- } catch (ShellCommandUnresponsiveException e) {
+ } catch (TimeoutException
+ | AdbCommandRejectedException
+ | ShellCommandUnresponsiveException
+ | IOException
+ | SyncException e) {
throw new RuntimeRunnerException(e);
}
+
+ // Split command line to have at most MAX_NB_CLASSES jUnit classes per invocation
+ List<List<String>> splittedMainClasses = new ArrayList<List<String>>();
+ int currentChunk = 0;
+ for (String classToRun : classes) {
+ if (splittedMainClasses.size() == currentChunk) {
+ splittedMainClasses.add(new ArrayList<String>(MAX_NB_CLASSES));
+ if (jUnitRunnerName != null) {
+ splittedMainClasses.get(currentChunk).add(jUnitRunnerName);
+ }
+ }
+
+ splittedMainClasses.get(currentChunk).add(classToRun);
+
+ if (splittedMainClasses.get(currentChunk).size() == MAX_NB_CLASSES) {
+ currentChunk++;
+ }
+ }
+ List<String> cmdLines = new ArrayList<String>(splittedMainClasses.size());
+ File rootDir = new File(device.getMountPoint(IDevice.MNT_ROOT).replace("\n", ""));
+ for (List<String> classList : splittedMainClasses) {
+ cmdLines.add(Joiner.on(' ').join(buildCommandLine(rootDir, options,
+ classList.toArray(new String[classList.size()]), desFilePaths)));
+ }
+
+ try {
+ // Bug : exit code return by adb shell is wrong (always 0)
+ // https://code.google.com/p/android/issues/detail?id=3254
+ // Use go team hack to work this around
+ // https://code.google.com/p/go/source/browse/misc/arm/a
+
+ for (String args : cmdLines) {
+ if (isVerbose) {
+ System.out.println("adb -s " + device.getSerialNumber() + " shell "
+ + testScriptPathOnTarget + ' ' + args);
+ }
+ device.executeShellCommand(
+ testScriptPathOnTarget + ' ' + args,
+ new MyShellOuputReceiver(outRedirectStream, errRedirectStream),
+ /* maxTimeToOutputResponse = */ 10000);
+
+ File exitStatusFile = AbstractTestTools.createTempFile("exitStatus", "");
+ if (isVerbose) {
+ System.out.println("adb -s " + device.getSerialNumber() + " pull "
+ + testsRootDir + "/exitStatus "
+ + exitStatusFile.getAbsolutePath());
+ }
+ device.pullFile(testsRootDir + "/exitStatus",
+ exitStatusFile.getAbsolutePath());
+
+ BufferedReader br = new BufferedReader(new FileReader(exitStatusFile));
+ try {
+ String readLine = br.readLine();
+ if (readLine == null) {
+ throw new RuntimeRunnerException("Exit status not found");
+ }
+ exitStatus = Integer.parseInt(readLine);
+ } finally {
+ br.close();
+ }
+
+ if (isVerbose) {
+ System.out.println("Exit status: " + exitStatus);
+ }
+
+ if (exitStatus != 0) {
+ System.err.println("Execution failed on device '" + device.getName() + "'");
+ break;
+ }
+ }
+ } catch (TimeoutException
+ | AdbCommandRejectedException
+ | ShellCommandUnresponsiveException
+ | CannotChangePermissionException
+ | CannotCreateFileException
+ | IOException
+ | SyncException e) {
+ throw new RuntimeRunnerException(e);
+ } finally {
+ try {
+ for (String pushedFile : desFilePaths) {
+ if (isVerbose) {
+ System.out.println(
+ "adb -s " + device.getSerialNumber() + " rm " + pushedFile);
+ }
+ device.executeShellCommand("rm " + pushedFile, hostOutput);
+ }
+ } catch (IOException
+ | TimeoutException
+ | AdbCommandRejectedException
+ | ShellCommandUnresponsiveException e) {
+ throw new RuntimeRunnerException(e);
+ }
+ }
+
+ } catch (RuntimeRunnerException e) {
+ System.err.println("Error with device '" + device.getName() + "': " + e.getMessage());
+ failingDevices.add(device.getName());
}
+
+ }
+
+ if (failingDevices.size() > 0) {
+ String device = failingDevices.size() == 1 ? "device" : "devices";
+ throw new RuntimeRunnerException(
+ "Error with "
+ + device
+ + ": "
+ + Joiner.on(',').join(failingDevices)
+ + ". See log for details");
}
return exitStatus;
diff --git a/jack-tests/src/com/android/jack/test/toolchain/AbstractTestTools.java b/jack-tests/src/com/android/jack/test/toolchain/AbstractTestTools.java
index b781ece..1bc9191 100644
--- a/jack-tests/src/com/android/jack/test/toolchain/AbstractTestTools.java
+++ b/jack-tests/src/com/android/jack/test/toolchain/AbstractTestTools.java
@@ -839,6 +839,12 @@
}
@Nonnull
+ public static List<RuntimeRunner> listRuntimeTestRunners()
+ throws SecurityException, IllegalArgumentException, RuntimeRunnerException {
+ return listRuntimeTestRunners(/*properties = */ null);
+ }
+
+ @Nonnull
public static List<RuntimeRunner> listRuntimeTestRunners(@CheckForNull Properties properties)
throws SecurityException, IllegalArgumentException, RuntimeRunnerException {
diff --git a/jack-tests/src/com/android/jack/test/toolchain/JackCliToolchain.java b/jack-tests/src/com/android/jack/test/toolchain/JackCliToolchain.java
index 83de85c..731340d 100644
--- a/jack-tests/src/com/android/jack/test/toolchain/JackCliToolchain.java
+++ b/jack-tests/src/com/android/jack/test/toolchain/JackCliToolchain.java
@@ -19,7 +19,7 @@
import com.google.common.base.Joiner;
import com.android.jack.Options;
-import com.android.jack.Options.VerbosityLevel;
+import com.android.jack.VerbosityLevel;
import com.android.jack.test.util.ExecFileException;
import com.android.jack.test.util.ExecuteFile;
@@ -50,7 +50,7 @@
@CheckForNull
protected File incrementalFolder;
@Nonnull
- protected Options.VerbosityLevel verbosityLevel = VerbosityLevel.WARNING;
+ protected VerbosityLevel verbosityLevel = VerbosityLevel.WARNING;
@Nonnull
protected final Map<String, String> properties = new HashMap<String, String>();
diff --git a/jack-tests/tests/com/android/jack/annotation/processor/AnnotationProcessorTests.java b/jack-tests/tests/com/android/jack/annotation/processor/AnnotationProcessorTests.java
index 354e2b4..942ed8a 100644
--- a/jack-tests/tests/com/android/jack/annotation/processor/AnnotationProcessorTests.java
+++ b/jack-tests/tests/com/android/jack/annotation/processor/AnnotationProcessorTests.java
@@ -23,8 +23,10 @@
import com.android.jack.library.FileTypeDoesNotExistException;
import com.android.jack.library.InputJackLibrary;
import com.android.jack.test.TestsProperties;
+import com.android.jack.test.junit.KnownIssue;
import com.android.jack.test.toolchain.AbstractTestTools;
import com.android.jack.test.toolchain.IToolchain;
+import com.android.jack.test.toolchain.IncrementalToolchain;
import com.android.jack.test.toolchain.JackBasedToolchain;
import com.android.jack.test.toolchain.JillBasedToolchain;
import com.android.jack.test.util.ExecFileException;
@@ -118,6 +120,7 @@
}
@Test
+ @KnownIssue(candidate=IncrementalToolchain.class)
public void compileWithAnnotationProcessorAuto_classpath() throws Exception {
List<Class<? extends IToolchain>> exclude = new ArrayList<Class<? extends IToolchain>>();
exclude.add(JillBasedToolchain.class);
@@ -137,6 +140,7 @@
}
@Test
+ @KnownIssue(candidate=IncrementalToolchain.class)
public void compileWithAnnotationProcessorAuto_processorPath() throws Exception {
List<Class<? extends IToolchain>> exclude = new ArrayList<Class<? extends IToolchain>>();
exclude.add(JillBasedToolchain.class);
@@ -157,6 +161,7 @@
}
@Test
+ @KnownIssue(candidate=IncrementalToolchain.class)
public void compileWithAnnotationProcessorNoAuto_processorPath() throws Exception {
List<Class<? extends IToolchain>> exclude = new ArrayList<Class<? extends IToolchain>>();
exclude.add(JillBasedToolchain.class);
diff --git a/jack-tests/tests/com/android/jack/clinit/ClinitTests.java b/jack-tests/tests/com/android/jack/clinit/ClinitTests.java
index 01262e1..6dd4dcc 100644
--- a/jack-tests/tests/com/android/jack/clinit/ClinitTests.java
+++ b/jack-tests/tests/com/android/jack/clinit/ClinitTests.java
@@ -16,15 +16,17 @@
package com.android.jack.clinit;
+import com.android.jack.test.junit.KnownIssue;
import com.android.jack.test.toolchain.AbstractTestTools;
import com.android.jack.test.toolchain.IToolchain;
+import com.android.jack.test.toolchain.JillBasedToolchain;
import org.junit.Test;
public class ClinitTests {
public static final String CLASS_WITH_VARIABLE_INIT_BINARY_NAME
- = "com/android/jack/clinit/jack/ClInitWithVariableInit";
+ = "com/android/jack/clinit/test001/jack/ClInitWithVariableInit";
@Test
public void testCompileWithClinit() throws Exception {
@@ -33,7 +35,18 @@
.srcToExe(
AbstractTestTools.createTempDir(),
/* zipFile = */ false,
- AbstractTestTools.getTestRootDir("com.android.jack.clinit.jack"));
+ AbstractTestTools.getTestRootDir("com.android.jack.clinit.test001.jack"));
+ }
+
+ @Test
+ @KnownIssue(candidate=JillBasedToolchain.class)
+ public void testCompileAnnotationWithClinit() throws Exception {
+ IToolchain toolchain = AbstractTestTools.getCandidateToolchain();
+ toolchain.addToClasspath(toolchain.getDefaultBootClasspath())
+ .srcToExe(
+ AbstractTestTools.createTempDir(),
+ /* zipFile = */ false,
+ AbstractTestTools.getTestRootDir("com.android.jack.clinit.test002.jack"));
}
}
diff --git a/jack-tests/tests/com/android/jack/clinit/jack/ClInit.java b/jack-tests/tests/com/android/jack/clinit/test001/jack/ClInit.java
similarity index 93%
rename from jack-tests/tests/com/android/jack/clinit/jack/ClInit.java
rename to jack-tests/tests/com/android/jack/clinit/test001/jack/ClInit.java
index 680f9cf..d4fbee3 100644
--- a/jack-tests/tests/com/android/jack/clinit/jack/ClInit.java
+++ b/jack-tests/tests/com/android/jack/clinit/test001/jack/ClInit.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.jack.clinit.jack;
+package com.android.jack.clinit.test001.jack;
public class ClInit {
diff --git a/jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java b/jack-tests/tests/com/android/jack/clinit/test001/jack/ClInitWithVariableInit.java
similarity index 93%
rename from jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java
rename to jack-tests/tests/com/android/jack/clinit/test001/jack/ClInitWithVariableInit.java
index 8c344dd..f39d1c8 100644
--- a/jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java
+++ b/jack-tests/tests/com/android/jack/clinit/test001/jack/ClInitWithVariableInit.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.jack.clinit.jack;
+package com.android.jack.clinit.test001.jack;
public class ClInitWithVariableInit {
diff --git a/jack-tests/tests/com/android/jack/clinit/jack/ClInit.java b/jack-tests/tests/com/android/jack/clinit/test002/jack/Application.java
similarity index 78%
copy from jack-tests/tests/com/android/jack/clinit/jack/ClInit.java
copy to jack-tests/tests/com/android/jack/clinit/test002/jack/Application.java
index 680f9cf..0cc416e 100644
--- a/jack-tests/tests/com/android/jack/clinit/jack/ClInit.java
+++ b/jack-tests/tests/com/android/jack/clinit/test002/jack/Application.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012 The Android Open Source Project
+ * Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,8 +14,8 @@
* limitations under the License.
*/
-package com.android.jack.clinit.jack;
+package com.android.jack.clinit.test002.jack;
-public class ClInit {
-
+class Application {
+ protected Application() { }
}
diff --git a/jack-tests/tests/com/android/jack/clinit/jack/ClInit.java b/jack-tests/tests/com/android/jack/clinit/test002/jack/Config.java
similarity index 71%
copy from jack-tests/tests/com/android/jack/clinit/jack/ClInit.java
copy to jack-tests/tests/com/android/jack/clinit/test002/jack/Config.java
index 680f9cf..83ed1e6 100644
--- a/jack-tests/tests/com/android/jack/clinit/jack/ClInit.java
+++ b/jack-tests/tests/com/android/jack/clinit/test002/jack/Config.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012 The Android Open Source Project
+ * Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,8 +14,10 @@
* limitations under the License.
*/
-package com.android.jack.clinit.jack;
+package com.android.jack.clinit.test002.jack;
-public class ClInit {
-
+public @interface Config {
+ String s = "A String";
+ int i = 123;
+ Class<Application> DEFAULT_APPLICATION = Application.class;
}
diff --git a/jack-tests/tests/com/android/jack/dextag/DexTagTests.java b/jack-tests/tests/com/android/jack/dextag/DexTagTests.java
index fd3498c..c2e6b2d 100644
--- a/jack-tests/tests/com/android/jack/dextag/DexTagTests.java
+++ b/jack-tests/tests/com/android/jack/dextag/DexTagTests.java
@@ -20,13 +20,14 @@
import com.android.jack.dx.io.DexBuffer;
import com.android.jack.test.toolchain.AbstractTestTools;
import com.android.jack.test.toolchain.JackBasedToolchain;
+import com.android.sched.util.file.CannotCloseException;
+import com.android.sched.util.file.CannotReadException;
import junit.framework.Assert;
import org.junit.Test;
import java.io.File;
-import java.io.IOException;
import java.util.Iterator;
import javax.annotation.Nonnull;
@@ -49,7 +50,7 @@
Assert.assertTrue(hasTag(classesDex));
}
- private boolean hasTag(@Nonnull File dexFile) throws IOException {
+ private boolean hasTag(@Nonnull File dexFile) throws CannotReadException, CannotCloseException {
Iterator<String> stringsIt = new DexBuffer(dexFile).strings().iterator();
while (stringsIt.hasNext()) {
diff --git a/jack-tests/tests/com/android/jack/dx/DxTests.java b/jack-tests/tests/com/android/jack/dx/DxTests.java
index b9293ac..80e530e 100644
--- a/jack-tests/tests/com/android/jack/dx/DxTests.java
+++ b/jack-tests/tests/com/android/jack/dx/DxTests.java
@@ -22,11 +22,13 @@
import com.android.jack.test.category.RuntimeRegressionTest;
import com.android.jack.test.helper.FileChecker;
import com.android.jack.test.helper.RuntimeTestHelper;
+import com.android.jack.test.junit.KnownIssue;
import com.android.jack.test.junit.Runtime;
import com.android.jack.test.runtime.RuntimeTest;
import com.android.jack.test.runtime.RuntimeTestInfo;
import com.android.jack.test.toolchain.AbstractTestTools;
import com.android.jack.test.toolchain.IToolchain;
+import com.android.jack.test.toolchain.IncrementalToolchain;
import com.android.jack.test.toolchain.JackApiToolchainBase;
import com.android.jack.test.toolchain.JackApiV02;
import com.android.jack.test.toolchain.JillBasedToolchain;
@@ -209,6 +211,7 @@
}
@Test
+ @KnownIssue(candidate=IncrementalToolchain.class)
public void testCarnacBinaryOr() throws Exception {
File srcDir = AbstractTestTools.getTestRootDir("com.android.jack.dx.jacklibs");
File carnacLib = new File(srcDir, "carnac-binary-or.jack");
diff --git a/jack-tests/tests/com/android/jack/encoding/CompileEncodingTests.java b/jack-tests/tests/com/android/jack/encoding/CompileEncodingTests.java
index 936f0bb..781cba5 100644
--- a/jack-tests/tests/com/android/jack/encoding/CompileEncodingTests.java
+++ b/jack-tests/tests/com/android/jack/encoding/CompileEncodingTests.java
@@ -210,7 +210,7 @@
private void run(@Nonnull String clazz, @Nonnull File binDirectory,
int expected)
throws SecurityException, IllegalArgumentException, RuntimeRunnerException {
- for (RuntimeRunner runner : AbstractTestTools.listRuntimeTestRunners(null)) {
+ for (RuntimeRunner runner : AbstractTestTools.listRuntimeTestRunners()) {
if (runner.runJUnit(
new String[0],
AbstractTestTools.JUNIT_RUNNER_NAME,
diff --git a/jack-tests/tests/com/android/jack/error/AnnotationProcessorErrorTest.java b/jack-tests/tests/com/android/jack/error/AnnotationProcessorErrorTest.java
index eb0c93f..eafe041 100644
--- a/jack-tests/tests/com/android/jack/error/AnnotationProcessorErrorTest.java
+++ b/jack-tests/tests/com/android/jack/error/AnnotationProcessorErrorTest.java
@@ -30,7 +30,9 @@
import com.android.jack.resource.ResourceReadingException;
import com.android.jack.test.TestsProperties;
import com.android.jack.test.helper.ErrorTestHelper;
+import com.android.jack.test.junit.KnownIssue;
import com.android.jack.test.toolchain.AbstractTestTools;
+import com.android.jack.test.toolchain.IncrementalToolchain;
import com.android.jack.test.toolchain.JackApiToolchainBase;
import junit.framework.Assert;
@@ -58,6 +60,7 @@
* Checks that compilation succeed when running annotation processor to generate resource file.
*/
@Test
+ @KnownIssue(candidate=IncrementalToolchain.class)
public void testAnnotationProcessorError002() throws Exception {
runAnnotProcBuildingResource(new ErrorTestHelper());
}
@@ -67,6 +70,7 @@
* exist.
*/
@Test
+ @KnownIssue(candidate=IncrementalToolchain.class)
public void testAnnotationProcessorError003() throws Exception {
ErrorTestHelper te = new ErrorTestHelper();
diff --git a/jack-tests/tests/com/android/jack/error/FileAccessErrorTest.java b/jack-tests/tests/com/android/jack/error/FileAccessErrorTest.java
index 0b0aae8..16d45f1 100644
--- a/jack-tests/tests/com/android/jack/error/FileAccessErrorTest.java
+++ b/jack-tests/tests/com/android/jack/error/FileAccessErrorTest.java
@@ -24,7 +24,9 @@
import com.android.jack.library.LibraryIOException;
import com.android.jack.library.LibraryReadingException;
import com.android.jack.test.helper.ErrorTestHelper;
+import com.android.jack.test.junit.KnownIssue;
import com.android.jack.test.toolchain.AbstractTestTools;
+import com.android.jack.test.toolchain.IncrementalToolchain;
import com.android.jack.test.toolchain.JackApiToolchainBase;
import com.android.sched.util.config.PropertyIdException;
import com.android.sched.util.file.WrongPermissionException;
@@ -79,6 +81,7 @@
/**
* Checks that compilation fails correctly when a jack library folder is not readable.
*/
+ @KnownIssue(candidate=IncrementalToolchain.class)
@Test
public void testFileAccessError002() throws Exception {
ErrorTestHelper helper = new ErrorTestHelper();
diff --git a/jack-tests/tests/com/android/jack/experimental/incremental/DependenciesTest014.java b/jack-tests/tests/com/android/jack/experimental/incremental/DependenciesTest014.java
index d9c2359..b564534 100644
--- a/jack-tests/tests/com/android/jack/experimental/incremental/DependenciesTest014.java
+++ b/jack-tests/tests/com/android/jack/experimental/incremental/DependenciesTest014.java
@@ -19,6 +19,7 @@
import com.android.jack.dx.io.DexBuffer;
import com.android.jack.test.helper.IncrementalTestHelper;
import com.android.jack.test.toolchain.AbstractTestTools;
+import com.android.sched.util.location.FileLocation;
import junit.framework.Assert;
@@ -56,7 +57,7 @@
ite.deleteJavaFile(f);
ite.incrementalBuildFromFolder();
try (InputStream is = new FileInputStream(ite.getDexFile())) {
- DexBuffer db = new DexBuffer(is);
+ DexBuffer db = new DexBuffer(is, new FileLocation(ite.getDexFile()));
for (String typeName : db.typeNames()) {
if (typeName.equals("Ljack/incremental/B;")) {
Assert.fail();
@@ -91,7 +92,7 @@
ite.incrementalBuildFromFolder();
DexBuffer db;
try (InputStream is = new FileInputStream(ite.getDexFile())) {
- db = new DexBuffer(is);
+ db = new DexBuffer(is, new FileLocation(ite.getDexFile()));
}
for (String typeName : db.typeNames()) {
if (typeName.equals("Ljack/incremental/B;") ||
diff --git a/jack-tests/tests/com/android/jack/experimental/incremental/DependenciesTest015.java b/jack-tests/tests/com/android/jack/experimental/incremental/DependenciesTest015.java
index 9aa24e1..8268558 100644
--- a/jack-tests/tests/com/android/jack/experimental/incremental/DependenciesTest015.java
+++ b/jack-tests/tests/com/android/jack/experimental/incremental/DependenciesTest015.java
@@ -21,6 +21,7 @@
import com.android.jack.test.helper.IncrementalTestHelper;
import com.android.jack.test.toolchain.AbstractTestTools;
import com.android.jack.test.toolchain.JackBasedToolchain.MultiDexKind;
+import com.android.sched.util.location.FileLocation;
import junit.framework.Assert;
@@ -116,7 +117,7 @@
DexBuffer db;
try (InputStream is = new FileInputStream(iteProg.getDexFile())) {
- db = new DexBuffer(is);
+ db = new DexBuffer(is, new FileLocation(iteProg.getDexFile()));
}
Assert.assertTrue(db.typeNames().contains("Ljack/incremental/A;"));
Assert.assertTrue(db.typeNames().contains("Ljack/incremental/B;"));
@@ -133,7 +134,7 @@
Assert.assertEquals(1, iteProg.getJayceCount());
try (InputStream is = new FileInputStream(iteProg.getDexFile())) {
- db = new DexBuffer(is);
+ db = new DexBuffer(is, new FileLocation(iteProg.getDexFile()));
}
Assert.assertTrue(db.typeNames().contains("Ljack/incremental/A;"));
Assert.assertTrue(db.typeNames().contains("Ljack/incremental/B;"));
@@ -170,7 +171,7 @@
DexBuffer db;
try (InputStream is = new FileInputStream(iteProg.getDexFile())) {
- db = new DexBuffer(is);
+ db = new DexBuffer(is, new FileLocation(iteProg.getDexFile()));
}
Assert.assertTrue(db.typeNames().contains("Ljack/incremental/A;"));
Assert.assertTrue(db.typeNames().contains("Ljack/incremental/B;"));
@@ -189,7 +190,7 @@
Assert.assertEquals(2, iteProg.getJayceCount());
try (InputStream is = new FileInputStream(iteProg.getDexFile())) {
- db = new DexBuffer(is);
+ db = new DexBuffer(is, new FileLocation(iteProg.getDexFile()));
}
Assert.assertTrue(db.typeNames().contains("Ljack/incremental/A;"));
Assert.assertTrue(db.typeNames().contains("Ljack/incremental/B;"));
@@ -227,7 +228,7 @@
DexBuffer db;
try (InputStream is = new FileInputStream(iteProg.getDexFile())) {
- db = new DexBuffer(is);
+ db = new DexBuffer(is, new FileLocation(iteProg.getDexFile()));
}
Assert.assertTrue(db.typeNames().contains("Ljack/incremental/A;"));
Assert.assertTrue(db.typeNames().contains("Ljack/incremental/B;"));
@@ -244,7 +245,7 @@
Assert.assertEquals(1, iteProg.getJayceCount());
try (InputStream is = new FileInputStream(iteProg.getDexFile())) {
- db = new DexBuffer(is);
+ db = new DexBuffer(is, new FileLocation(iteProg.getDexFile()));
}
Assert.assertTrue(db.typeNames().contains("Ljack/incremental/A;"));
Assert.assertTrue(db.typeNames().contains("Ljack/incremental/B;"));
diff --git a/jack-tests/tests/com/android/jack/fileconflict/FileConflictTests.java b/jack-tests/tests/com/android/jack/fileconflict/FileConflictTests.java
index 8d7ba4f..45fe0e8 100644
--- a/jack-tests/tests/com/android/jack/fileconflict/FileConflictTests.java
+++ b/jack-tests/tests/com/android/jack/fileconflict/FileConflictTests.java
@@ -205,7 +205,6 @@
* @throws Exception
*/
@Test
- @KnownIssue(candidate=IncrementalToolchain.class)
public void test002a() throws Exception {
File jackOutput;
ByteArrayOutputStream errOut = new ByteArrayOutputStream();
@@ -228,7 +227,6 @@
* @throws Exception
*/
@Test
- @KnownIssue(candidate=IncrementalToolchain.class)
public void test002b() throws Exception {
File jackOutput;
ByteArrayOutputStream errOut = new ByteArrayOutputStream();
@@ -252,7 +250,6 @@
* @throws Exception
*/
@Test
- @KnownIssue(candidate=IncrementalToolchain.class)
public void test002c() throws Exception {
File jackOutput;
ByteArrayOutputStream errOut = new ByteArrayOutputStream();
@@ -278,7 +275,6 @@
* @throws Exception
*/
@Test
- @KnownIssue(candidate=IncrementalToolchain.class)
public void test002d() throws Exception {
File jackOutput;
ByteArrayOutputStream errOut = new ByteArrayOutputStream();
@@ -301,7 +297,6 @@
* @throws Exception
*/
@Test
- @KnownIssue(candidate=IncrementalToolchain.class)
public void test002e() throws Exception {
File jackOutput;
ByteArrayOutputStream errOut = new ByteArrayOutputStream();
diff --git a/jack-tests/tests/com/android/jack/frontend/FrontEndTests.java b/jack-tests/tests/com/android/jack/frontend/FrontEndTests.java
index 0b72964..0a41640 100644
--- a/jack-tests/tests/com/android/jack/frontend/FrontEndTests.java
+++ b/jack-tests/tests/com/android/jack/frontend/FrontEndTests.java
@@ -160,6 +160,7 @@
List<Class<? extends IToolchain>> excludeList = new ArrayList<Class<? extends IToolchain>>(1);
excludeList.add(JillBasedToolchain.class);
+ // because test check exact number of output "WARNING" messages
excludeList.add(IncrementalToolchain.class);
IToolchain toolchain = AbstractTestTools.getCandidateToolchain(JackBasedToolchain.class, excludeList);
ByteArrayOutputStream out = new ByteArrayOutputStream();
diff --git a/jack-tests/tests/com/android/jack/jarjar/JarjarTests.java b/jack-tests/tests/com/android/jack/jarjar/JarjarTests.java
index d63c60a..7fed66c 100644
--- a/jack-tests/tests/com/android/jack/jarjar/JarjarTests.java
+++ b/jack-tests/tests/com/android/jack/jarjar/JarjarTests.java
@@ -175,7 +175,7 @@
/* zipFiles = */ true,
new File(JARJAR004.directory, "lib"));
- List<RuntimeRunner> runnerList = AbstractTestTools.listRuntimeTestRunners(null);
+ List<RuntimeRunner> runnerList = AbstractTestTools.listRuntimeTestRunners();
String[] names = {"com.android.jack.jarjar.test004.dontcompile.TestWithRelocatedReference"};
for (RuntimeRunner runner : runnerList) {
Assert.assertEquals(
diff --git a/jack-tests/tests/com/android/jack/java7/EcjMethodHandleTest.java b/jack-tests/tests/com/android/jack/java7/EcjMethodHandleTest.java
index 6407303..029ab2e 100644
--- a/jack-tests/tests/com/android/jack/java7/EcjMethodHandleTest.java
+++ b/jack-tests/tests/com/android/jack/java7/EcjMethodHandleTest.java
@@ -106,7 +106,7 @@
File dexFile = new File(dexOutDir, "classes.dex");
- List<RuntimeRunner> runnerList = AbstractTestTools.listRuntimeTestRunners(null);
+ List<RuntimeRunner> runnerList = AbstractTestTools.listRuntimeTestRunners();
for (RuntimeRunner runner : runnerList) {
ByteArrayOutputStream out = new ByteArrayOutputStream();
((AbstractRuntimeRunner) runner).setOutputStream(out);
diff --git a/jack-tests/tests/com/android/jack/java7/EcjPolymorphicSignatureTest.java b/jack-tests/tests/com/android/jack/java7/EcjPolymorphicSignatureTest.java
index 58348fc..aee81d0 100644
--- a/jack-tests/tests/com/android/jack/java7/EcjPolymorphicSignatureTest.java
+++ b/jack-tests/tests/com/android/jack/java7/EcjPolymorphicSignatureTest.java
@@ -99,7 +99,7 @@
File dexFile = new File(dexOutDir, "classes.dex");
- List<RuntimeRunner> runnerList = AbstractTestTools.listRuntimeTestRunners(null);
+ List<RuntimeRunner> runnerList = AbstractTestTools.listRuntimeTestRunners();
for (RuntimeRunner runner : runnerList) {
ByteArrayOutputStream out = new ByteArrayOutputStream();
((AbstractRuntimeRunner) runner).setOutputStream(out);
diff --git a/jack-tests/tests/com/android/jack/java7/InvokePolymorphicTests.java b/jack-tests/tests/com/android/jack/java7/InvokePolymorphicTests.java
index 349cddf..a4b3f9b 100644
--- a/jack-tests/tests/com/android/jack/java7/InvokePolymorphicTests.java
+++ b/jack-tests/tests/com/android/jack/java7/InvokePolymorphicTests.java
@@ -30,6 +30,7 @@
import com.android.jack.test.helper.RuntimeTestHelper;
import com.android.jack.test.junit.KnownIssue;
import com.android.jack.test.junit.Runtime;
+import com.android.jack.test.junit.RuntimeVersion;
import com.android.jack.test.runtime.RuntimeTestInfo;
import com.android.jack.test.toolchain.AbstractTestTools;
import com.android.jack.test.toolchain.JackApiToolchainBase;
@@ -107,42 +108,42 @@
});
@Test
- @Runtime
+ @Runtime(from=RuntimeVersion.O)
@KnownIssue
public void testInvokePolymorphic001() throws Exception {
run(INVOKE_POLYMORPHIC_001);
}
@Test
- @Runtime
+ @Runtime(from=RuntimeVersion.O)
@KnownIssue
public void testInvokePolymorphic002() throws Exception {
run(INVOKE_POLYMORPHIC_002);
}
@Test
- @Runtime
+ @Runtime(from=RuntimeVersion.O)
@KnownIssue
public void testInvokePolymorphic003() throws Exception {
run(INVOKE_POLYMORPHIC_003);
}
@Test
- @Runtime
+ @Runtime(from=RuntimeVersion.O)
@KnownIssue
public void testInvokePolymorphic004() throws Exception {
run(INVOKE_POLYMORPHIC_004);
}
@Test
- @Runtime
+ @Runtime(from=RuntimeVersion.O)
@KnownIssue
public void testInvokePolymorphic005() throws Exception {
run(INVOKE_POLYMORPHIC_005);
}
@Test
- @Runtime
+ @Runtime(from=RuntimeVersion.O)
@KnownIssue
public void testInvokePolymorphic006() throws Exception {
run(INVOKE_POLYMORPHIC_006);
@@ -198,7 +199,7 @@
}
@Test
- @Runtime
+ @Runtime(from=RuntimeVersion.O)
@KnownIssue
public void testInvokePolymorphic007() throws Exception {
run(INVOKE_POLYMORPHIC_007);
diff --git a/jack-tests/tests/com/android/jack/java7/invokepolymorphic/test001/test.properties b/jack-tests/tests/com/android/jack/java7/invokepolymorphic/test001/test.properties
deleted file mode 100644
index f2a3478..0000000
--- a/jack-tests/tests/com/android/jack/java7/invokepolymorphic/test001/test.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-rt.args.ArtRunnerHost=-Xexperimental:method-handles
-rt.args.ArtRunnerDevice=-Xexperimental:method-handles
diff --git a/jack-tests/tests/com/android/jack/java7/invokepolymorphic/test002/test.properties b/jack-tests/tests/com/android/jack/java7/invokepolymorphic/test002/test.properties
deleted file mode 100644
index f2a3478..0000000
--- a/jack-tests/tests/com/android/jack/java7/invokepolymorphic/test002/test.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-rt.args.ArtRunnerHost=-Xexperimental:method-handles
-rt.args.ArtRunnerDevice=-Xexperimental:method-handles
diff --git a/jack-tests/tests/com/android/jack/java7/invokepolymorphic/test003/test.properties b/jack-tests/tests/com/android/jack/java7/invokepolymorphic/test003/test.properties
deleted file mode 100644
index f2a3478..0000000
--- a/jack-tests/tests/com/android/jack/java7/invokepolymorphic/test003/test.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-rt.args.ArtRunnerHost=-Xexperimental:method-handles
-rt.args.ArtRunnerDevice=-Xexperimental:method-handles
diff --git a/jack-tests/tests/com/android/jack/java7/invokepolymorphic/test004/test.properties b/jack-tests/tests/com/android/jack/java7/invokepolymorphic/test004/test.properties
deleted file mode 100644
index f2a3478..0000000
--- a/jack-tests/tests/com/android/jack/java7/invokepolymorphic/test004/test.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-rt.args.ArtRunnerHost=-Xexperimental:method-handles
-rt.args.ArtRunnerDevice=-Xexperimental:method-handles
diff --git a/jack-tests/tests/com/android/jack/java7/invokepolymorphic/test005/test.properties b/jack-tests/tests/com/android/jack/java7/invokepolymorphic/test005/test.properties
deleted file mode 100644
index f2a3478..0000000
--- a/jack-tests/tests/com/android/jack/java7/invokepolymorphic/test005/test.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-rt.args.ArtRunnerHost=-Xexperimental:method-handles
-rt.args.ArtRunnerDevice=-Xexperimental:method-handles
diff --git a/jack-tests/tests/com/android/jack/java7/invokepolymorphic/test006/test.properties b/jack-tests/tests/com/android/jack/java7/invokepolymorphic/test006/test.properties
deleted file mode 100644
index f2a3478..0000000
--- a/jack-tests/tests/com/android/jack/java7/invokepolymorphic/test006/test.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-rt.args.ArtRunnerHost=-Xexperimental:method-handles
-rt.args.ArtRunnerDevice=-Xexperimental:method-handles
diff --git a/jack-tests/tests/com/android/jack/java8/AnnotationTest.java b/jack-tests/tests/com/android/jack/java8/AnnotationTest.java
index ee84d6d..f479aae 100644
--- a/jack-tests/tests/com/android/jack/java8/AnnotationTest.java
+++ b/jack-tests/tests/com/android/jack/java8/AnnotationTest.java
@@ -175,7 +175,7 @@
@Nonnull
private void run(@Nonnull String mainClass, @Nonnull File[] dexFiles) throws Exception {
- List<RuntimeRunner> runnerList = AbstractTestTools.listRuntimeTestRunners(null);
+ List<RuntimeRunner> runnerList = AbstractTestTools.listRuntimeTestRunners();
for (RuntimeRunner runner : runnerList) {
Assert.assertEquals(0, runner.runJUnit(new String[0], AbstractTestTools.JUNIT_RUNNER_NAME,
new String[] {mainClass}, dexFiles));
diff --git a/jack-tests/tests/com/android/jack/java8/EcjInterfaceMethodsTest.java b/jack-tests/tests/com/android/jack/java8/EcjInterfaceMethodsTest.java
index d0727e0..31dce4f 100644
--- a/jack-tests/tests/com/android/jack/java8/EcjInterfaceMethodsTest.java
+++ b/jack-tests/tests/com/android/jack/java8/EcjInterfaceMethodsTest.java
@@ -199,7 +199,7 @@
File dexFile = new File(dexOutDir, "classes.dex");
List<RuntimeRunner> runnerList =
- AbstractTestTools.listRuntimeTestRunners(/* properties = */ null);
+ AbstractTestTools.listRuntimeTestRunners();
for (RuntimeRunner runner : runnerList) {
ByteArrayOutputStream out = new ByteArrayOutputStream();
((AbstractRuntimeRunner) runner).setOutputStream(out);
diff --git a/jack-tests/tests/com/android/jack/java8/EcjLambdaTest.java b/jack-tests/tests/com/android/jack/java8/EcjLambdaTest.java
index c9ee4b8..4826620 100644
--- a/jack-tests/tests/com/android/jack/java8/EcjLambdaTest.java
+++ b/jack-tests/tests/com/android/jack/java8/EcjLambdaTest.java
@@ -181,7 +181,7 @@
File dexFile = new File(dexOutDir, "classes.dex");
- List<RuntimeRunner> runnerList = AbstractTestTools.listRuntimeTestRunners(null);
+ List<RuntimeRunner> runnerList = AbstractTestTools.listRuntimeTestRunners();
for (RuntimeRunner runner : runnerList) {
ByteArrayOutputStream out = new ByteArrayOutputStream();
((AbstractRuntimeRunner) runner).setOutputStream(out);
diff --git a/jack-tests/tests/com/android/jack/java8/ExplicitReceiverTest.java b/jack-tests/tests/com/android/jack/java8/ExplicitReceiverTest.java
new file mode 100644
index 0000000..8f0f162
--- /dev/null
+++ b/jack-tests/tests/com/android/jack/java8/ExplicitReceiverTest.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.jack.java8;
+
+import com.android.jack.test.helper.RuntimeTestHelper;
+import com.android.jack.test.junit.Runtime;
+import com.android.jack.test.runtime.RuntimeTestInfo;
+import com.android.jack.test.toolchain.AbstractTestTools;
+import com.android.jack.test.toolchain.JackApiV01;
+import com.android.jack.test.toolchain.Toolchain.SourceLevel;
+
+import org.junit.Test;
+
+import javax.annotation.Nonnull;
+
+
+/**
+ * JUnit test for compilation of explicit receiver usage.
+ */
+public class ExplicitReceiverTest {
+
+ private final RuntimeTestInfo EXPLICIT_RECEIVER_001 = new RuntimeTestInfo(
+ AbstractTestTools.getTestRootDir("com.android.jack.java8.explicitreceiver.test001"),
+ "com.android.jack.java8.explicitreceiver.test001.Tests").setSrcDirName("");
+
+ private final RuntimeTestInfo EXPLICIT_RECEIVER_002 = new RuntimeTestInfo(
+ AbstractTestTools.getTestRootDir("com.android.jack.java8.explicitreceiver.test002"),
+ "com.android.jack.java8.explicitreceiver.test002.Tests").setSrcDirName("");
+
+ @Test
+ @Runtime
+ public void testExplicitReceiver001() throws Exception {
+ run(EXPLICIT_RECEIVER_001);
+ }
+
+ @Test
+ @Runtime
+ public void testExplicitReceiver002() throws Exception {
+ run(EXPLICIT_RECEIVER_002);
+ }
+
+
+ private void run(@Nonnull RuntimeTestInfo rti) throws Exception {
+ new RuntimeTestHelper(rti)
+ .setSourceLevel(SourceLevel.JAVA_8)
+ .addIgnoredCandidateToolchain(JackApiV01.class)
+ .compileAndRunTest();
+ }
+}
diff --git a/jack-tests/tests/com/android/jack/java8/Java8AllTest.java b/jack-tests/tests/com/android/jack/java8/Java8AllTest.java
index dcf4ca7..c4756b3 100644
--- a/jack-tests/tests/com/android/jack/java8/Java8AllTest.java
+++ b/jack-tests/tests/com/android/jack/java8/Java8AllTest.java
@@ -41,8 +41,12 @@
AnnotationTest.class,
BridgeTestPreN.class,
EcjLambdaTest.class,
+ ExplicitReceiverTest.class,
GwtTest.class,
IntersectionTypeTest.class,
+ LambdaGroupByPackageShrinkTests.class,
+ LambdaGroupByTypeShrinkTests.class,
+ LambdaNoGroupingShrinkTests.class,
LambdaTest.class,
MethodRefTest.class,
TypeInferenceTest.class,
diff --git a/jack-tests/tests/com/android/jack/java8/LambdaGroupByPackageShrinkTests.java b/jack-tests/tests/com/android/jack/java8/LambdaGroupByPackageShrinkTests.java
new file mode 100644
index 0000000..81ae6af
--- /dev/null
+++ b/jack-tests/tests/com/android/jack/java8/LambdaGroupByPackageShrinkTests.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.jack.java8;
+
+import com.android.jack.Options;
+import com.android.jack.test.toolchain.JackBasedToolchain;
+
+import javax.annotation.Nonnull;
+
+public class LambdaGroupByPackageShrinkTests extends LambdaNoGroupingShrinkTests {
+
+
+ @Override
+ @Nonnull
+ protected JackBasedToolchain getToolchain() {
+ return super.getToolchain().addProperty(Options.LAMBDA_GROUPING_SCOPE.getName(), "package");
+ }
+}
diff --git a/jack-tests/tests/com/android/jack/java8/LambdaGroupByTypeShrinkTests.java b/jack-tests/tests/com/android/jack/java8/LambdaGroupByTypeShrinkTests.java
new file mode 100644
index 0000000..747f049
--- /dev/null
+++ b/jack-tests/tests/com/android/jack/java8/LambdaGroupByTypeShrinkTests.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.jack.java8;
+
+import com.android.jack.Options;
+import com.android.jack.test.toolchain.JackBasedToolchain;
+
+import javax.annotation.Nonnull;
+
+public class LambdaGroupByTypeShrinkTests extends LambdaNoGroupingShrinkTests {
+
+
+ @Override
+ @Nonnull
+ protected JackBasedToolchain getToolchain() {
+ return super.getToolchain().addProperty(Options.LAMBDA_GROUPING_SCOPE.getName(), "type");
+ }
+}
diff --git a/jack-tests/tests/com/android/jack/java8/LambdaNoGroupingShrinkTests.java b/jack-tests/tests/com/android/jack/java8/LambdaNoGroupingShrinkTests.java
new file mode 100644
index 0000000..8ce06b5
--- /dev/null
+++ b/jack-tests/tests/com/android/jack/java8/LambdaNoGroupingShrinkTests.java
@@ -0,0 +1,159 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.jack.java8;
+
+import com.android.jack.Options;
+import com.android.jack.test.helper.RuntimeTestHelper;
+import com.android.jack.test.junit.Runtime;
+import com.android.jack.test.runtime.RuntimeTestInfo;
+import com.android.jack.test.toolchain.AbstractTestTools;
+import com.android.jack.test.toolchain.IToolchain;
+import com.android.jack.test.toolchain.JackBasedToolchain;
+import com.android.jack.test.toolchain.JillBasedToolchain;
+import com.android.jack.test.toolchain.Toolchain.SourceLevel;
+
+import org.junit.Test;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import javax.annotation.Nonnull;
+
+public class LambdaNoGroupingShrinkTests {
+
+ @Nonnull
+ private File PROGUARD_SHRINK_NOTHING = new File(
+ AbstractTestTools.getTestRootDir("com.android.jack.java8.lambda.test044"),
+ "shrink-nothing.flags");
+
+ @Nonnull
+ private RuntimeTestInfo TEST001 = new RuntimeTestInfo(
+ AbstractTestTools.getTestRootDir("com.android.jack.java8.lambda.test044"),
+ "com.android.jack.java8.lambda.test044.jack.Tests");
+
+ @Test
+ @Runtime
+ public void testLamba044_whole() throws Exception {
+
+ File lib = makeLibrary(new File[]{}, TEST001.directory);
+
+ test(TEST001.jUnit, lib);
+ }
+
+ @Test
+ @Runtime
+ public void testLamba044_ByLib() throws Exception {
+
+ File lib2 = makeLibrary(new File[]{}, new File(TEST001.directory, "lib2"));
+ File lib1 = makeLibrary(new File[]{lib2}, new File(TEST001.directory, "lib1"));
+ File libJack = makeLibrary(new File[]{lib2, lib1}, new File(TEST001.directory, "jack"));
+
+ test(TEST001.jUnit, lib2, lib1, libJack);
+
+ }
+
+ @Test
+ @Runtime
+ public void testLamba044_ByTestClass() throws Exception {
+
+ File libs = makeLibrary(new File[]{},
+ new File(TEST001.directory, "lib1"), new File(TEST001.directory, "lib2"));
+ File b2 = makeLibrary(new File[]{libs}, new File(TEST001.directory, "jack/B2.java"));
+ File b3 = makeLibrary(new File[]{libs}, new File(TEST001.directory, "jack/B3.java"));
+ File test = makeLibrary(new File[]{libs, b2, b3},
+ new File(TEST001.directory, "jack/Tests.java"));
+
+ test(TEST001.jUnit, libs, b2, b3, test);
+
+ }
+
+ @Test
+ @Runtime
+ public void testLamba044_ClassConflict() throws Exception {
+
+ File libs = makeLibrary(new File[]{},
+ new File(TEST001.directory, "lib1"), new File(TEST001.directory, "lib2"));
+ File lib2A3 = makeLibrary(new File[]{libs}, new File(TEST001.directory, "lib2/A3.java"));
+ File b2 = makeLibrary(new File[]{libs}, new File(TEST001.directory, "jack/B2.java"));
+ File b3 = makeLibrary(new File[]{libs}, new File(TEST001.directory, "jack/B3.java"));
+ File test = makeLibrary(new File[]{libs, lib2A3, b2, b3},
+ new File(TEST001.directory, "jack/Tests.java"));
+
+ test(TEST001.jUnit, libs, b2, b3, test);
+
+ }
+
+ @Test
+ @Runtime
+ public void testLamba044_PackageConflict() throws Exception {
+
+ File libs = makeLibrary(new File[]{},
+ new File(TEST001.directory, "lib1"), new File(TEST001.directory, "lib2"));
+ File lib2 = makeLibrary(new File[]{}, new File(TEST001.directory, "lib2/"));
+ File b2 = makeLibrary(new File[]{libs}, new File(TEST001.directory, "jack/B2.java"));
+ File b3 = makeLibrary(new File[]{libs}, new File(TEST001.directory, "jack/B3.java"));
+ File test = makeLibrary(new File[]{libs, lib2, b2, b3},
+ new File(TEST001.directory, "jack/Tests.java"));
+
+ test(TEST001.jUnit, libs, b2, b3, test);
+
+ }
+
+ @Nonnull
+ protected File makeLibrary(@Nonnull File[] classpath, @Nonnull File... src) throws Exception {
+ JackBasedToolchain toolchain = getToolchain();
+
+ File lib = AbstractTestTools.createTempFile("lib", ".jack");
+ toolchain
+ .addToClasspath(toolchain.getDefaultBootClasspath())
+ .addToClasspath(classpath)
+ .setSourceLevel(SourceLevel.JAVA_8)
+ .addProguardFlags(PROGUARD_SHRINK_NOTHING)
+ .srcToLib(lib, /* zipFiles = */ true, src);
+
+ return lib;
+ }
+
+ @Nonnull
+ protected void test(@Nonnull String test, @Nonnull File... libs) throws Exception {
+ JackBasedToolchain toolchain = getToolchain();
+
+ File dex = AbstractTestTools.createTempFile("dex", ".jar");
+ toolchain
+ .setSourceLevel(SourceLevel.JAVA_8)
+ .addProguardFlags(PROGUARD_SHRINK_NOTHING)
+ .libToExe(libs, dex, /* zipFiles = */ true);
+
+ RuntimeTestHelper.runOnRuntimeEnvironments(
+ Collections.singletonList(test),
+ RuntimeTestHelper.getJunitDex(), dex);
+
+ }
+
+ @Nonnull
+ protected JackBasedToolchain getToolchain() {
+ List<Class<? extends IToolchain>> excludedToolchains =
+ new ArrayList<Class<? extends IToolchain>>();
+ excludedToolchains.add(JillBasedToolchain.class);
+ JackBasedToolchain toolchain =
+ AbstractTestTools.getCandidateToolchain(JackBasedToolchain.class, excludedToolchains);
+ return toolchain.addProperty(Options.LAMBDA_GROUPING_SCOPE.getName(), "none");
+ }
+
+}
diff --git a/jack-tests/tests/com/android/jack/java8/LambdaTest.java b/jack-tests/tests/com/android/jack/java8/LambdaTest.java
index 1a38df4..b9a11fb 100644
--- a/jack-tests/tests/com/android/jack/java8/LambdaTest.java
+++ b/jack-tests/tests/com/android/jack/java8/LambdaTest.java
@@ -866,7 +866,7 @@
}
private void run(@Nonnull String mainClass, @Nonnull File[] dexFiles) throws Exception {
- List<RuntimeRunner> runnerList = AbstractTestTools.listRuntimeTestRunners(null);
+ List<RuntimeRunner> runnerList = AbstractTestTools.listRuntimeTestRunners();
for (RuntimeRunner runner : runnerList) {
Assert.assertEquals(0, runner.runJUnit(new String[0], AbstractTestTools.JUNIT_RUNNER_NAME,
new String[] {mainClass}, dexFiles));
diff --git a/jack-tests/tests/com/android/jack/java8/LambdaTestPostM.java b/jack-tests/tests/com/android/jack/java8/LambdaTestPostM.java
index 5095ac6..1cdbeee 100644
--- a/jack-tests/tests/com/android/jack/java8/LambdaTestPostM.java
+++ b/jack-tests/tests/com/android/jack/java8/LambdaTestPostM.java
@@ -97,7 +97,7 @@
}
private void run(@Nonnull String mainClass, @Nonnull File[] dexFiles) throws Exception {
- List<RuntimeRunner> runnerList = AbstractTestTools.listRuntimeTestRunners(null);
+ List<RuntimeRunner> runnerList = AbstractTestTools.listRuntimeTestRunners();
for (RuntimeRunner runner : runnerList) {
Assert.assertEquals(0, runner.runJUnit(new String[0], AbstractTestTools.JUNIT_RUNNER_NAME,
new String[] {mainClass}, dexFiles));
diff --git a/jack-tests/tests/com/android/jack/java8/ParameterNameTest.java b/jack-tests/tests/com/android/jack/java8/ParameterNameTest.java
index be751f7..551b3e0 100644
--- a/jack-tests/tests/com/android/jack/java8/ParameterNameTest.java
+++ b/jack-tests/tests/com/android/jack/java8/ParameterNameTest.java
@@ -45,45 +45,59 @@
*/
public class ParameterNameTest {
+ private File extraJavaFile =
+ new File(AbstractTestTools.getTestRootDir("com.android.jack.java8.parameter.common"),
+ "ParameterTestModifier.java");
+
private RuntimeTestInfo PARAMETER001 = new RuntimeTestInfo(
AbstractTestTools.getTestRootDir("com.android.jack.java8.parameter.test001"),
- "com.android.jack.java8.parameter.test001.Tests").setSrcDirName("");
+ "com.android.jack.java8.parameter.test001.Tests").setSrcDirName("")
+ .addCandidateExtraSources(extraJavaFile);
private RuntimeTestInfo PARAMETER002 = new RuntimeTestInfo(
AbstractTestTools.getTestRootDir("com.android.jack.java8.parameter.test002"),
- "com.android.jack.java8.parameter.test002.Tests").setSrcDirName("");
+ "com.android.jack.java8.parameter.test002.Tests").setSrcDirName("")
+ .addCandidateExtraSources(extraJavaFile);
private RuntimeTestInfo PARAMETER003 = new RuntimeTestInfo(
AbstractTestTools.getTestRootDir("com.android.jack.java8.parameter.test003"),
- "com.android.jack.java8.parameter.test003.Tests").setSrcDirName("");
+ "com.android.jack.java8.parameter.test003.Tests").setSrcDirName("")
+ .addCandidateExtraSources(extraJavaFile);
private RuntimeTestInfo PARAMETER004 = new RuntimeTestInfo(
AbstractTestTools.getTestRootDir("com.android.jack.java8.parameter.test004"),
- "com.android.jack.java8.parameter.test004.Tests").setSrcDirName("");
+ "com.android.jack.java8.parameter.test004.Tests").setSrcDirName("")
+ .addCandidateExtraSources(extraJavaFile);
private RuntimeTestInfo PARAMETER005 = new RuntimeTestInfo(
AbstractTestTools.getTestRootDir("com.android.jack.java8.parameter.test005"),
- "com.android.jack.java8.parameter.test005.Tests").setSrcDirName("");
+ "com.android.jack.java8.parameter.test005.Tests").setSrcDirName("")
+ .addCandidateExtraSources(extraJavaFile);
private RuntimeTestInfo PARAMETER006 = new RuntimeTestInfo(
AbstractTestTools.getTestRootDir("com.android.jack.java8.parameter.test006"),
- "com.android.jack.java8.parameter.test006.Tests").setSrcDirName("");
+ "com.android.jack.java8.parameter.test006.Tests").setSrcDirName("")
+ .addCandidateExtraSources(extraJavaFile);
private RuntimeTestInfo PARAMETER007 = new RuntimeTestInfo(
AbstractTestTools.getTestRootDir("com.android.jack.java8.parameter.test007"),
- "com.android.jack.java8.parameter.test007.Tests").setSrcDirName("");
+ "com.android.jack.java8.parameter.test007.Tests").setSrcDirName("")
+ .addCandidateExtraSources(extraJavaFile);
private RuntimeTestInfo PARAMETER008 = new RuntimeTestInfo(
AbstractTestTools.getTestRootDir("com.android.jack.java8.parameter.test008"),
- "com.android.jack.java8.parameter.test008.Tests").setSrcDirName("");
+ "com.android.jack.java8.parameter.test008.Tests").setSrcDirName("")
+ .addCandidateExtraSources(extraJavaFile);
private RuntimeTestInfo PARAMETER009 = new RuntimeTestInfo(
AbstractTestTools.getTestRootDir("com.android.jack.java8.parameter.test009"),
- "com.android.jack.java8.parameter.test009.Tests").setSrcDirName("");
+ "com.android.jack.java8.parameter.test009.Tests").setSrcDirName("")
+ .addCandidateExtraSources(extraJavaFile);
private RuntimeTestInfo PARAMETER010 = new RuntimeTestInfo(
AbstractTestTools.getTestRootDir("com.android.jack.java8.parameter.test010"),
- "com.android.jack.java8.parameter.test010.Tests").setSrcDirName("");
+ "com.android.jack.java8.parameter.test010.Tests").setSrcDirName("")
+ .addCandidateExtraSources(extraJavaFile);
@Test
@Runtime(from=RuntimeVersion.O)
diff --git a/jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java b/jack-tests/tests/com/android/jack/java8/explicitreceiver/test001/Tests.java
similarity index 61%
copy from jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java
copy to jack-tests/tests/com/android/jack/java8/explicitreceiver/test001/Tests.java
index 8c344dd..b282fce 100644
--- a/jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java
+++ b/jack-tests/tests/com/android/jack/java8/explicitreceiver/test001/Tests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012 The Android Open Source Project
+ * Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,11 +14,21 @@
* limitations under the License.
*/
-package com.android.jack.clinit.jack;
+package com.android.jack.java8.explicitreceiver.test001;
-public class ClInitWithVariableInit {
+import junit.framework.Assert;
- static {
- int lv = 5;
+import org.junit.Test;
+
+public class Tests {
+
+ public int add(Tests this,int i1, int i2) {
+ return i1 + i2;
+ }
+
+ @Test
+ public void test() {
+ Tests t = new Tests();
+ Assert.assertEquals(5, t.add(2, 3));
}
}
diff --git a/jack-tests/tests/com/android/jack/java8/explicitreceiver/test002/Tests.java b/jack-tests/tests/com/android/jack/java8/explicitreceiver/test002/Tests.java
new file mode 100644
index 0000000..c76f85e
--- /dev/null
+++ b/jack-tests/tests/com/android/jack/java8/explicitreceiver/test002/Tests.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.jack.java8.explicitreceiver.test002;
+
+import junit.framework.Assert;
+
+import org.junit.Test;
+
+public class Tests {
+
+ class Add {
+ int result;
+
+ Add(Tests Tests.this,int i1, int i2) {
+ result = i1 + i2;
+ }
+ }
+
+ @Test
+ public void test() {
+ Add t = new Add(2, 3);
+ Assert.assertEquals(5, t.result);
+ }
+}
diff --git a/jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java b/jack-tests/tests/com/android/jack/java8/lambda/test044/jack/B2.java
similarity index 62%
copy from jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java
copy to jack-tests/tests/com/android/jack/java8/lambda/test044/jack/B2.java
index 8c344dd..4bc004a 100644
--- a/jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java
+++ b/jack-tests/tests/com/android/jack/java8/lambda/test044/jack/B2.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012 The Android Open Source Project
+ * Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,11 +14,16 @@
* limitations under the License.
*/
-package com.android.jack.clinit.jack;
+package com.android.jack.java8.lambda.test044.jack;
-public class ClInitWithVariableInit {
+import com.android.jack.java8.lambda.test044.lib1.I2;
+import com.android.jack.java8.lambda.test044.lib1.subpkg.A2;
- static {
- int lv = 5;
+class B2 extends A2 {
+ class C {
+ int test() {
+ I2 i = () -> field;
+ return i.getCst() + field;
+ }
}
-}
+}
\ No newline at end of file
diff --git a/jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java b/jack-tests/tests/com/android/jack/java8/lambda/test044/jack/B3.java
similarity index 62%
copy from jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java
copy to jack-tests/tests/com/android/jack/java8/lambda/test044/jack/B3.java
index 8c344dd..664ac01 100644
--- a/jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java
+++ b/jack-tests/tests/com/android/jack/java8/lambda/test044/jack/B3.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012 The Android Open Source Project
+ * Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,11 +14,16 @@
* limitations under the License.
*/
-package com.android.jack.clinit.jack;
+package com.android.jack.java8.lambda.test044.jack;
-public class ClInitWithVariableInit {
+import com.android.jack.java8.lambda.test044.lib1.I2;
+import com.android.jack.java8.lambda.test044.lib1.subpkg.A2;
- static {
- int lv = 5;
+class B3 extends A2 {
+ class C {
+ int test() {
+ I2 i = () -> 2 * field;
+ return i.getCst() + field;
+ }
}
-}
+}
\ No newline at end of file
diff --git a/jack-tests/tests/com/android/jack/java8/lambda/test044/jack/Tests.java b/jack-tests/tests/com/android/jack/java8/lambda/test044/jack/Tests.java
new file mode 100644
index 0000000..4eae343
--- /dev/null
+++ b/jack-tests/tests/com/android/jack/java8/lambda/test044/jack/Tests.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.jack.java8.lambda.test044.jack;
+
+import com.android.jack.java8.lambda.test044.lib1.B1;
+
+import junit.framework.Assert;
+
+import org.junit.Test;
+
+
+public class Tests {
+
+ @Test
+ public void test001() {
+ Assert.assertEquals(1, new B1().m1().getCst());
+ }
+
+ @Test
+ public void test002() {
+ Assert.assertEquals(20, new B2().new C().test());
+ }
+
+ @Test
+ public void test003() {
+ Assert.assertEquals(3, new B1().m3().getCst());
+ }
+
+ @Test
+ public void test004() {
+ Assert.assertEquals(30, new B3().new C().test());
+ }
+
+ @Test
+ public void test005() {
+ Assert.assertEquals(4, new B1().m4().getCst());
+ }
+
+ @Test
+ public void test006() {
+ Assert.assertEquals(5, new B1().m5().getCst());
+ }
+}
diff --git a/jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java b/jack-tests/tests/com/android/jack/java8/lambda/test044/lib1/A4.java
similarity index 75%
copy from jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java
copy to jack-tests/tests/com/android/jack/java8/lambda/test044/lib1/A4.java
index 8c344dd..02ab933 100644
--- a/jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java
+++ b/jack-tests/tests/com/android/jack/java8/lambda/test044/lib1/A4.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012 The Android Open Source Project
+ * Copyright (C) 2016 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,11 +14,13 @@
* limitations under the License.
*/
-package com.android.jack.clinit.jack;
+package com.android.jack.java8.lambda.test044.lib1;
-public class ClInitWithVariableInit {
- static {
- int lv = 5;
+public class A4 {
+
+ public I2 m() {
+ I2 i = () -> 4;
+ return i;
}
}
diff --git a/jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java b/jack-tests/tests/com/android/jack/java8/lambda/test044/lib1/A5.java
similarity index 75%
copy from jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java
copy to jack-tests/tests/com/android/jack/java8/lambda/test044/lib1/A5.java
index 8c344dd..37c6334 100644
--- a/jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java
+++ b/jack-tests/tests/com/android/jack/java8/lambda/test044/lib1/A5.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012 The Android Open Source Project
+ * Copyright (C) 2016 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,11 +14,13 @@
* limitations under the License.
*/
-package com.android.jack.clinit.jack;
+package com.android.jack.java8.lambda.test044.lib1;
-public class ClInitWithVariableInit {
- static {
- int lv = 5;
+public class A5 {
+
+ public I2 m() {
+ I2 i = () -> 5;
+ return i;
}
}
diff --git a/jack-tests/tests/com/android/jack/java8/lambda/test044/lib1/B1.java b/jack-tests/tests/com/android/jack/java8/lambda/test044/lib1/B1.java
new file mode 100644
index 0000000..ab2c110
--- /dev/null
+++ b/jack-tests/tests/com/android/jack/java8/lambda/test044/lib1/B1.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.jack.java8.lambda.test044.lib1;
+
+import com.android.jack.java8.lambda.test044.lib2.A1;
+import com.android.jack.java8.lambda.test044.lib2.A3;
+import com.android.jack.java8.lambda.test044.lib2.I1;
+
+public class B1 {
+
+ public I1 m1() {
+ return new A1().m();
+ }
+
+ public I1 m3() {
+ return new A3().m();
+ }
+
+ public I2 m4() {
+ return new A4().m();
+ }
+
+ public I2 m5() {
+ return new A5().m();
+ }
+}
diff --git a/jack-tests/tests/com/android/jack/clinit/jack/ClInit.java b/jack-tests/tests/com/android/jack/java8/lambda/test044/lib1/I2.java
similarity index 79%
copy from jack-tests/tests/com/android/jack/clinit/jack/ClInit.java
copy to jack-tests/tests/com/android/jack/java8/lambda/test044/lib1/I2.java
index 680f9cf..ca4ed7b 100644
--- a/jack-tests/tests/com/android/jack/clinit/jack/ClInit.java
+++ b/jack-tests/tests/com/android/jack/java8/lambda/test044/lib1/I2.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012 The Android Open Source Project
+ * Copyright (C) 2016 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,8 +14,8 @@
* limitations under the License.
*/
-package com.android.jack.clinit.jack;
+package com.android.jack.java8.lambda.test044.lib1;
-public class ClInit {
-
+public interface I2 {
+ int getCst();
}
diff --git a/jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java b/jack-tests/tests/com/android/jack/java8/lambda/test044/lib1/subpkg/A2.java
similarity index 77%
copy from jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java
copy to jack-tests/tests/com/android/jack/java8/lambda/test044/lib1/subpkg/A2.java
index 8c344dd..3a801e3 100644
--- a/jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java
+++ b/jack-tests/tests/com/android/jack/java8/lambda/test044/lib1/subpkg/A2.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012 The Android Open Source Project
+ * Copyright (C) 2016 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,11 +14,8 @@
* limitations under the License.
*/
-package com.android.jack.clinit.jack;
+package com.android.jack.java8.lambda.test044.lib1.subpkg;
-public class ClInitWithVariableInit {
-
- static {
- int lv = 5;
- }
+public class A2 {
+ protected int field = 10;
}
diff --git a/jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java b/jack-tests/tests/com/android/jack/java8/lambda/test044/lib2/A1.java
similarity index 75%
copy from jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java
copy to jack-tests/tests/com/android/jack/java8/lambda/test044/lib2/A1.java
index 8c344dd..d7ac151 100644
--- a/jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java
+++ b/jack-tests/tests/com/android/jack/java8/lambda/test044/lib2/A1.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012 The Android Open Source Project
+ * Copyright (C) 2016 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,11 +14,13 @@
* limitations under the License.
*/
-package com.android.jack.clinit.jack;
+package com.android.jack.java8.lambda.test044.lib2;
-public class ClInitWithVariableInit {
- static {
- int lv = 5;
+public class A1 {
+
+ public I1 m() {
+ I1 i = () -> 1;
+ return i;
}
}
diff --git a/jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java b/jack-tests/tests/com/android/jack/java8/lambda/test044/lib2/A3.java
similarity index 75%
copy from jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java
copy to jack-tests/tests/com/android/jack/java8/lambda/test044/lib2/A3.java
index 8c344dd..2bff856 100644
--- a/jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java
+++ b/jack-tests/tests/com/android/jack/java8/lambda/test044/lib2/A3.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012 The Android Open Source Project
+ * Copyright (C) 2016 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,11 +14,13 @@
* limitations under the License.
*/
-package com.android.jack.clinit.jack;
+package com.android.jack.java8.lambda.test044.lib2;
-public class ClInitWithVariableInit {
- static {
- int lv = 5;
+public class A3 {
+
+ public I1 m() {
+ I1 i = () -> 3;
+ return i;
}
}
diff --git a/jack-tests/tests/com/android/jack/clinit/jack/ClInit.java b/jack-tests/tests/com/android/jack/java8/lambda/test044/lib2/I1.java
similarity index 79%
copy from jack-tests/tests/com/android/jack/clinit/jack/ClInit.java
copy to jack-tests/tests/com/android/jack/java8/lambda/test044/lib2/I1.java
index 680f9cf..7c82dbc 100644
--- a/jack-tests/tests/com/android/jack/clinit/jack/ClInit.java
+++ b/jack-tests/tests/com/android/jack/java8/lambda/test044/lib2/I1.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012 The Android Open Source Project
+ * Copyright (C) 2016 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,8 +14,8 @@
* limitations under the License.
*/
-package com.android.jack.clinit.jack;
+package com.android.jack.java8.lambda.test044.lib2;
-public class ClInit {
-
+public interface I1 {
+ int getCst();
}
diff --git a/jack-tests/tests/com/android/jack/java8/lambda/test044/shrink-nothing.flags b/jack-tests/tests/com/android/jack/java8/lambda/test044/shrink-nothing.flags
new file mode 100644
index 0000000..40047b9
--- /dev/null
+++ b/jack-tests/tests/com/android/jack/java8/lambda/test044/shrink-nothing.flags
@@ -0,0 +1,4 @@
+-dontobfuscate
+-keep class * {
+ *;
+}
diff --git a/jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java b/jack-tests/tests/com/android/jack/java8/parameter/common/ParameterTestModifier.java
similarity index 62%
copy from jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java
copy to jack-tests/tests/com/android/jack/java8/parameter/common/ParameterTestModifier.java
index 8c344dd..89763b4 100644
--- a/jack-tests/tests/com/android/jack/clinit/jack/ClInitWithVariableInit.java
+++ b/jack-tests/tests/com/android/jack/java8/parameter/common/ParameterTestModifier.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012 The Android Open Source Project
+ * Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,11 +14,11 @@
* limitations under the License.
*/
-package com.android.jack.clinit.jack;
+package com.android.jack.java8.parameter.common;
-public class ClInitWithVariableInit {
-
- static {
- int lv = 5;
- }
+public class ParameterTestModifier {
+ public static final int MODIFIER_NONE = 0;
+ public static final int MODIFIER_FINAL = 0X10;
+ public static final int MODIFIER_SYNTHETIC = 0X1000;
+ public static final int MODIFIER_IMPLICIT = 0X8000;
}
diff --git a/jack-tests/tests/com/android/jack/java8/parameter/test001/Tests.java b/jack-tests/tests/com/android/jack/java8/parameter/test001/Tests.java
index 4e93558..ab5b7ed 100644
--- a/jack-tests/tests/com/android/jack/java8/parameter/test001/Tests.java
+++ b/jack-tests/tests/com/android/jack/java8/parameter/test001/Tests.java
@@ -16,8 +16,8 @@
package com.android.jack.java8.parameter.test001;
+import com.android.jack.java8.parameter.common.ParameterTestModifier;
import com.android.jack.java8.parameter.test001.Tests.Context.InnerWithParam;
-
import junit.framework.Assert;
import org.junit.Test;
@@ -28,11 +28,6 @@
public class Tests {
- public static final int MODIFIER_NONE = 0;
- public static final int MODIFIER_FINAL = 16;
- public static final int MODIFIER_SYNTHETIC = 4096;
- public static final int MODIFIER_IMPLICIT = 32768;
-
public static void m1(final int p1, int b2, Object... a) {}
public class InnerClass {
@@ -48,13 +43,13 @@
Assert.assertEquals(3, method.getParameters().length);
check(method.getParameters()[0], "p1", /* isNamePresent= */ true, /* isImplicit= */ false,
- /* isSynthetic= */ false, MODIFIER_FINAL);
+ /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_FINAL);
check(method.getParameters()[1], "b2", /* isNamePresent= */ true, /* isImplicit= */ false,
- /* isSynthetic= */ false, MODIFIER_NONE);
+ /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_NONE);
check(method.getParameters()[2], "a", /* isNamePresent= */ true, /* isImplicit= */ false,
- /* isSynthetic= */ false, MODIFIER_NONE);
+ /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_NONE);
}
@Test
@@ -62,8 +57,9 @@
Constructor<?> constructor = InnerClass.class.getDeclaredConstructor(Tests.class);
Assert.assertEquals(1, constructor.getParameters().length);
- check(constructor.getParameters()[0], "this$0", /* isNamePresent= */ true, /* isImplicit= */ true,
- /* isSynthetic= */ false, MODIFIER_FINAL | MODIFIER_IMPLICIT);
+ check(constructor.getParameters()[0], "this$0", /* isNamePresent= */ true,
+ /* isImplicit= */ true, /* isSynthetic= */ false,
+ ParameterTestModifier.MODIFIER_FINAL | ParameterTestModifier.MODIFIER_IMPLICIT);
}
@Test
@@ -72,11 +68,12 @@
InnerClass.InnerInnerClass.class.getDeclaredConstructor(InnerClass.class, float.class);
Assert.assertEquals(2, constructor.getParameters().length);
- check(constructor.getParameters()[0], "this$1", /* isNamePresent= */ true, /* isImplicit= */ true,
- /* isSynthetic= */ false, MODIFIER_FINAL | MODIFIER_IMPLICIT);
+ check(constructor.getParameters()[0], "this$1", /* isNamePresent= */ true,
+ /* isImplicit= */ true, /* isSynthetic= */ false,
+ ParameterTestModifier.MODIFIER_FINAL | ParameterTestModifier.MODIFIER_IMPLICIT);
check(constructor.getParameters()[1], "f", /* isNamePresent= */ true, /* isImplicit= */ false,
- /* isSynthetic= */ false, MODIFIER_NONE);
+ /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_NONE);
}
@Test
@@ -86,8 +83,9 @@
Constructor<?> constructor = Local.class.getDeclaredConstructor(Tests.class);
Assert.assertEquals(1, constructor.getParameters().length);
- check(constructor.getParameters()[0], "this$0", /* isNamePresent= */ true, /* isImplicit= */ true,
- /* isSynthetic= */ false, MODIFIER_FINAL | MODIFIER_IMPLICIT);
+ check(constructor.getParameters()[0], "this$0", /* isNamePresent= */ true,
+ /* isImplicit= */ true, /* isSynthetic= */ false,
+ ParameterTestModifier.MODIFIER_FINAL | ParameterTestModifier.MODIFIER_IMPLICIT);
}
@Test
@@ -104,14 +102,16 @@
Constructor<?> constructor = Local.class.getDeclaredConstructor(Tests.class, int.class, Object.class);
Assert.assertEquals(3, constructor.getParameters().length);
- check(constructor.getParameters()[0], "this$0", /* isNamePresent= */ true, /* isImplicit= */ true,
- /* isSynthetic= */ false, MODIFIER_FINAL | MODIFIER_IMPLICIT);
+ check(constructor.getParameters()[0], "this$0", /* isNamePresent= */ true,
+ /* isImplicit= */ true, /* isSynthetic= */ false,
+ ParameterTestModifier.MODIFIER_FINAL | ParameterTestModifier.MODIFIER_IMPLICIT);
check(constructor.getParameters()[1], "i", /* isNamePresent= */ true, /* isImplicit= */ false,
- /* isSynthetic= */ false, MODIFIER_NONE);
+ /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_NONE);
- check(constructor.getParameters()[2], "val$o", /* isNamePresent= */ true, /* isImplicit= */ false,
- /* isSynthetic= */ true, MODIFIER_FINAL | MODIFIER_SYNTHETIC);
+ check(constructor.getParameters()[2], "val$o", /* isNamePresent= */ true,
+ /* isImplicit= */ false, /* isSynthetic= */ true,
+ ParameterTestModifier.MODIFIER_FINAL | ParameterTestModifier.MODIFIER_SYNTHETIC);
}
abstract static class StaticAnonymous {
@@ -122,8 +122,9 @@
StaticAnonymous a = new StaticAnonymous() {};
Constructor<?> constructor = a.getClass().getDeclaredConstructor(Tests.class);
Assert.assertEquals(1, constructor.getParameters().length);
- check(constructor.getParameters()[0], "this$0", /* isNamePresent= */ true, /* isImplicit= */ true,
- /* isSynthetic= */ false, MODIFIER_FINAL | MODIFIER_IMPLICIT);
+ check(constructor.getParameters()[0], "this$0", /* isNamePresent= */ true,
+ /* isImplicit= */ true, /* isSynthetic= */ false,
+ ParameterTestModifier.MODIFIER_FINAL | ParameterTestModifier.MODIFIER_IMPLICIT);
}
@@ -142,10 +143,11 @@
Assert.assertEquals(2, constructor.getParameters().length);
check(constructor.getParameters()[0], "this$1", /* isNamePresent= */ true,
- /* isImplicit= */ true, /* isSynthetic= */ false, MODIFIER_FINAL | MODIFIER_IMPLICIT);
+ /* isImplicit= */ true, /* isSynthetic= */ false,
+ ParameterTestModifier.MODIFIER_FINAL | ParameterTestModifier.MODIFIER_IMPLICIT);
check(constructor.getParameters()[1], "i1", /* isNamePresent= */ true,
- /* isImplicit= */ false, /* isSynthetic= */ false, MODIFIER_NONE);
+ /* isImplicit= */ false, /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_NONE);
}
private void check(Parameter parameter, String name, boolean isNamePresent, boolean isImplicit,
diff --git a/jack-tests/tests/com/android/jack/java8/parameter/test002/Tests.java b/jack-tests/tests/com/android/jack/java8/parameter/test002/Tests.java
index a78de84..7a5f253 100644
--- a/jack-tests/tests/com/android/jack/java8/parameter/test002/Tests.java
+++ b/jack-tests/tests/com/android/jack/java8/parameter/test002/Tests.java
@@ -16,6 +16,8 @@
package com.android.jack.java8.parameter.test002;
+import com.android.jack.java8.parameter.common.ParameterTestModifier;
+
import junit.framework.Assert;
import org.junit.Test;
@@ -26,11 +28,6 @@
public class Tests {
- public static final int MODIFIER_NONE = 0;
- public static final int MODIFIER_FINAL = 16;
- public static final int MODIFIER_SYNTHETIC = 4096;
- public static final int MODIFIER_IMPLICIT = 32768;
-
enum Number {
ONE, TWO;
}
@@ -41,7 +38,7 @@
Assert.assertEquals(1, method.getParameters().length);
check(method.getParameters()[0], "name", /* isNamePresent= */ true, /* isImplicit= */ true,
- /* isSynthetic= */ false, MODIFIER_IMPLICIT);
+ /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_IMPLICIT);
}
@Test
@@ -50,10 +47,10 @@
Assert.assertEquals(2, constructor.getParameters().length);
check(constructor.getParameters()[0], "enum$name", /* isNamePresent= */ true,
- /* isImplicit= */ false, /* isSynthetic= */ true, MODIFIER_SYNTHETIC);
+ /* isImplicit= */ false, /* isSynthetic= */ true, ParameterTestModifier.MODIFIER_SYNTHETIC);
check(constructor.getParameters()[1], "enum$ordinal", /* isNamePresent= */ true,
- /* isImplicit= */ false, /* isSynthetic= */ true, MODIFIER_SYNTHETIC);
+ /* isImplicit= */ false, /* isSynthetic= */ true, ParameterTestModifier.MODIFIER_SYNTHETIC);
}
private void check(Parameter parameter, String name, boolean isNamePresent, boolean isImplicit,
diff --git a/jack-tests/tests/com/android/jack/java8/parameter/test003/Tests.java b/jack-tests/tests/com/android/jack/java8/parameter/test003/Tests.java
index ecbff01..57749ed 100644
--- a/jack-tests/tests/com/android/jack/java8/parameter/test003/Tests.java
+++ b/jack-tests/tests/com/android/jack/java8/parameter/test003/Tests.java
@@ -16,6 +16,8 @@
package com.android.jack.java8.parameter.test003;
+import com.android.jack.java8.parameter.common.ParameterTestModifier;
+
import junit.framework.Assert;
import org.junit.Test;
@@ -35,17 +37,12 @@
}
public class Tests {
- public static final int MODIFIER_NONE = 0;
- public static final int MODIFIER_FINAL = 16;
- public static final int MODIFIER_SYNTHETIC = 4096;
- public static final int MODIFIER_IMPLICIT = 32768;
-
@Test
public void testBridge() throws NoSuchMethodException, SecurityException {
Method method = A.class.getDeclaredMethod("get", Object.class);
check(method.getParameters()[0], "t", /* isNamePresent= */ true, /* isImplicit= */ false,
- /* isSynthetic= */ true, MODIFIER_SYNTHETIC);
+ /* isSynthetic= */ true, ParameterTestModifier.MODIFIER_SYNTHETIC);
}
@Test
@@ -53,7 +50,7 @@
Method method = A.class.getDeclaredMethod("get", Integer.class);
check(method.getParameters()[0], "t", /* isNamePresent= */ true, /* isImplicit= */ false,
- /* isSynthetic= */ false, MODIFIER_NONE);
+ /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_NONE);
}
private void check(Parameter parameter, String name, boolean isNamePresent, boolean isImplicit,
diff --git a/jack-tests/tests/com/android/jack/java8/parameter/test004/Tests.java b/jack-tests/tests/com/android/jack/java8/parameter/test004/Tests.java
index 1e52d84..0b528bf 100644
--- a/jack-tests/tests/com/android/jack/java8/parameter/test004/Tests.java
+++ b/jack-tests/tests/com/android/jack/java8/parameter/test004/Tests.java
@@ -16,6 +16,7 @@
package com.android.jack.java8.parameter.test004;
+import com.android.jack.java8.parameter.common.ParameterTestModifier;
import junit.framework.Assert;
@@ -26,12 +27,6 @@
public class Tests {
- public static final int MODIFIER_NONE = 0;
- public static final int MODIFIER_FINAL = 16;
- public static final int MODIFIER_SYNTHETIC = 4096;
- public static final int MODIFIER_IMPLICIT = 32768;
-
-
abstract class InstanceAnonymous {
public InstanceAnonymous(int value) {
}
@@ -43,19 +38,22 @@
};
// Could be a constructor with Test.class, int.class
- Constructor<?> constructor = ia.getClass().getDeclaredConstructor(Tests.class, Tests.class, int.class);
+ Constructor<?> constructor =
+ ia.getClass().getDeclaredConstructor(Tests.class, Tests.class, int.class);
Assert.assertEquals(3, constructor.getParameters().length);
- check(constructor.getParameters()[0], "this$0", /* isNamePresent= */ true, /* isImplicit= */ true,
- /* isSynthetic= */ false, MODIFIER_FINAL | MODIFIER_IMPLICIT);
+ check(constructor.getParameters()[0], "this$0", /* isNamePresent= */ true,
+ /* isImplicit= */ true, /* isSynthetic= */ false,
+ ParameterTestModifier.MODIFIER_FINAL | ParameterTestModifier.MODIFIER_IMPLICIT);
// Could be this$1 rather than this$0_1
- check(constructor.getParameters()[1], "this$0_1", /* isNamePresent= */ true, /* isImplicit= */ true,
- /* isSynthetic= */ false, MODIFIER_FINAL | MODIFIER_IMPLICIT);
+ check(constructor.getParameters()[1], "this$0_1", /* isNamePresent= */ true,
+ /* isImplicit= */ true, /* isSynthetic= */ false,
+ ParameterTestModifier.MODIFIER_FINAL | ParameterTestModifier.MODIFIER_IMPLICIT);
// Could be value rather than $anonymous0
- check(constructor.getParameters()[2], "$anonymous0", /* isNamePresent= */ true, /* isImplicit= */ false,
- /* isSynthetic= */ false, MODIFIER_NONE);
+ check(constructor.getParameters()[2], "$anonymous0", /* isNamePresent= */ true,
+ /* isImplicit= */ false, /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_NONE);
}
@Test
@@ -69,19 +67,22 @@
};
// Could be a constructor with Test.class, int.class
- Constructor<?> constructor = ia.getClass().getDeclaredConstructor(Tests.class, Tests.class, int.class);
+ Constructor<?> constructor =
+ ia.getClass().getDeclaredConstructor(Tests.class, Tests.class, int.class);
Assert.assertEquals(3, constructor.getParameters().length);
- check(constructor.getParameters()[0], "this$0", /* isNamePresent= */ true, /* isImplicit= */ false,
- /* isSynthetic= */ true, MODIFIER_FINAL | MODIFIER_SYNTHETIC);
+ check(constructor.getParameters()[0], "this$0", /* isNamePresent= */ true,
+ /* isImplicit= */ false, /* isSynthetic= */ true,
+ ParameterTestModifier.MODIFIER_FINAL | ParameterTestModifier.MODIFIER_SYNTHETIC);
// Could be this$1 rather than this$0_1
- check(constructor.getParameters()[1], "this$0_1", /* isNamePresent= */ true, /* isImplicit= */ false,
- /* isSynthetic= */ true, MODIFIER_FINAL | MODIFIER_SYNTHETIC);
+ check(constructor.getParameters()[1], "this$0_1", /* isNamePresent= */ true,
+ /* isImplicit= */ false, /* isSynthetic= */ true,
+ ParameterTestModifier.MODIFIER_FINAL | ParameterTestModifier.MODIFIER_SYNTHETIC);
// Could be value rather than $anonymous0
- check(constructor.getParameters()[2], "$anonymous0", /* isNamePresent= */ true, /* isImplicit= */ false,
- /* isSynthetic= */ false, MODIFIER_NONE);
+ check(constructor.getParameters()[2], "$anonymous0", /* isNamePresent= */ true,
+ /* isImplicit= */ false, /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_NONE);
}
private void check(Parameter parameter, String name, boolean isNamePresent, boolean isImplicit,
diff --git a/jack-tests/tests/com/android/jack/java8/parameter/test005/Tests.java b/jack-tests/tests/com/android/jack/java8/parameter/test005/Tests.java
index 9044e52..48d38d3 100644
--- a/jack-tests/tests/com/android/jack/java8/parameter/test005/Tests.java
+++ b/jack-tests/tests/com/android/jack/java8/parameter/test005/Tests.java
@@ -16,6 +16,8 @@
package com.android.jack.java8.parameter.test005;
+import com.android.jack.java8.parameter.common.ParameterTestModifier;
+
import junit.framework.Assert;
import org.junit.Test;
@@ -26,11 +28,6 @@
public class Tests {
- public static final int MODIFIER_NONE = 0;
- public static final int MODIFIER_FINAL = 16;
- public static final int MODIFIER_SYNTHETIC = 4096;
- public static final int MODIFIER_IMPLICIT = 32768;
-
public static int m1(int p1, int p2, int p3) {
return p1 + p2 + p3;
}
@@ -42,13 +39,13 @@
Assert.assertEquals(3, method.getParameters().length);
check(method.getParameters()[0], "p1", /* isNamePresent= */ true, /* isImplicit= */ false,
- /* isSynthetic= */ false, MODIFIER_NONE);
+ /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_NONE);
check(method.getParameters()[1], "p2", /* isNamePresent= */ true, /* isImplicit= */ false,
- /* isSynthetic= */ false, MODIFIER_NONE);
+ /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_NONE);
check(method.getParameters()[2], "p3", /* isNamePresent= */ true, /* isImplicit= */ false,
- /* isSynthetic= */ false, MODIFIER_NONE);
+ /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_NONE);
}
private void check(Parameter parameter, String name, boolean isNamePresent, boolean isImplicit,
diff --git a/jack-tests/tests/com/android/jack/java8/parameter/test006/Tests.java b/jack-tests/tests/com/android/jack/java8/parameter/test006/Tests.java
index f73fc8b..7e4b5dc 100644
--- a/jack-tests/tests/com/android/jack/java8/parameter/test006/Tests.java
+++ b/jack-tests/tests/com/android/jack/java8/parameter/test006/Tests.java
@@ -16,6 +16,8 @@
package com.android.jack.java8.parameter.test006;
+import com.android.jack.java8.parameter.common.ParameterTestModifier;
+
import junit.framework.Assert;
import org.junit.Test;
@@ -26,14 +28,9 @@
public class Tests {
- public static final int MODIFIER_NONE = 0;
- public static final int MODIFIER_FINAL = 16;
- public static final int MODIFIER_SYNTHETIC = 4096;
- public static final int MODIFIER_IMPLICIT = 32768;
-
private int field = 10;
- public class InnerClass {
+ public class InnerClass {
public int getValue() {
return field;
}
@@ -47,7 +44,7 @@
Parameter[] parameters = method.getParameters();
Assert.assertEquals(1, parameters.length);
check(parameters[0], "arg0", /* isNamePresent= */ false, /* isImplicit= */ false,
- /* isSynthetic= */ false, MODIFIER_NONE);
+ /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_NONE);
}
}
}
diff --git a/jack-tests/tests/com/android/jack/java8/parameter/test007/Tests.java b/jack-tests/tests/com/android/jack/java8/parameter/test007/Tests.java
index d302efc..0f7de69 100644
--- a/jack-tests/tests/com/android/jack/java8/parameter/test007/Tests.java
+++ b/jack-tests/tests/com/android/jack/java8/parameter/test007/Tests.java
@@ -16,6 +16,8 @@
package com.android.jack.java8.parameter.test007;
+import com.android.jack.java8.parameter.common.ParameterTestModifier;
+
import junit.framework.Assert;
import org.junit.Test;
@@ -26,14 +28,9 @@
public class Tests {
- public static final int MODIFIER_NONE = 0;
- public static final int MODIFIER_FINAL = 16;
- public static final int MODIFIER_SYNTHETIC = 4096;
- public static final int MODIFIER_IMPLICIT = 32768;
-
private int field = 0;
- public class InnerClass {
+ public class InnerClass {
public void setValue() {
field = 10;
}
@@ -43,14 +40,14 @@
public void testStaticMethod() throws NoSuchMethodException, SecurityException {
Method[] methods = Tests.class.getDeclaredMethods();
for (Method method : methods) {
- if (method.isSynthetic()) {
- Parameter[] parameters = method.getParameters();
- Assert.assertEquals(2, parameters.length);
- check(parameters[0], "arg0", /* isNamePresent= */ false, /* isImplicit= */ false,
- /* isSynthetic= */ false, MODIFIER_NONE);
- check(parameters[1], "arg1", /* isNamePresent= */ false, /* isImplicit= */ false,
- /* isSynthetic= */ false, MODIFIER_NONE);
- }
+ if (method.isSynthetic()) {
+ Parameter[] parameters = method.getParameters();
+ Assert.assertEquals(2, parameters.length);
+ check(parameters[0], "arg0", /* isNamePresent= */ false, /* isImplicit= */ false,
+ /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_NONE);
+ check(parameters[1], "arg1", /* isNamePresent= */ false, /* isImplicit= */ false,
+ /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_NONE);
+ }
}
}
diff --git a/jack-tests/tests/com/android/jack/java8/parameter/test008/Tests.java b/jack-tests/tests/com/android/jack/java8/parameter/test008/Tests.java
index 1e2a630..c60d42a 100644
--- a/jack-tests/tests/com/android/jack/java8/parameter/test008/Tests.java
+++ b/jack-tests/tests/com/android/jack/java8/parameter/test008/Tests.java
@@ -16,6 +16,8 @@
package com.android.jack.java8.parameter.test008;
+import com.android.jack.java8.parameter.common.ParameterTestModifier;
+
import junit.framework.Assert;
import org.junit.Test;
@@ -26,11 +28,6 @@
public class Tests {
- public static final int MODIFIER_NONE = 0;
- public static final int MODIFIER_FINAL = 16;
- public static final int MODIFIER_SYNTHETIC = 4096;
- public static final int MODIFIER_IMPLICIT = 32768;
-
private int addValue(int i) {
return 10 + i;
};
@@ -45,14 +42,14 @@
public void testStaticMethod() throws NoSuchMethodException, SecurityException {
Method[] methods = Tests.class.getDeclaredMethods();
for (Method method : methods) {
- if (method.isSynthetic()) {
- Parameter[] parameters = method.getParameters();
- Assert.assertEquals(2, parameters.length);
- check(parameters[0], "arg0", /* isNamePresent= */ false, /* isImplicit= */ false,
- /* isSynthetic= */ false, MODIFIER_NONE);
- check(parameters[1], "arg1", /* isNamePresent= */ false, /* isImplicit= */ false,
- /* isSynthetic= */ false, MODIFIER_NONE);
- }
+ if (method.isSynthetic()) {
+ Parameter[] parameters = method.getParameters();
+ Assert.assertEquals(2, parameters.length);
+ check(parameters[0], "arg0", /* isNamePresent= */ false, /* isImplicit= */ false,
+ /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_NONE);
+ check(parameters[1], "arg1", /* isNamePresent= */ false, /* isImplicit= */ false,
+ /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_NONE);
+ }
}
}
diff --git a/jack-tests/tests/com/android/jack/java8/parameter/test009/Tests.java b/jack-tests/tests/com/android/jack/java8/parameter/test009/Tests.java
index ad00e63..4327c00 100644
--- a/jack-tests/tests/com/android/jack/java8/parameter/test009/Tests.java
+++ b/jack-tests/tests/com/android/jack/java8/parameter/test009/Tests.java
@@ -16,6 +16,8 @@
package com.android.jack.java8.parameter.test009;
+import com.android.jack.java8.parameter.common.ParameterTestModifier;
+
import junit.framework.Assert;
import org.junit.Test;
@@ -32,21 +34,16 @@
}
public class Tests extends MyBaseClass {
- public static final int MODIFIER_NONE = 0;
- public static final int MODIFIER_FINAL = 16;
- public static final int MODIFIER_SYNTHETIC = 4096;
- public static final int MODIFIER_IMPLICIT = 32768;
-
@Test
public void testStaticMethod() throws NoSuchMethodException, SecurityException {
Method[] methods = Tests.class.getDeclaredMethods();
for (Method method : methods) {
- if (method.isSynthetic()) {
- Parameter[] parameters = method.getParameters();
- Assert.assertEquals(1, parameters.length);
- check(parameters[0], "param1", /* isNamePresent= */ true, /* isImplicit= */ false,
- /* isSynthetic= */ true, MODIFIER_SYNTHETIC);
- }
+ if (method.isSynthetic()) {
+ Parameter[] parameters = method.getParameters();
+ Assert.assertEquals(1, parameters.length);
+ check(parameters[0], "param1", /* isNamePresent= */ true, /* isImplicit= */ false,
+ /* isSynthetic= */ true, ParameterTestModifier.MODIFIER_SYNTHETIC);
+ }
}
}
diff --git a/jack-tests/tests/com/android/jack/java8/parameter/test010/Tests.java b/jack-tests/tests/com/android/jack/java8/parameter/test010/Tests.java
index 21636f2..050e157 100644
--- a/jack-tests/tests/com/android/jack/java8/parameter/test010/Tests.java
+++ b/jack-tests/tests/com/android/jack/java8/parameter/test010/Tests.java
@@ -16,6 +16,8 @@
package com.android.jack.java8.parameter.test010;
+import com.android.jack.java8.parameter.common.ParameterTestModifier;
+
import junit.framework.Assert;
import org.junit.Test;
@@ -27,11 +29,6 @@
public class Tests {
- public static final int MODIFIER_NONE = 0;
- public static final int MODIFIER_FINAL = 16;
- public static final int MODIFIER_SYNTHETIC = 4096;
- public static final int MODIFIER_IMPLICIT = 32768;
-
public static void m1(int a, double d, final float f, final long l) {
}
@@ -47,16 +44,16 @@
Assert.assertEquals(4, parameters.length);
check(parameters[0], "a", /* isNamePresent= */ true, /* isImplicit= */ false,
- /* isSynthetic= */ false, MODIFIER_NONE);
+ /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_NONE);
check(parameters[1], "d", /* isNamePresent= */ true, /* isImplicit= */ false,
- /* isSynthetic= */ false, MODIFIER_NONE);
+ /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_NONE);
check(parameters[2], "f", /* isNamePresent= */ true, /* isImplicit= */ false,
- /* isSynthetic= */ false, MODIFIER_FINAL);
+ /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_FINAL);
check(parameters[3], "l", /* isNamePresent= */ true, /* isImplicit= */ false,
- /* isSynthetic= */ false, MODIFIER_FINAL);
+ /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_FINAL);
}
@Test
@@ -68,16 +65,16 @@
Assert.assertEquals(4, parameters.length);
check(parameters[0], "a", /* isNamePresent= */ true, /* isImplicit= */ false,
- /* isSynthetic= */ false, MODIFIER_FINAL);
+ /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_FINAL);
check(parameters[1], "d", /* isNamePresent= */ true, /* isImplicit= */ false,
- /* isSynthetic= */ false, MODIFIER_NONE);
+ /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_NONE);
check(parameters[2], "f", /* isNamePresent= */ true, /* isImplicit= */ false,
- /* isSynthetic= */ false, MODIFIER_FINAL);
+ /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_FINAL);
check(parameters[3], "l", /* isNamePresent= */ true, /* isImplicit= */ false,
- /* isSynthetic= */ false, MODIFIER_NONE);
+ /* isSynthetic= */ false, ParameterTestModifier.MODIFIER_NONE);
}
private void check(Parameter parameter, String name, boolean isNamePresent, boolean isImplicit,
diff --git a/jack-tests/tests/com/android/jack/jill/JillTests.java b/jack-tests/tests/com/android/jack/jill/JillTests.java
index edbda2b..4bf05ff 100644
--- a/jack-tests/tests/com/android/jack/jill/JillTests.java
+++ b/jack-tests/tests/com/android/jack/jill/JillTests.java
@@ -17,9 +17,11 @@
package com.android.jack.jill;
import com.android.jack.test.TestsProperties;
+import com.android.jack.test.junit.KnownIssue;
import com.android.jack.test.junit.Runtime;
import com.android.jack.test.runner.RuntimeRunner;
import com.android.jack.test.toolchain.AbstractTestTools;
+import com.android.jack.test.toolchain.IncrementalToolchain;
import com.android.jack.test.toolchain.JackBasedToolchain;
import junit.framework.Assert;
@@ -35,28 +37,39 @@
@Test
@Runtime
+ @KnownIssue(candidate=IncrementalToolchain.class)
public void test001() throws Exception {
runJillTest("001");
}
@Test
@Runtime
+ @KnownIssue(candidate=IncrementalToolchain.class)
public void test002() throws Exception {
runJillTest("002");
}
@Test
@Runtime
+ @KnownIssue(candidate=IncrementalToolchain.class)
public void test003() throws Exception {
runJillTest("003");
}
@Test
@Runtime
+ @KnownIssue(candidate=IncrementalToolchain.class)
public void test004() throws Exception {
runJillTest("004");
}
+ @Test
+ @Runtime
+ @KnownIssue(candidate=IncrementalToolchain.class)
+ public void test005() throws Exception {
+ runJillTest("005");
+ }
+
private static void runJillTest(@Nonnull String testNumber) throws Exception {
String jackFolder = getJackFolder(testNumber);
String jasminFolder = getJasminFolder(testNumber);
@@ -77,7 +90,7 @@
jackToolchain.addStaticLibs(jarInput);
jackToolchain.srcToExe(dex, /* zipFile = */ true, testSourceDir);
- List<RuntimeRunner> runnerList = AbstractTestTools.listRuntimeTestRunners(null);
+ List<RuntimeRunner> runnerList = AbstractTestTools.listRuntimeTestRunners();
String[] names = { testClassName };
for (RuntimeRunner runner : runnerList) {
Assert.assertEquals(0,
diff --git a/jack-tests/tests/com/android/jack/jill/test005/jack/Test005.java b/jack-tests/tests/com/android/jack/jill/test005/jack/Test005.java
new file mode 100644
index 0000000..7dcd72a
--- /dev/null
+++ b/jack-tests/tests/com/android/jack/jill/test005/jack/Test005.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.jack.jill.test005.jack;
+
+import junit.framework.Assert;
+
+import org.junit.Test;
+
+public class Test005 {
+
+ @Test
+ public void test001() {
+ Assert.assertEquals(1, new External1().getValueInt1());
+ Assert.assertEquals(2, new External1().getValueInt2());
+ Assert.assertEquals(3, new External1().getValueInt3());
+ Assert.assertEquals(4, new External1().getValueInt4());
+ Assert.assertEquals(5, new External1().getValueInt5());
+ Assert.assertEquals(6, new External1().getValueInt6());
+ Assert.assertEquals(-2, new External1().getValueIntMinus2());
+ Assert.assertEquals(2L, new External1().getValueLong2());
+ Assert.assertEquals(1L, new External1().getValueLong1());
+ Assert.assertEquals(1L, new External1().getValueLong1Bis());
+ Assert.assertEquals(2L, new External1().getValueLong2());
+ }
+}
\ No newline at end of file
diff --git a/jack-tests/tests/com/android/jack/jill/test005/jasmin/External1.j b/jack-tests/tests/com/android/jack/jill/test005/jasmin/External1.j
new file mode 100644
index 0000000..40ffdf1
--- /dev/null
+++ b/jack-tests/tests/com/android/jack/jill/test005/jasmin/External1.j
@@ -0,0 +1,142 @@
+; Copyright (C) 2017 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.class public com/android/jack/jill/test005/jack/External1
+.super java/lang/Object
+
+.method public <init>()V
+ aload_0
+ invokespecial java/lang/Object/<init>()V
+ return
+.end method
+
+.method public getValueInt1()I
+ .limit locals 1
+ .limit stack 2
+ iconst_1
+ dup
+ pop
+ ireturn
+.end method
+
+.method public getValueInt2()I
+ .limit locals 1
+ .limit stack 2
+ iconst_1
+ dup
+ iadd
+ ireturn
+.end method
+
+.method public getValueInt3()I
+ .limit locals 1
+ .limit stack 2
+ iconst_2
+ iconst_3
+ swap
+ pop
+ ireturn
+.end method
+
+.method public getValueIntMinus2()I
+ .limit locals 1
+ .limit stack 4
+ iconst_1
+ iconst_2
+ dup2
+ isub
+ isub
+ isub
+ ireturn
+.end method
+
+.method public getValueInt4()I
+ .limit locals 1
+ .limit stack 4
+ iconst_1
+ iconst_2
+ iconst_3
+ dup_x1
+ pop2
+ iadd
+ ireturn
+.end method
+
+.method public getValueInt5()I
+ .limit locals 1
+ .limit stack 5
+ iconst_1
+ iconst_2
+ iconst_3
+ dup2_x1
+ pop2
+ pop
+ iadd
+ ireturn
+.end method
+
+.method public getValueInt6()I
+ .limit locals 1
+ .limit stack 5
+ lconst_0
+ iconst_4
+ dup_x2
+ pop
+ pop2
+ iconst_2
+ iadd
+ ireturn
+.end method
+
+.method public getValueLong2()J
+ .limit locals 1
+ .limit stack 4
+ lconst_1
+ dup2
+ ladd
+ lreturn
+.end method
+
+.method public getValueLong1()J
+ .limit locals 1
+ .limit stack 4
+ lconst_1
+ dup2
+ pop2
+ lreturn
+.end method
+
+.method public getValueLong1Bis()J
+ .limit locals 1
+ .limit stack 5
+ iconst_2
+ lconst_1
+ dup2_x1
+ pop2
+ pop
+ lreturn
+.end method
+
+.method public getValueLong2()J
+ .limit locals 1
+ .limit stack 4
+ lconst_0
+ lconst_1
+ dup2_x2
+ pop2
+ pop2
+ lconst_1
+ ladd
+ lreturn
+.end method
\ No newline at end of file
diff --git a/jack-tests/tests/com/android/jack/jill/test005/jasmin/jarInput.jar b/jack-tests/tests/com/android/jack/jill/test005/jasmin/jarInput.jar
new file mode 100644
index 0000000..7916c73
--- /dev/null
+++ b/jack-tests/tests/com/android/jack/jill/test005/jasmin/jarInput.jar
Binary files differ
diff --git a/jack-tests/tests/com/android/jack/multidex/MultiDexTests.java b/jack-tests/tests/com/android/jack/multidex/MultiDexTests.java
index 3b0b548..6c76032 100644
--- a/jack-tests/tests/com/android/jack/multidex/MultiDexTests.java
+++ b/jack-tests/tests/com/android/jack/multidex/MultiDexTests.java
@@ -41,6 +41,8 @@
import com.android.jack.test.toolchain.JillBasedToolchain;
import com.android.jack.test.toolchain.Toolchain.SourceLevel;
import com.android.sched.util.TextUtils;
+import com.android.sched.util.file.CannotCloseException;
+import com.android.sched.util.file.CannotReadException;
import junit.framework.Assert;
@@ -72,7 +74,7 @@
public void compare() throws DifferenceFoundException, ComparatorException {
try {
ListingComparator.compare(reference, getListingOfDex(candidate));
- } catch (IOException e) {
+ } catch (IOException | CannotCloseException | CannotReadException e) {
throw new ComparatorException(e);
}
}
@@ -252,7 +254,8 @@
toolchain.addProperty(PreProcessor.FILE.getName(), configFile.getAbsolutePath());
}
- private String getListingOfDex(@Nonnull File dex) throws IOException {
+ private String getListingOfDex(@Nonnull File dex)
+ throws CannotCloseException, CannotReadException {
assert dex.isFile();
StringBuilder sb = new StringBuilder();
for (ClassDef def : new DexBuffer(dex).classDefs()) {
diff --git a/jack-tests/tests/com/android/jack/optimizations/lambdas/LambdaTests.java b/jack-tests/tests/com/android/jack/optimizations/lambdas/LambdaTests.java
index 53b0461..19b2ec7 100644
--- a/jack-tests/tests/com/android/jack/optimizations/lambdas/LambdaTests.java
+++ b/jack-tests/tests/com/android/jack/optimizations/lambdas/LambdaTests.java
@@ -34,6 +34,7 @@
import java.nio.charset.Charset;
import java.util.Arrays;
import java.util.Collections;
+import java.util.TreeMap;
import javax.annotation.Nonnegative;
import javax.annotation.Nonnull;
@@ -60,7 +61,7 @@
@Nonnull
private static String lambda(@Nonnull String pkg, @Nonnull String sha, @Nonnegative int i) {
- return type(pkg, "-$Lambda$" + i + "$" + sha);
+ return type(pkg, "-$Lambda$" + sha + (i == 0 ? "" : ("$" + i)));
}
@Nonnull
@@ -71,11 +72,27 @@
return names;
}
+ @Nonnull
+ private static String orderedByTypeName(@Nonnull Class... classes) {
+ TreeMap<String, String> name2type = new TreeMap<>();
+ for (Class cls : classes) {
+ name2type.put(cls.name, cls.toString());
+ }
+ StringBuilder builder = new StringBuilder();
+ for (String str : name2type.values()) {
+ builder.append(str);
+ }
+ return builder.toString();
+ }
+
private static class Class {
@Nonnull
+ public final String name;
+ @Nonnull
private final StringBuilder builder = new StringBuilder();
Class(@Nonnull String name, @Nonnull String... interfaces) {
+ this.name = name;
builder.append(name).append("\n");
printImpl(interfaces, " - implements:\n", false);
}
@@ -119,110 +136,109 @@
private static final String SHA_001 = "IKUiHr1YvEGLPsKj1XVCnvkJpxY";
@Nonnull
- private static final String TEST001_NONE = "" +
+ private static final String TEST001_NONE = orderedByTypeName(
new Class(lambda(PKG_001, SHA_001, 0), types(PKG_001, "I0"))
- .methods("<init>()V", "foo()V", "$m$0()V") +
+ .methods("<init>()V", "foo()V", "$m$0()V"),
new Class(lambda(PKG_001, SHA_001, 1), types(PKG_001, "I0"))
- .methods("<init>()V", "foo()V", "$m$0()V") +
+ .methods("<init>()V", "foo()V", "$m$0()V"),
new Class(lambda(PKG_001, SHA_001, 10), types(PKG_001, "TestB"))
.fields("-$f0:Ljava/lang/Object;", "-$f1:Ljava/lang/Object;")
.methods("<init>(Ljava/lang/Object;Ljava/lang/Object;)V",
"foo(Ljava/lang/String;)Ljava/lang/String;",
- "$m$0(Ljava/lang/String;)Ljava/lang/String;") +
+ "$m$0(Ljava/lang/String;)Ljava/lang/String;"),
new Class(lambda(PKG_001, SHA_001, 11), types(PKG_001, "TestB"))
.fields("-$f0:Ljava/lang/Object;", "-$f1:Ljava/lang/Object;")
.methods("<init>(Ljava/lang/Object;Ljava/lang/Object;)V",
"foo(Ljava/lang/String;)Ljava/lang/String;",
- "$m$0(Ljava/lang/String;)Ljava/lang/String;") +
+ "$m$0(Ljava/lang/String;)Ljava/lang/String;"),
new Class(lambda(PKG_001, SHA_001, 12), types(PKG_001, "TestB"))
.fields("-$f0:I", "-$f1:Ljava/lang/Object;")
.methods("<init>(ILjava/lang/Object;)V",
"foo(Ljava/lang/String;)Ljava/lang/String;",
- "$m$0(Ljava/lang/String;)Ljava/lang/String;") +
+ "$m$0(Ljava/lang/String;)Ljava/lang/String;"),
new Class(lambda(PKG_001, SHA_001, 13), types(PKG_001, "TestB"))
.fields("-$f0:I", "-$f1:Ljava/lang/Object;")
.methods("<init>(ILjava/lang/Object;)V",
"foo(Ljava/lang/String;)Ljava/lang/String;",
- "$m$0(Ljava/lang/String;)Ljava/lang/String;") +
+ "$m$0(Ljava/lang/String;)Ljava/lang/String;"),
new Class(lambda(PKG_001, SHA_001, 14), types(PKG_001, "TestB"))
.fields("-$f0:Z", "-$f1:B", "-$f2:C", "-$f3:D", "-$f4:F", "-$f5:I", "-$f6:J", "-$f7:S",
"-$f8:Ljava/lang/Object;")
.methods("<init>(ZBCDFIJSLjava/lang/Object;)V",
"foo(Ljava/lang/String;)Ljava/lang/String;",
- "$m$0(Ljava/lang/String;)Ljava/lang/String;") +
+ "$m$0(Ljava/lang/String;)Ljava/lang/String;"),
new Class(lambda(PKG_001, SHA_001, 15), types(PKG_001, "TestB"))
.fields("-$f0:Z", "-$f1:B", "-$f2:C", "-$f3:D", "-$f4:F", "-$f5:I", "-$f6:J", "-$f7:S",
"-$f8:Ljava/lang/Object;")
.methods("<init>(ZBCDFIJSLjava/lang/Object;)V",
"foo(Ljava/lang/String;)Ljava/lang/String;",
- "$m$0(Ljava/lang/String;)Ljava/lang/String;") +
+ "$m$0(Ljava/lang/String;)Ljava/lang/String;"),
new Class(lambda(PKG_001, SHA_001, 16), types(PKG_001, "TestB"))
.fields("-$f0:Z", "-$f1:B", "-$f2:C", "-$f3:D", "-$f4:F", "-$f5:I", "-$f6:J", "-$f7:S",
"-$f8:Ljava/lang/Object;")
.methods("<init>(ZBCDFIJSLjava/lang/Object;)V",
"foo(Ljava/lang/String;)Ljava/lang/String;",
- "$m$0(Ljava/lang/String;)Ljava/lang/String;") +
+ "$m$0(Ljava/lang/String;)Ljava/lang/String;"),
new Class(lambda(PKG_001, SHA_001, 2), types(PKG_001, "I0"))
- .methods("<init>()V", "foo()V", "$m$0()V") +
+ .methods("<init>()V", "foo()V", "$m$0()V"),
new Class(lambda(PKG_001, SHA_001, 3), types(PKG_001, "I1"))
- .methods("<init>()V", "bar(I)I", "$m$0(I)I") +
+ .methods("<init>()V", "bar(I)I", "$m$0(I)I"),
new Class(lambda(PKG_001, SHA_001, 4), types(PKG_001, "IA"))
- .methods("<init>()V", "foo()Ljava/lang/Object;", "$m$0()Ljava/lang/Object;") +
+ .methods("<init>()V", "foo()Ljava/lang/Object;", "$m$0()Ljava/lang/Object;"),
new Class(lambda(PKG_001, SHA_001, 5), types(PKG_001, "IA"))
- .methods("<init>()V", "foo()Ljava/lang/Object;", "$m$0()Ljava/lang/Object;") +
+ .methods("<init>()V", "foo()Ljava/lang/Object;", "$m$0()Ljava/lang/Object;"),
new Class(lambda(PKG_001, SHA_001, 6), types(PKG_001, "IA"))
- .methods("<init>()V", "foo()Ljava/lang/Object;", "$m$0()Ljava/lang/Object;") +
+ .methods("<init>()V", "foo()Ljava/lang/Object;", "$m$0()Ljava/lang/Object;"),
new Class(lambda(PKG_001, SHA_001, 7), types(PKG_001, "IB"))
.methods("<init>()V", "foo()Ljava/lang/Object;", "foo()Ljava/lang/Integer;",
- "$m$0()Ljava/lang/Integer;", "$m$1()Ljava/lang/Object;") +
+ "$m$0()Ljava/lang/Integer;", "$m$1()Ljava/lang/Object;"),
new Class(lambda(PKG_001, SHA_001, 8), types(PKG_001, "TestB"))
.fields("-$f0:Ljava/lang/Object;")
.methods("<init>(Ljava/lang/Object;)V", "foo(Ljava/lang/String;)Ljava/lang/String;",
- "$m$0(Ljava/lang/String;)Ljava/lang/String;") +
+ "$m$0(Ljava/lang/String;)Ljava/lang/String;"),
new Class(lambda(PKG_001, SHA_001, 9), types(PKG_001, "TestB"))
.fields("-$f0:Ljava/lang/Object;")
.methods("<init>(Ljava/lang/Object;)V", "foo(Ljava/lang/String;)Ljava/lang/String;",
- "$m$0(Ljava/lang/String;)Ljava/lang/String;") +
- "";
+ "$m$0(Ljava/lang/String;)Ljava/lang/String;"));
@Nonnull
- private static final String TEST001_PACKAGE = "" +
+ private static final String TEST001_PACKAGE = orderedByTypeName(
new Class(lambda(PKG_001, SHA_001, 0), types(PKG_001, "I0"))
.fields("$id:B")
- .methods("<init>(B)V", "$m$0()V", "$m$1()V", "$m$2()V", "foo()V") +
+ .methods("<init>(B)V", "$m$0()V", "$m$1()V", "$m$2()V", "foo()V"),
new Class(lambda(PKG_001, SHA_001, 1), types(PKG_001, "I1"))
- .methods("<init>()V", "$m$0(I)I", "bar(I)I") +
+ .methods("<init>()V", "$m$0(I)I", "bar(I)I"),
new Class(lambda(PKG_001, SHA_001, 2), types(PKG_001, "IA"))
.fields("$id:B")
.methods("<init>(B)V",
"$m$0()Ljava/lang/Object;",
"$m$1()Ljava/lang/Object;",
"$m$2()Ljava/lang/Object;",
- "foo()Ljava/lang/Object;") +
+ "foo()Ljava/lang/Object;"),
new Class(lambda(PKG_001, SHA_001, 3), types(PKG_001, "IB"))
.methods("<init>()V",
"$m$0()Ljava/lang/Integer;",
"$m$1()Ljava/lang/Object;",
"foo()Ljava/lang/Integer;",
- "foo()Ljava/lang/Object;") +
+ "foo()Ljava/lang/Object;"),
new Class(lambda(PKG_001, SHA_001, 4), types(PKG_001, "TestB"))
.fields("-$f0:Ljava/lang/Object;", "$id:B")
.methods("<init>(BLjava/lang/Object;)V",
"$m$0(Ljava/lang/String;)Ljava/lang/String;",
"$m$1(Ljava/lang/String;)Ljava/lang/String;",
- "foo(Ljava/lang/String;)Ljava/lang/String;") +
+ "foo(Ljava/lang/String;)Ljava/lang/String;"),
new Class(lambda(PKG_001, SHA_001, 5), types(PKG_001, "TestB"))
.fields("-$f0:Ljava/lang/Object;", "-$f1:Ljava/lang/Object;", "$id:B")
.methods("<init>(BLjava/lang/Object;Ljava/lang/Object;)V",
"$m$0(Ljava/lang/String;)Ljava/lang/String;",
"$m$1(Ljava/lang/String;)Ljava/lang/String;",
- "foo(Ljava/lang/String;)Ljava/lang/String;") +
+ "foo(Ljava/lang/String;)Ljava/lang/String;"),
new Class(lambda(PKG_001, SHA_001, 6), types(PKG_001, "TestB"))
.fields("-$f0:I", "-$f1:Ljava/lang/Object;", "$id:B")
.methods("<init>(BILjava/lang/Object;)V",
"$m$0(Ljava/lang/String;)Ljava/lang/String;",
"$m$1(Ljava/lang/String;)Ljava/lang/String;",
- "foo(Ljava/lang/String;)Ljava/lang/String;") +
+ "foo(Ljava/lang/String;)Ljava/lang/String;"),
new Class(lambda(PKG_001, SHA_001, 7), types(PKG_001, "TestB"))
.fields("-$f0:Z", "-$f1:B", "-$f2:C", "-$f3:D", "-$f4:F",
"-$f5:I", "-$f6:J", "-$f7:S", "-$f8:Ljava/lang/Object;", "$id:B")
@@ -230,10 +246,10 @@
"$m$0(Ljava/lang/String;)Ljava/lang/String;",
"$m$1(Ljava/lang/String;)Ljava/lang/String;",
"$m$2(Ljava/lang/String;)Ljava/lang/String;",
- "foo(Ljava/lang/String;)Ljava/lang/String;");
+ "foo(Ljava/lang/String;)Ljava/lang/String;"));
@Nonnull
- private static final String TEST001_PACKAGE_INTERFACE = "" +
+ private static final String TEST001_PACKAGE_INTERFACE = orderedByTypeName(
new Class(lambda(PKG_001, SHA_001, 0), types(PKG_001, "I0", "I1", "IA", "IB"))
.fields("$id:B")
.methods("<init>(B)V",
@@ -249,25 +265,25 @@
"bar(I)I",
"foo()Ljava/lang/Integer;",
"foo()Ljava/lang/Object;",
- "foo()V") +
+ "foo()V"),
new Class(lambda(PKG_001, SHA_001, 1), types(PKG_001, "TestB"))
.fields("$id:B", "-$f0:Ljava/lang/Object;")
.methods("<init>(BLjava/lang/Object;)V",
"$m$0(Ljava/lang/String;)Ljava/lang/String;",
"$m$1(Ljava/lang/String;)Ljava/lang/String;",
- "foo(Ljava/lang/String;)Ljava/lang/String;") +
+ "foo(Ljava/lang/String;)Ljava/lang/String;"),
new Class(lambda(PKG_001, SHA_001, 2), types(PKG_001, "TestB"))
.fields("$id:B", "-$f0:Ljava/lang/Object;", "-$f1:Ljava/lang/Object;")
.methods("<init>(BLjava/lang/Object;Ljava/lang/Object;)V",
"$m$0(Ljava/lang/String;)Ljava/lang/String;",
"$m$1(Ljava/lang/String;)Ljava/lang/String;",
- "foo(Ljava/lang/String;)Ljava/lang/String;") +
+ "foo(Ljava/lang/String;)Ljava/lang/String;"),
new Class(lambda(PKG_001, SHA_001, 3), types(PKG_001, "TestB"))
.fields("$id:B", "-$f0:I", "-$f1:Ljava/lang/Object;")
.methods("<init>(BILjava/lang/Object;)V",
"$m$0(Ljava/lang/String;)Ljava/lang/String;",
"$m$1(Ljava/lang/String;)Ljava/lang/String;",
- "foo(Ljava/lang/String;)Ljava/lang/String;") +
+ "foo(Ljava/lang/String;)Ljava/lang/String;"),
new Class(lambda(PKG_001, SHA_001, 4), types(PKG_001, "TestB"))
.fields("$id:B", "-$f0:Z", "-$f1:B", "-$f2:C", "-$f3:D",
"-$f4:F", "-$f5:I", "-$f6:J", "-$f7:S", "-$f8:Ljava/lang/Object;")
@@ -275,7 +291,7 @@
"$m$0(Ljava/lang/String;)Ljava/lang/String;",
"$m$1(Ljava/lang/String;)Ljava/lang/String;",
"$m$2(Ljava/lang/String;)Ljava/lang/String;",
- "foo(Ljava/lang/String;)Ljava/lang/String;");
+ "foo(Ljava/lang/String;)Ljava/lang/String;"));
@Test
@Runtime
@@ -301,25 +317,24 @@
private static final String SHA_002 = "rK0qQUOvfPrsTJWpyc2f5mlYYJ8";
@Nonnull
- private static final String TEST002_NONE = "" +
+ private static final String TEST002_NONE = orderedByTypeName(
new Class(lambda(PKG_002, SHA_002, 0), types(PKG_002, "I0"))
- .methods("<init>()V", "$m$0()Ljava/lang/String;", "foo()Ljava/lang/String;") +
+ .methods("<init>()V", "$m$0()Ljava/lang/String;", "foo()Ljava/lang/String;"),
new Class(lambda(PKG_002, SHA_002, 1), types(PKG_002, "I1"))
- .methods("<init>()V", "$m$0()Ljava/lang/String;", "foo()Ljava/lang/String;") +
+ .methods("<init>()V", "$m$0()Ljava/lang/String;", "foo()Ljava/lang/String;"),
new Class(lambda(PKG_002, SHA_002, 2), types(PKG_002, "I2"))
- .methods("<init>()V", "$m$0()Ljava/lang/String;", "foo()Ljava/lang/String;") +
+ .methods("<init>()V", "$m$0()Ljava/lang/String;", "foo()Ljava/lang/String;"),
new Class(lambda(PKG_002, SHA_002, 3), types(PKG_002, "I3"))
- .methods("<init>()V", "$m$0()Ljava/lang/String;", "foo()Ljava/lang/String;") +
+ .methods("<init>()V", "$m$0()Ljava/lang/String;", "foo()Ljava/lang/String;"),
new Class(lambda(PKG_002, SHA_002, 4), types(PKG_002, "I4"))
- .methods("<init>()V", "$m$0()Ljava/lang/String;", "foo()Ljava/lang/String;") +
+ .methods("<init>()V", "$m$0()Ljava/lang/String;", "foo()Ljava/lang/String;"),
new Class(lambda(PKG_002, SHA_002, 5), types(PKG_002, "I5"))
- .methods("<init>()V", "$m$0()Ljava/lang/String;", "foo()Ljava/lang/String;") +
+ .methods("<init>()V", "$m$0()Ljava/lang/String;", "foo()Ljava/lang/String;"),
new Class(lambda(PKG_002, SHA_002, 6), types(PKG_002, "I6"))
- .methods("<init>()V", "$m$0()Ljava/lang/String;", "foo()Ljava/lang/String;") +
- "";
+ .methods("<init>()V", "$m$0()Ljava/lang/String;", "foo()Ljava/lang/String;"));
@Nonnull
- private static final String TEST002_PACKAGE_INTERFACE = "" +
+ private static final String TEST002_PACKAGE_INTERFACE = orderedByTypeName(
new Class(lambda(PKG_002, SHA_002, 0),
types(PKG_002, "I0", "I1", "I2", "I3", "I4", "I5", "I6"))
.fields("$id:B")
@@ -331,7 +346,7 @@
"$m$4()Ljava/lang/String;",
"$m$5()Ljava/lang/String;",
"$m$6()Ljava/lang/String;",
- "foo()Ljava/lang/String;");
+ "foo()Ljava/lang/String;"));
@Test
@Runtime
@@ -363,24 +378,23 @@
private static final String SHA_003 = "ONjwHPCPJTN6WB4tZ9kgaFMFflk";
@Nonnull
- private static final String TEST003_NONE = "" +
+ private static final String TEST003_NONE = orderedByTypeName(
new Class(lambda(PKG_003, SHA_003, 0), types(PKG_003, "I0"))
- .methods("<init>()V", "$m$0()Ljava/lang/Object;", "foo()Ljava/lang/Object;") +
+ .methods("<init>()V", "$m$0()Ljava/lang/Object;", "foo()Ljava/lang/Object;"),
new Class(lambda(PKG_003, SHA_003, 1), types(PKG_003, "I1"))
- .methods("<init>()V", "$m$0()Ljava/lang/Object;", "foo()Ljava/lang/Object;") +
+ .methods("<init>()V", "$m$0()Ljava/lang/Object;", "foo()Ljava/lang/Object;"),
new Class(lambda(PKG_003, SHA_003, 2), types(PKG_003, "I3"))
- .methods("<init>()V", "$m$0()Ljava/lang/Object;", "foo()Ljava/lang/Object;") +
- "";
+ .methods("<init>()V", "$m$0()Ljava/lang/Object;", "foo()Ljava/lang/Object;"));
@Nonnull
private static final String TEST003_PACKAGE = TEST003_NONE;
@Nonnull
- private static final String TEST003_PACKAGE_INTERFACE = "" +
+ private static final String TEST003_PACKAGE_INTERFACE = orderedByTypeName(
new Class(lambda(PKG_003, SHA_003, 0), types(PKG_003, "I0", "I1", "I3"))
.fields("$id:B")
.methods("<init>(B)V", "$m$0()Ljava/lang/Object;",
- "$m$1()Ljava/lang/Object;", "$m$2()Ljava/lang/Object;", "foo()Ljava/lang/Object;");
+ "$m$1()Ljava/lang/Object;", "$m$2()Ljava/lang/Object;", "foo()Ljava/lang/Object;"));
@Test
@Runtime
@@ -406,20 +420,20 @@
private static final String SHA_004 = "kE8tIAUzNtiGWJ6ulIU0a1IEtL4";
@Nonnull
- private static final String TEST004_PACKAGE = "" +
+ private static final String TEST004_PACKAGE = orderedByTypeName(
new Class(lambda(PKG_004, SHA_004, 0), types(PKG_004, "I0"))
- .methods("<init>()V", "$m$0()Ljava/lang/String;", "foo()Ljava/lang/String;") +
+ .methods("<init>()V", "$m$0()Ljava/lang/String;", "foo()Ljava/lang/String;"),
new Class(lambda(PKG_004, SHA_004, 1), types(PKG_004, "I0", "MarkerA"))
- .methods("<init>()V", "$m$0()Ljava/lang/String;", "foo()Ljava/lang/String;") +
+ .methods("<init>()V", "$m$0()Ljava/lang/String;", "foo()Ljava/lang/String;"),
new Class(lambda(PKG_004, SHA_004, 2), types(PKG_004, "I0", "MarkerA", "MarkerB"))
- .methods("<init>()V", "$m$0()Ljava/lang/String;", "foo()Ljava/lang/String;") +
+ .methods("<init>()V", "$m$0()Ljava/lang/String;", "foo()Ljava/lang/String;"),
new Class(lambda(PKG_004, SHA_004, 3), types(PKG_004, "I0", "MarkerB"))
- .methods("<init>()V", "$m$0()Ljava/lang/String;", "foo()Ljava/lang/String;") +
+ .methods("<init>()V", "$m$0()Ljava/lang/String;", "foo()Ljava/lang/String;"),
new Class(lambda(PKG_004, SHA_004, 4), types(PKG_004, "I1", "MarkerA", "MarkerB"))
- .methods("<init>()V", "$m$0()Ljava/lang/String;", "foo()Ljava/lang/String;");
+ .methods("<init>()V", "$m$0()Ljava/lang/String;", "foo()Ljava/lang/String;"));
@Nonnull
- private static final String TEST004_LAMBDA_MERGE = "" +
+ private static final String TEST004_LAMBDA_MERGE = orderedByTypeName(
new Class(lambda(PKG_004, SHA_004, 0), types(PKG_004, "I0", "I1", "MarkerA", "MarkerB"))
.fields("$id:B")
.methods("<init>(B)V",
@@ -428,10 +442,10 @@
"$m$2()Ljava/lang/String;",
"$m$3()Ljava/lang/String;",
"$m$4()Ljava/lang/String;",
- "foo()Ljava/lang/String;");
+ "foo()Ljava/lang/String;"));
@Nonnull
- private static final String TEST004_PACKAGE_INTERFACE_STATELESS = "" +
+ private static final String TEST004_PACKAGE_INTERFACE_STATELESS = orderedByTypeName(
new Class(lambda(PKG_004, SHA_004, 0), types(PKG_004, "I0", "I1", "MarkerA", "MarkerB"))
.fields("$id:B",
"$INST$0:" + lambda(PKG_004, SHA_004, 0),
@@ -445,35 +459,35 @@
"$m$2()Ljava/lang/String;",
"$m$3()Ljava/lang/String;",
"$m$4()Ljava/lang/String;",
- "foo()Ljava/lang/String;");
+ "foo()Ljava/lang/String;"));
@Nonnull
- private static final String TEST004_PACKAGE_STATELESS = "" +
+ private static final String TEST004_PACKAGE_STATELESS = orderedByTypeName(
new Class(lambda(PKG_004, SHA_004, 0), types(PKG_004, "I0"))
.fields("$INST$0:" + lambda(PKG_004, SHA_004, 0))
.methods("<clinit>()V", "<init>()V",
"$m$0()Ljava/lang/String;",
- "foo()Ljava/lang/String;") +
+ "foo()Ljava/lang/String;"),
new Class(lambda(PKG_004, SHA_004, 1), types(PKG_004, "I0", "MarkerA"))
.fields("$INST$0:" + lambda(PKG_004, SHA_004, 1))
.methods("<clinit>()V", "<init>()V",
"$m$0()Ljava/lang/String;",
- "foo()Ljava/lang/String;") +
+ "foo()Ljava/lang/String;"),
new Class(lambda(PKG_004, SHA_004, 2), types(PKG_004, "I0", "MarkerA", "MarkerB"))
.fields("$INST$0:" + lambda(PKG_004, SHA_004, 2))
.methods("<clinit>()V", "<init>()V",
"$m$0()Ljava/lang/String;",
- "foo()Ljava/lang/String;") +
+ "foo()Ljava/lang/String;"),
new Class(lambda(PKG_004, SHA_004, 3), types(PKG_004, "I0", "MarkerB"))
.fields("$INST$0:" + lambda(PKG_004, SHA_004, 3))
.methods("<clinit>()V", "<init>()V",
"$m$0()Ljava/lang/String;",
- "foo()Ljava/lang/String;") +
+ "foo()Ljava/lang/String;"),
new Class(lambda(PKG_004, SHA_004, 4), types(PKG_004, "I1", "MarkerA", "MarkerB"))
.fields("$INST$0:" + lambda(PKG_004, SHA_004, 4))
.methods("<clinit>()V", "<init>()V",
"$m$0()Ljava/lang/String;",
- "foo()Ljava/lang/String;");
+ "foo()Ljava/lang/String;"));
@Test
@Runtime
@@ -503,17 +517,17 @@
private static final String SHA_005 = "mEUip-rZCi8VUKLKTaQF6NNk0aM";
@Nonnull
- private static final String TEST005_PACKAGE = "" +
+ private static final String TEST005_PACKAGE = orderedByTypeName(
new Class(lambda(PKG_005, SHA_005, 0), types(PKG_005, "I0"))
.fields("$id:B")
.methods("<init>(B)V",
"$m$0()Ljava/lang/String;",
"$m$1()Ljava/lang/String;",
- "foo()Ljava/lang/String;") +
+ "foo()Ljava/lang/String;"),
new Class(lambda(PKG_005, SHA_005, 1), types(PKG_005, "I1"))
.methods("<init>()V",
"$m$0()Ljava/lang/String;",
- "bar()Ljava/lang/String;") +
+ "bar()Ljava/lang/String;"),
new Class(lambda(PKG_005, SHA_005, 2), types(PKG_005, "I0"))
.fields("$id:B", "-$f0:Ljava/lang/Object;")
.methods("<init>(BLjava/lang/Object;)V",
@@ -522,16 +536,16 @@
"$m$2()Ljava/lang/String;",
"$m$3()Ljava/lang/String;",
"$m$4()Ljava/lang/String;",
- "foo()Ljava/lang/String;") +
+ "foo()Ljava/lang/String;"),
new Class(lambda(PKG_005, SHA_005, 3), types(PKG_005, "I1"))
.fields("$id:B", "-$f0:Ljava/lang/Object;")
.methods("<init>(BLjava/lang/Object;)V",
"$m$0()Ljava/lang/String;",
"$m$1()Ljava/lang/String;",
- "bar()Ljava/lang/String;");
+ "bar()Ljava/lang/String;"));
@Nonnull
- private static final String TEST005_PACKAGE_INTERFACE = "" +
+ private static final String TEST005_PACKAGE_INTERFACE = orderedByTypeName(
new Class(lambda(PKG_005, SHA_005, 0), types(PKG_005, "I0", "I1"))
.fields("$id:B")
.methods("<init>(B)V",
@@ -539,7 +553,7 @@
"$m$1()Ljava/lang/String;",
"$m$2()Ljava/lang/String;",
"bar()Ljava/lang/String;",
- "foo()Ljava/lang/String;") +
+ "foo()Ljava/lang/String;"),
new Class(lambda(PKG_005, SHA_005, 1), types(PKG_005, "I0", "I1"))
.fields("$id:B", "-$f0:Ljava/lang/Object;")
.methods("<init>(BLjava/lang/Object;)V",
@@ -551,10 +565,10 @@
"$m$5()Ljava/lang/String;",
"$m$6()Ljava/lang/String;",
"bar()Ljava/lang/String;",
- "foo()Ljava/lang/String;");
+ "foo()Ljava/lang/String;"));
@Nonnull
- private static final String TEST005_PACKAGE_INTERFACE_STATELESS = "" +
+ private static final String TEST005_PACKAGE_INTERFACE_STATELESS = orderedByTypeName(
new Class(lambda(PKG_005, SHA_005, 0), types(PKG_005, "I0", "I1"))
.fields("$id:B",
"$INST$0:" + lambda(PKG_005, SHA_005, 0),
@@ -565,7 +579,7 @@
"$m$1()Ljava/lang/String;",
"$m$2()Ljava/lang/String;",
"bar()Ljava/lang/String;",
- "foo()Ljava/lang/String;") +
+ "foo()Ljava/lang/String;"),
new Class(lambda(PKG_005, SHA_005, 1), types(PKG_005, "I0", "I1"))
.fields("$id:B", "-$f0:Ljava/lang/Object;")
.methods("<init>(BLjava/lang/Object;)V",
@@ -577,7 +591,7 @@
"$m$5()Ljava/lang/String;",
"$m$6()Ljava/lang/String;",
"bar()Ljava/lang/String;",
- "foo()Ljava/lang/String;");
+ "foo()Ljava/lang/String;"));
@Test
@Runtime
@@ -605,47 +619,44 @@
private static final String SHA_006_B = "N-kUn0qIgGhcb5JJeaFqgDggm3E";
@Nonnull
- private static final String TEST006_NONE = "" +
+ private static final String TEST006_NONE = orderedByTypeName(
new Class(lambda(PKG_006, SHA_006_A, 0), types(PKG_006, "Producer"))
- .methods("<init>()V", "$m$0()Ljava/lang/String;", "run()Ljava/lang/String;") +
+ .methods("<init>()V", "$m$0()Ljava/lang/String;", "run()Ljava/lang/String;"),
new Class(lambda(PKG_006, SHA_006_A, 1), types(PKG_006, "Producer"))
- .methods("<init>()V", "$m$0()Ljava/lang/String;", "run()Ljava/lang/String;") +
+ .methods("<init>()V", "$m$0()Ljava/lang/String;", "run()Ljava/lang/String;"),
new Class(lambda(PKG_006, SHA_006_A, 2), types(PKG_006, "Producer"))
- .methods("<init>()V", "$m$0()Ljava/lang/String;", "run()Ljava/lang/String;") +
+ .methods("<init>()V", "$m$0()Ljava/lang/String;", "run()Ljava/lang/String;"),
new Class(lambda(PKG_006, SHA_006_A, 3), types(PKG_006, "Producer"))
- .methods("<init>()V", "$m$0()Ljava/lang/String;", "run()Ljava/lang/String;") +
- new Class(lambda(PKG_006, SHA_006_B, 4), types(PKG_006, "Producer"))
- .methods("<init>()V", "$m$0()Ljava/lang/String;", "run()Ljava/lang/String;") +
- new Class(lambda(PKG_006, SHA_006_B, 5), types(PKG_006, "Producer"))
- .methods("<init>()V", "$m$0()Ljava/lang/String;", "run()Ljava/lang/String;") +
- new Class(lambda(PKG_006, SHA_006_B, 6), types(PKG_006, "Producer"))
- .methods("<init>()V", "$m$0()Ljava/lang/String;", "run()Ljava/lang/String;") +
- "";
+ .methods("<init>()V", "$m$0()Ljava/lang/String;", "run()Ljava/lang/String;"),
+ new Class(lambda(PKG_006, SHA_006_B, 0), types(PKG_006, "Producer"))
+ .methods("<init>()V", "$m$0()Ljava/lang/String;", "run()Ljava/lang/String;"),
+ new Class(lambda(PKG_006, SHA_006_B, 1), types(PKG_006, "Producer"))
+ .methods("<init>()V", "$m$0()Ljava/lang/String;", "run()Ljava/lang/String;"),
+ new Class(lambda(PKG_006, SHA_006_B, 2), types(PKG_006, "Producer"))
+ .methods("<init>()V", "$m$0()Ljava/lang/String;", "run()Ljava/lang/String;"));
@Nonnull
- private static final String TEST006_TYPE = "" +
+ private static final String TEST006_TYPE = orderedByTypeName(
new Class(lambda(PKG_006, SHA_006_A, 0), types(PKG_006, "Producer"))
.fields("$id:B")
.methods("<init>(B)V", "$m$0()Ljava/lang/String;", "$m$1()Ljava/lang/String;",
- "$m$2()Ljava/lang/String;", "$m$3()Ljava/lang/String;", "run()Ljava/lang/String;") +
- new Class(lambda(PKG_006, SHA_006_B, 1), types(PKG_006, "Producer"))
+ "$m$2()Ljava/lang/String;", "$m$3()Ljava/lang/String;", "run()Ljava/lang/String;"),
+ new Class(lambda(PKG_006, SHA_006_B, 0), types(PKG_006, "Producer"))
.fields("$id:B")
.methods("<init>(B)V", "$m$0()Ljava/lang/String;", "$m$1()Ljava/lang/String;",
- "$m$2()Ljava/lang/String;", "run()Ljava/lang/String;") +
- "";
+ "$m$2()Ljava/lang/String;", "run()Ljava/lang/String;"));
@Nonnull
private static final String SHA_006_ALL = "aRztprv3kbtT1k5EHkFo2yXbFfg";
@Nonnull
- private static final String TEST006_PACKAGE = "" +
+ private static final String TEST006_PACKAGE = orderedByTypeName(
new Class(lambda(PKG_006, SHA_006_ALL, 0), types(PKG_006, "Producer"))
.fields("$id:B")
.methods("<init>(B)V", "$m$0()Ljava/lang/String;", "$m$1()Ljava/lang/String;",
"$m$2()Ljava/lang/String;", "$m$3()Ljava/lang/String;",
"$m$4()Ljava/lang/String;", "$m$5()Ljava/lang/String;",
- "$m$6()Ljava/lang/String;", "run()Ljava/lang/String;") +
- "";
+ "$m$6()Ljava/lang/String;", "run()Ljava/lang/String;"));
@Test
@Runtime
@@ -671,25 +682,23 @@
private static final String SHA_007 = "VIf7bh4a9R2eWK07TARcQzoADH4";
@Nonnull
- private static final String TEST007_DEFAULT = "" +
+ private static final String TEST007_DEFAULT = orderedByTypeName(
new Class(lambda(PKG_007, SHA_007, 0), types(PKG_007, "Ic", "Ia", "Ib"))
- .methods("<init>()V", "$m$0()Ljava/lang/String;", "m()Ljava/lang/String;") +
+ .methods("<init>()V", "$m$0()Ljava/lang/String;", "m()Ljava/lang/String;"),
new Class(lambda(PKG_007, SHA_007, 1), types(PKG_007, "Ic", "Iaa"))
- .methods("<init>()V", "$m$0()Ljava/lang/String;", "m()Ljava/lang/String;") +
+ .methods("<init>()V", "$m$0()Ljava/lang/String;", "m()Ljava/lang/String;"),
new Class(lambda(PKG_007, SHA_007, 2), types(PKG_007, "Ic", "Ib"))
- .methods("<init>()V", "$m$0()Ljava/lang/String;", "m()Ljava/lang/String;") +
+ .methods("<init>()V", "$m$0()Ljava/lang/String;", "m()Ljava/lang/String;"),
new Class(lambda(PKG_007, SHA_007, 3), types(PKG_007, "Ic", "Ib", "Ia"))
- .methods("<init>()V", "$m$0()Ljava/lang/String;", "m()Ljava/lang/String;") +
- "";
+ .methods("<init>()V", "$m$0()Ljava/lang/String;", "m()Ljava/lang/String;"));
@Nonnull
- private static final String TEST007_MERGE_INTERFACES = "" +
+ private static final String TEST007_MERGE_INTERFACES = orderedByTypeName(
new Class(lambda(PKG_007, SHA_007, 0), types(PKG_007, "Ia", "Iaa", "Ib", "Ic"))
.fields("$id:B")
.methods("<init>(B)V", "m()Ljava/lang/String;",
"$m$0()Ljava/lang/String;", "$m$1()Ljava/lang/String;",
- "$m$2()Ljava/lang/String;", "$m$3()Ljava/lang/String;") +
- "";
+ "$m$2()Ljava/lang/String;", "$m$3()Ljava/lang/String;"));
@Test
diff --git a/jack-tests/tests/com/android/jack/optimizations/modifiers/ModifiersTighteningTests.java b/jack-tests/tests/com/android/jack/optimizations/modifiers/ModifiersTighteningTests.java
index a8aa298..bbe4531 100644
--- a/jack-tests/tests/com/android/jack/optimizations/modifiers/ModifiersTighteningTests.java
+++ b/jack-tests/tests/com/android/jack/optimizations/modifiers/ModifiersTighteningTests.java
@@ -26,6 +26,7 @@
import com.android.jack.test.dex.DexTypeMethodsValidator;
import com.android.jack.test.junit.KnownIssue;
import com.android.jack.test.junit.Runtime;
+import com.android.jack.test.toolchain.IncrementalToolchain;
import com.android.jack.test.toolchain.JillBasedToolchain;
import org.junit.Test;
@@ -153,7 +154,7 @@
@Test
@Runtime
- @KnownIssue(candidate = JillBasedToolchain.class)
+ @KnownIssue(candidate = {JillBasedToolchain.class, IncrementalToolchain.class})
public void test003() throws Exception {
String testPackage = "com.android.jack.optimizations.modifiers.test003";
diff --git a/jack-tests/tests/com/android/jack/optimizations/valuepropagation/ValuePropagationTests.java b/jack-tests/tests/com/android/jack/optimizations/valuepropagation/ValuePropagationTests.java
index 847c139..2ea4490 100644
--- a/jack-tests/tests/com/android/jack/optimizations/valuepropagation/ValuePropagationTests.java
+++ b/jack-tests/tests/com/android/jack/optimizations/valuepropagation/ValuePropagationTests.java
@@ -22,7 +22,9 @@
import com.android.jack.test.dex.DexOutputBasedTest;
import com.android.jack.test.dex.DexTypeMethodsValidator;
import com.android.jack.test.dex.DexTypeMissingMethodValidator;
+import com.android.jack.test.junit.KnownIssue;
import com.android.jack.test.junit.Runtime;
+import com.android.jack.test.toolchain.IncrementalToolchain;
import org.junit.Test;
@@ -59,6 +61,7 @@
@Test
@Runtime
+ @KnownIssue(candidate=IncrementalToolchain.class)
public void test001() throws Exception {
String test = "com.android.jack.optimizations.valuepropagation.test001";
String aType = "Lcom/android/jack/optimizations/valuepropagation/test001/jack/A;";
@@ -80,6 +83,7 @@
@Test
@Runtime
+ @KnownIssue(candidate=IncrementalToolchain.class)
public void test002() throws Exception {
String test = "com.android.jack.optimizations.valuepropagation.test002";
String aType = "Lcom/android/jack/optimizations/valuepropagation/test002/jack/A;";
@@ -108,6 +112,7 @@
@Test
@Runtime
+ @KnownIssue(candidate=IncrementalToolchain.class)
public void test003() throws Exception {
String test = "com.android.jack.optimizations.valuepropagation.test003";
String aType = "Lcom/android/jack/optimizations/valuepropagation/test003/jack/A;";
@@ -146,6 +151,7 @@
@Test
@Runtime
+ @KnownIssue(candidate=IncrementalToolchain.class)
public void test004() throws Exception {
String test = "com.android.jack.optimizations.valuepropagation.test004";
String aType = "Lcom/android/jack/optimizations/valuepropagation/test004/jack/A;";
@@ -171,6 +177,7 @@
@Test
@Runtime
+ @KnownIssue(candidate=IncrementalToolchain.class)
public void test005() throws Exception {
String test = "com.android.jack.optimizations.valuepropagation.test005";
String aType = "Lcom/android/jack/optimizations/valuepropagation/test005/jack/A;";
@@ -192,6 +199,7 @@
@Test
@Runtime
+ @KnownIssue(candidate=IncrementalToolchain.class)
public void test101() throws Exception {
String test = "com.android.jack.optimizations.valuepropagation.test101";
String aType = "Lcom/android/jack/optimizations/valuepropagation/test101/jack/A;";
@@ -216,6 +224,7 @@
@Test
@Runtime
+ @KnownIssue(candidate=IncrementalToolchain.class)
public void test102() throws Exception {
String test = "com.android.jack.optimizations.valuepropagation.test102";
String aType = "Lcom/android/jack/optimizations/valuepropagation/test102/jack/A;";
@@ -263,6 +272,7 @@
@Test
@Runtime
+ @KnownIssue(candidate=IncrementalToolchain.class)
public void test103() throws Exception {
String test = "com.android.jack.optimizations.valuepropagation.test103";
String aType = "Lcom/android/jack/optimizations/valuepropagation/test103/jack/A;";
@@ -290,6 +300,7 @@
@Test
@Runtime
+ @KnownIssue(candidate=IncrementalToolchain.class)
public void test104() throws Exception {
String test = "com.android.jack.optimizations.valuepropagation.test104";
String aType = "Lcom/android/jack/optimizations/valuepropagation/test104/jack/A;";
@@ -320,6 +331,7 @@
@Test
@Runtime
+ @KnownIssue(candidate=IncrementalToolchain.class)
public void test105() throws Exception {
String test = "com.android.jack.optimizations.valuepropagation.test105";
String aType = "Lcom/android/jack/optimizations/valuepropagation/test105/jack/A;";
@@ -361,6 +373,7 @@
@Test
@Runtime
+ @KnownIssue(candidate=IncrementalToolchain.class)
public void test106() throws Exception {
String test = "com.android.jack.optimizations.valuepropagation.test106";
String aType = "Lcom/android/jack/optimizations/valuepropagation/test106/jack/A;";
diff --git a/jack-tests/tests/com/android/jack/resource/ResourceTests.java b/jack-tests/tests/com/android/jack/resource/ResourceTests.java
index e61ab6e..e740159 100644
--- a/jack-tests/tests/com/android/jack/resource/ResourceTests.java
+++ b/jack-tests/tests/com/android/jack/resource/ResourceTests.java
@@ -20,10 +20,8 @@
import com.android.jack.library.FileTypeDoesNotExistException;
import com.android.jack.library.InputJackLibrary;
import com.android.jack.shrob.obfuscation.NameProviderFactory;
-import com.android.jack.test.junit.KnownIssue;
import com.android.jack.test.toolchain.AbstractTestTools;
import com.android.jack.test.toolchain.IToolchain;
-import com.android.jack.test.toolchain.IncrementalToolchain;
import com.android.jack.test.toolchain.JackApiToolchainBase;
import com.android.jack.test.toolchain.JackBasedToolchain;
import com.android.jack.test.toolchain.JillApiToolchainBase;
@@ -206,7 +204,6 @@
}
@Test
- @KnownIssue(candidate=IncrementalToolchain.class)
public void testJackArchiveToJackDir() throws Exception {
// compile source file to a Jack archive and add resources
File jackAr = createJackArchiveWithResources();
@@ -234,7 +231,6 @@
}
@Test
- @KnownIssue(candidate=IncrementalToolchain.class)
public void testJackDirToJackDir() throws Exception {
// compile source file to a Jack dir
File jackFolder = AbstractTestTools.createTempDir();
diff --git a/jack-tests/tests/com/android/jack/shrob/ShrinkMultiDexTests.java b/jack-tests/tests/com/android/jack/shrob/ShrinkMultiDexTests.java
index 6936e92..8ea98c4 100644
--- a/jack-tests/tests/com/android/jack/shrob/ShrinkMultiDexTests.java
+++ b/jack-tests/tests/com/android/jack/shrob/ShrinkMultiDexTests.java
@@ -25,9 +25,11 @@
import com.android.jack.test.category.SlowTests;
import com.android.jack.test.comparator.ComparatorMapping;
import com.android.jack.test.helper.SourceToDexComparisonTestHelper;
+import com.android.jack.test.junit.KnownIssue;
import com.android.jack.test.toolchain.AbstractTestTools;
import com.android.jack.test.toolchain.DummyToolchain;
import com.android.jack.test.toolchain.IToolchain;
+import com.android.jack.test.toolchain.IncrementalToolchain;
import com.android.jack.test.toolchain.JackBasedToolchain;
import com.android.jack.test.toolchain.TwoStepsToolchain;
@@ -151,6 +153,12 @@
super.test1_016();
}
+ @Override
+ @KnownIssue(candidate=IncrementalToolchain.class)
+ public void test5_005() throws Exception {
+ super.test5_005();
+ }
+
@Test
@Override
public void test8_001() throws Exception {
@@ -166,6 +174,12 @@
super.test11_002();
}
+ @Override
+ @KnownIssue(candidate=IncrementalToolchain.class)
+ public void test16_001() throws Exception {
+ super.test16_001();
+ }
+
@Test
@Override
public void test17_001() throws Exception {
diff --git a/jack-tests/tests/com/android/jack/string/StringTests.java b/jack-tests/tests/com/android/jack/string/StringTests.java
index 93ce8ed..b459542 100644
--- a/jack-tests/tests/com/android/jack/string/StringTests.java
+++ b/jack-tests/tests/com/android/jack/string/StringTests.java
@@ -41,7 +41,9 @@
AbstractTestTools.getTestRootDir("com.android.jack.string.concat003"),
"com.android.jack.string.concat003.dx.Tests");
-
+ private RuntimeTestInfo CONCAT004 = new RuntimeTestInfo(
+ AbstractTestTools.getTestRootDir("com.android.jack.string.concat004"),
+ "com.android.jack.string.concat004.jack.Tests").setSrcDirName("");
@Test
public void testCompileNewString() throws Exception {
@@ -74,10 +76,18 @@
new RuntimeTestHelper(CONCAT003).compileAndRunTest();
}
+ @Test
+ @Runtime
+ @Category(RuntimeRegressionTest.class)
+ public void concat004() throws Exception {
+ new RuntimeTestHelper(CONCAT004).compileAndRunTest();
+ }
+
@Override
protected void fillRtTestInfos() {
rtTestInfos.add(CONCAT001);
rtTestInfos.add(CONCAT002);
rtTestInfos.add(CONCAT003);
+ rtTestInfos.add(CONCAT004);
}
}
diff --git a/jack-tests/tests/com/android/jack/string/concat004/jack/Tests.java b/jack-tests/tests/com/android/jack/string/concat004/jack/Tests.java
new file mode 100644
index 0000000..08d0113
--- /dev/null
+++ b/jack-tests/tests/com/android/jack/string/concat004/jack/Tests.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.jack.string.concat004.jack;
+
+import junit.framework.Assert;
+
+import org.junit.Test;
+
+public class Tests {
+
+ public String field = "a" + "b";
+
+ @Test
+ public void test1() {
+ String str = "a" + "b";
+ Assert.assertTrue(str == "ab");
+ }
+
+ @Test
+ public void test2() {
+ String str = "ab";
+ Assert.assertTrue(str == field);
+ }
+
+
+ @Test
+ public void test3() {
+ String str = "a" + null;
+ Assert.assertFalse(str == "anull");
+ }
+
+ @Test
+ public void test4() {
+ String str = (String) null + null;
+ Assert.assertFalse(str == "nullnull");
+ }
+}
diff --git a/jack/.classpath b/jack/.classpath
index ec7e2eb..e0d1ee8 100644
--- a/jack/.classpath
+++ b/jack/.classpath
@@ -16,7 +16,7 @@
<classpathentry kind="lib" path="libs/guava-lib.jar"/>
<classpathentry kind="lib" path="libs/jsr305-lib.jar"/>
<classpathentry kind="lib" path="libs/junit4.jar"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry combineaccessrules="false" kind="src" path="/jack-api"/>
<classpathentry combineaccessrules="false" kind="src" path="/jill"/>
<classpathentry kind="output" path="bin"/>
diff --git a/jack/.settings/org.eclipse.jdt.core.prefs b/jack/.settings/org.eclipse.jdt.core.prefs
index 5ea7f7d..253bb09 100644
--- a/jack/.settings/org.eclipse.jdt.core.prefs
+++ b/jack/.settings/org.eclipse.jdt.core.prefs
@@ -7,9 +7,9 @@
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -100,7 +100,7 @@
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.processAnnotations=enabled
-org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.compiler.source=1.8
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field=1585
org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field.count_dependent=1585|-1|1585
diff --git a/jack/build.gradle b/jack/build.gradle
index c4b0867..0751ff9 100644
--- a/jack/build.gradle
+++ b/jack/build.gradle
@@ -24,8 +24,8 @@
excludeFilter = file("config/findbugs/findbugs-exclude.xml")
}
-sourceCompatibility = 1.7
-targetCompatibility = 1.7
+sourceCompatibility = 1.8
+targetCompatibility = 1.8
sourceSets {
main {
@@ -160,13 +160,22 @@
commandLine 'java', '-jar', configurations.jarjar.singleFile, 'process', "jarjar-rules.txt", fullJackJar.archivePath, file("${buildDir}/libs/jack.jar")
}
+task jackDevJar (type: Jar, dependsOn: jarjar){
+ baseName 'jack'
+ classifier 'dev'
+ from (zipTree("${buildDir}/libs/jack.jar")) {
+ // Manage exclusion of packages to be hidden from plugin developers
+ }
+}
+
compileJava.dependsOn preprocessorParserTask
compileJava.dependsOn proguardParserTask
jar.dependsOn createJackVersionFile
-assemble.dependsOn jarjar
+assemble.dependsOn jarjar, jackDevJar
task dist (type: Copy, dependsOn: assemble) {
from file("${buildDir}/libs/jack.jar")
+ from jackDevJar.archivePath
into file("${rootDir}/gradle-dist/")
}
@@ -240,8 +249,8 @@
apply plugin: 'java'
apply plugin: 'com.github.johnrengelman.shadow'
- sourceCompatibility = 1.6
- targetCompatibility = 1.6
+ sourceCompatibility = 1.8
+ targetCompatibility = 1.8
compileJava.options.encoding = 'UTF-8'
diff --git a/jack/src/com/android/jack/Jack.java b/jack/src/com/android/jack/Jack.java
index 953abff..4015559 100644
--- a/jack/src/com/android/jack/Jack.java
+++ b/jack/src/com/android/jack/Jack.java
@@ -22,7 +22,6 @@
import com.google.common.eventbus.EventBus;
import com.android.jack.Options.AssertionPolicy;
-import com.android.jack.Options.SwitchEnumOptStrategy;
import com.android.jack.abort.Aborter;
import com.android.jack.analysis.DefinitionMarkerAdder;
import com.android.jack.analysis.DefinitionMarkerRemover;
@@ -243,8 +242,6 @@
import com.android.jack.transformations.EmptyClinitRemover;
import com.android.jack.transformations.FieldInitializer;
import com.android.jack.transformations.Jarjar;
-import com.android.jack.transformations.OptimizedSwitchEnumFeedbackFeature;
-import com.android.jack.transformations.OptimizedSwitchEnumNonFeedbackFeature;
import com.android.jack.transformations.SanityChecks;
import com.android.jack.transformations.UnusedLocalRemover;
import com.android.jack.transformations.VisibilityBridgeAdder;
@@ -303,7 +300,10 @@
import com.android.jack.transformations.enums.SwitchEnumSupport;
import com.android.jack.transformations.enums.UsedEnumFieldCollector;
import com.android.jack.transformations.enums.UsedEnumFieldMarkerRemover;
+import com.android.jack.transformations.enums.opt.OptimizedSwitchEnumFeedbackFeature;
+import com.android.jack.transformations.enums.opt.OptimizedSwitchEnumNonFeedbackFeature;
import com.android.jack.transformations.enums.opt.OptimizedSwitchEnumSupport;
+import com.android.jack.transformations.enums.opt.SwitchEnumOptStrategy;
import com.android.jack.transformations.enums.opt.SwitchEnumUsageCollector;
import com.android.jack.transformations.exceptions.ExceptionRuntimeValueAdder;
import com.android.jack.transformations.exceptions.TryCatchRemover;
@@ -713,9 +713,11 @@
request.addFeature(CheckAndroidCompatibility.class);
}
- if (config.get(Options.OPTIMIZED_ENUM_SWITCH) == SwitchEnumOptStrategy.FEEDBACK) {
+ if (config.get(OptimizedSwitchEnumSupport.OPTIMIZED_ENUM_SWITCH)
+ == SwitchEnumOptStrategy.FEEDBACK) {
request.addFeature(OptimizedSwitchEnumFeedbackFeature.class);
- } else if (config.get(Options.OPTIMIZED_ENUM_SWITCH) == SwitchEnumOptStrategy.ALWAYS) {
+ } else if (config.get(OptimizedSwitchEnumSupport.OPTIMIZED_ENUM_SWITCH)
+ == SwitchEnumOptStrategy.ALWAYS) {
request.addFeature(OptimizedSwitchEnumNonFeedbackFeature.class);
}
diff --git a/jack/src/com/android/jack/Options.java b/jack/src/com/android/jack/Options.java
index a51513f..1f29c83 100644
--- a/jack/src/com/android/jack/Options.java
+++ b/jack/src/com/android/jack/Options.java
@@ -36,8 +36,6 @@
import com.android.jack.plugin.NotJackPluginException;
import com.android.jack.plugin.PluginManager;
import com.android.jack.plugin.PluginNotFoundException;
-import com.android.jack.reporting.Reportable;
-import com.android.jack.reporting.Reportable.ProblemLevel;
import com.android.jack.reporting.Reporter;
import com.android.jack.reporting.Reporter.Severity;
import com.android.jack.resource.ResourceImporter;
@@ -49,6 +47,8 @@
import com.android.jack.shrob.obfuscation.annotation.ParameterAnnotationRemover;
import com.android.jack.shrob.seed.SeedPrinter;
import com.android.jack.shrob.spec.Flags;
+import com.android.jack.transformations.enums.opt.OptimizedSwitchEnumSupport;
+import com.android.jack.transformations.enums.opt.SwitchEnumOptStrategy;
import com.android.jack.transformations.lambda.LambdaGroupingScope;
import com.android.jack.transformations.renamepackage.PackageRenamer;
import com.android.jack.util.AndroidApiLevel;
@@ -155,28 +155,6 @@
@Nonnull
private static final Logger logger = LoggerFactory.getLogger();
- private static class DeprecatedVerbosity implements Reportable {
- @Nonnull
- private final VerbosityLevel verbosity;
-
- private DeprecatedVerbosity(@Nonnull VerbosityLevel verbosity) {
- this.verbosity = verbosity;
- }
-
- @Override
- @Nonnull
- public String getMessage() {
- return "Verbosity level '" + verbosity.name().toLowerCase() + "' is deprecated";
- }
-
- @Override
- @Nonnull
- public ProblemLevel getDefaultProblemLevel() {
- return ProblemLevel.WARNING;
- }
-
- }
-
/**
* Assertion policies
*/
@@ -270,19 +248,6 @@
BooleanPropertyId.create("jack.dex", "Generate dex file").addDefaultValue(Boolean.FALSE)
.addCategory(DumpInLibrary.class);
- /**
- * property used to specify the kind of switch enum optimization that is enabled. See(@link
- * SwitchEnumOptStrategy)
- */
- @Nonnull
- public static final EnumPropertyId<SwitchEnumOptStrategy> OPTIMIZED_ENUM_SWITCH =
- EnumPropertyId.create(
- "jack.optimization.enum.switch", "Optimize enum switch", SwitchEnumOptStrategy.class)
- .addDefaultValue(SwitchEnumOptStrategy.NEVER)
- .ignoreCase()
- .addCategory(DumpInLibrary.class)
- .addCategory(PrebuiltCompatibility.class);
-
@Nonnull
public static final BooleanPropertyId GENERATE_DEX_IN_LIBRARY = BooleanPropertyId
.create("jack.library.dex", "Generate dex files in library").addDefaultValue(Boolean.TRUE)
@@ -431,63 +396,6 @@
private final File propertiesFile = null;
- /**
- * Jack verbosity level.
- * Note: The implementation of {@link ProblemLevel} assumes that the ordinal values of
- * {@link VerbosityLevel} are ordered from the highest severity to the lowest.
- */
- @VariableName("level")
- public enum VerbosityLevel {
- @EnumName(name = "error")
- ERROR("error"),
- @EnumName(name = "warning")
- WARNING("warning"),
- @EnumName(name = "info")
- INFO("info"),
- @EnumName(name = "debug", hide = true)
- @Deprecated DEBUG("debug"),
- @EnumName(name = "trace", hide = true)
- @Deprecated TRACE("trace");
-
- @Nonnull
- private final String id;
-
- VerbosityLevel(@Nonnull String id) {
- this.id = id;
- }
-
- public String getId() {
- return id;
- }
- }
-
- /**
- * Types of switch enum optimization strategies.
- * 1. feedback (set on by default)
- * 2. always
- * 3. never
- */
- @VariableName("strategy")
- public enum SwitchEnumOptStrategy {
- // feedback-based optimization: this strategy will be enabled/disabled based on the
- // compile time information collected, e.g., if it is detected that an enum is only
- // used in one/few switch statements, it is useless to optimize it. Potentially enable
- // this strategy will cost more compilation time, but save more dex code
- @EnumName(name = "feedback")
- FEEDBACK(),
- // different from feedback-based optimization, always strategy doesn't collect compile-
- // time information to guide switch enum optimization. It will always enable switch enum
- // optimization no matter the enum is rarely/frequently used. Ideally this strategy will
- // compile code quicker than feedback-based strategy does, but the generated dex may be
- // larger than feedback strategy
- @EnumName(name = "always")
- ALWAYS(),
- // this actually is not real strategy, but we still need it because switch enum
- // optimization is disabled when incremental compilation is triggered
- @EnumName(name = "never")
- NEVER();
- }
-
@Nonnull
public static final EnumPropertyId<VerbosityLevel> VERBOSITY_LEVEL = EnumPropertyId.create(
"jack.verbose.level", "Verbosity level", VerbosityLevel.class)
@@ -1343,7 +1251,8 @@
// if the incremental compilation is enabled, the switch enum optimization cannot
// be enabled because it will generates non-deterministic code. This has to be done after
// -D options are set
- configBuilder.set(OPTIMIZED_ENUM_SWITCH.getName(), SwitchEnumOptStrategy.NEVER);
+ configBuilder.set(
+ OptimizedSwitchEnumSupport.OPTIMIZED_ENUM_SWITCH.getName(), SwitchEnumOptStrategy.NEVER);
}
configBuilder.processEnvironmentVariables("JACK_CONFIG_");
@@ -1391,7 +1300,9 @@
}
if (verbose == VerbosityLevel.DEBUG || verbose == VerbosityLevel.TRACE) {
- config.get(Reporter.REPORTER).report(Severity.NON_FATAL, new DeprecatedVerbosity(verbose));
+ config
+ .get(Reporter.REPORTER)
+ .report(Severity.NON_FATAL, new VerbosityLevel.DeprecatedVerbosity(verbose));
}
}
diff --git a/jack/src/com/android/jack/VerbosityLevel.java b/jack/src/com/android/jack/VerbosityLevel.java
new file mode 100644
index 0000000..b710946
--- /dev/null
+++ b/jack/src/com/android/jack/VerbosityLevel.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.jack;
+
+import com.android.jack.reporting.Reportable;
+import com.android.jack.reporting.Reportable.ProblemLevel;
+import com.android.sched.util.codec.EnumName;
+import com.android.sched.util.codec.VariableName;
+
+import javax.annotation.Nonnull;
+
+/**
+ * Jack verbosity level.
+ * Note: The implementation of {@link ProblemLevel} assumes that the ordinal values of
+ * {@link VerbosityLevel} are ordered from the highest severity to the lowest.
+ */
+@VariableName("level")
+public enum VerbosityLevel {
+ @EnumName(name = "error")
+ ERROR("error"),
+ @EnumName(name = "warning")
+ WARNING("warning"),
+ @EnumName(name = "info")
+ INFO("info"),
+ @EnumName(name = "debug", hide = true)
+ @Deprecated DEBUG("debug"),
+ @EnumName(name = "trace", hide = true)
+ @Deprecated TRACE("trace");
+
+ @Nonnull
+ private final String id;
+
+ VerbosityLevel(@Nonnull String id) {
+ this.id = id;
+ }
+
+ @Nonnull
+ public String getId() {
+ return id;
+ }
+
+ static class DeprecatedVerbosity implements Reportable {
+ @Nonnull
+ private final VerbosityLevel verbosity;
+
+ DeprecatedVerbosity(@Nonnull VerbosityLevel verbosity) {
+ this.verbosity = verbosity;
+ }
+
+ @Override
+ @Nonnull
+ public String getMessage() {
+ return "Verbosity level '" + verbosity.name().toLowerCase() + "' is deprecated";
+ }
+
+ @Override
+ @Nonnull
+ public ProblemLevel getDefaultProblemLevel() {
+ return ProblemLevel.WARNING;
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/jack/src/com/android/jack/analysis/tracer/Tracer.java b/jack/src/com/android/jack/analysis/tracer/Tracer.java
index 220a535..1f2edab 100644
--- a/jack/src/com/android/jack/analysis/tracer/Tracer.java
+++ b/jack/src/com/android/jack/analysis/tracer/Tracer.java
@@ -566,8 +566,11 @@
@Override
public void endVisit(@Nonnull JVariableRef x) {
DebugVariableInfoMarker debugInfo = x.getMarker(DebugVariableInfoMarker.class);
- if (debugInfo != null && debugInfo.getType() != null) {
- trace(debugInfo.getType());
+ if (debugInfo != null) {
+ JType debugInfoType = debugInfo.getType();
+ if (debugInfoType != null) {
+ trace(debugInfoType);
+ }
}
}
diff --git a/jack/src/com/android/jack/api/v01/impl/Api01ConfigImpl.java b/jack/src/com/android/jack/api/v01/impl/Api01ConfigImpl.java
index cbdaec4..a5da41d 100644
--- a/jack/src/com/android/jack/api/v01/impl/Api01ConfigImpl.java
+++ b/jack/src/com/android/jack/api/v01/impl/Api01ConfigImpl.java
@@ -398,22 +398,22 @@
@Override
public void setVerbosityLevel(@Nonnull VerbosityLevel verbosityLevel)
throws ConfigurationException {
- com.android.jack.Options.VerbosityLevel jackVerbosityLevel;
+ com.android.jack.VerbosityLevel jackVerbosityLevel;
switch (verbosityLevel) {
case DEBUG: {
- jackVerbosityLevel = com.android.jack.Options.VerbosityLevel.INFO;
+ jackVerbosityLevel = com.android.jack.VerbosityLevel.INFO;
break;
}
case ERROR: {
- jackVerbosityLevel = com.android.jack.Options.VerbosityLevel.ERROR;
+ jackVerbosityLevel = com.android.jack.VerbosityLevel.ERROR;
break;
}
case INFO: {
- jackVerbosityLevel = com.android.jack.Options.VerbosityLevel.INFO;
+ jackVerbosityLevel = com.android.jack.VerbosityLevel.INFO;
break;
}
case WARNING: {
- jackVerbosityLevel = com.android.jack.Options.VerbosityLevel.WARNING;
+ jackVerbosityLevel = com.android.jack.VerbosityLevel.WARNING;
break;
}
default: {
diff --git a/jack/src/com/android/jack/api/v02/impl/Api02ConfigImpl.java b/jack/src/com/android/jack/api/v02/impl/Api02ConfigImpl.java
index 1b52ced..69f06cd 100644
--- a/jack/src/com/android/jack/api/v02/impl/Api02ConfigImpl.java
+++ b/jack/src/com/android/jack/api/v02/impl/Api02ConfigImpl.java
@@ -79,18 +79,18 @@
@Override
public void setVerbosityLevel(@Nonnull VerbosityLevel verbosityLevel)
throws ConfigurationException {
- com.android.jack.Options.VerbosityLevel jackVerbosityLevel;
+ com.android.jack.VerbosityLevel jackVerbosityLevel;
switch (verbosityLevel) {
case ERROR: {
- jackVerbosityLevel = com.android.jack.Options.VerbosityLevel.ERROR;
+ jackVerbosityLevel = com.android.jack.VerbosityLevel.ERROR;
break;
}
case INFO: {
- jackVerbosityLevel = com.android.jack.Options.VerbosityLevel.INFO;
+ jackVerbosityLevel = com.android.jack.VerbosityLevel.INFO;
break;
}
case WARNING: {
- jackVerbosityLevel = com.android.jack.Options.VerbosityLevel.WARNING;
+ jackVerbosityLevel = com.android.jack.VerbosityLevel.WARNING;
break;
}
default: {
diff --git a/jack/src/com/android/jack/backend/dex/ClassAnnotationBuilder.java b/jack/src/com/android/jack/backend/dex/ClassAnnotationBuilder.java
index 83c9629..8c3b6c7 100644
--- a/jack/src/com/android/jack/backend/dex/ClassAnnotationBuilder.java
+++ b/jack/src/com/android/jack/backend/dex/ClassAnnotationBuilder.java
@@ -38,7 +38,7 @@
import javax.annotation.Nonnull;
/**
- * Builds the {@link com.android.dx.rop.annotation.Annotations Annotations} of a class or interface.
+ * Builds the {@link Annotations} of a class or interface.
*/
@Description("Builds the rop annotations of a JDeclaredType.")
@Constraint(need = ClassDefItemMarker.class, no = AnnotationMethodDefaultValue.class)
diff --git a/jack/src/com/android/jack/backend/dex/DexWritingTool.java b/jack/src/com/android/jack/backend/dex/DexWritingTool.java
index 1bb5944..408e512 100644
--- a/jack/src/com/android/jack/backend/dex/DexWritingTool.java
+++ b/jack/src/com/android/jack/backend/dex/DexWritingTool.java
@@ -38,8 +38,10 @@
import com.android.jack.util.AndroidApiLevel;
import com.android.sched.util.codec.VariableName;
import com.android.sched.util.config.ThreadConfig;
+import com.android.sched.util.file.CannotCloseException;
import com.android.sched.util.file.CannotCreateFileException;
import com.android.sched.util.file.CannotReadException;
+import com.android.sched.util.file.CannotWriteException;
import com.android.sched.util.file.WrongPermissionException;
import com.android.sched.util.location.Location;
import com.android.sched.util.log.Event;
@@ -63,7 +65,6 @@
import java.util.Iterator;
import java.util.List;
import java.util.Set;
-import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.CheckForNull;
@@ -136,17 +137,13 @@
protected void finishMerge(@Nonnull JackMerger merger, @Nonnull OutputVFile out)
throws DexWritingException {
try (Event event = tracer.open(JackEventType.DEX_MERGER_FINISH)) {
- OutputStream os = null;
try {
- try {
- os = new BufferedOutputStream(out.getOutputStream());
- merger.finish(os);
- } finally {
- if (os != null) {
- os.close();
- }
+ try (OutputStream os = new BufferedOutputStream(out.getOutputStream())) {
+ merger.finish(os, out);
+ } catch (IOException e) {
+ throw new CannotCloseException(out, e);
}
- } catch (IOException | WrongPermissionException e) {
+ } catch (CannotWriteException | CannotCloseException | WrongPermissionException e) {
throw new DexWritingException(e);
}
}
@@ -154,23 +151,15 @@
protected void mergeDex(@Nonnull JackMerger merger, InputVFile inputDex)
throws MergingOverflowException, DexWritingException {
- InputStream inputStream = null;
+
try {
- inputStream = inputDex.getInputStream();
- merger.addDexFile(new DexBuffer(inputStream));
- } catch (IOException e) {
- throw new DexWritingException(new CannotReadException(inputDex, e));
- } catch (WrongPermissionException e) {
- throw new DexWritingException(e);
- } finally {
- if (inputStream != null) {
- try {
- inputStream.close();
- } catch (IOException e) {
- logger.log(
- Level.WARNING, "Failed to close ''{0}''", inputDex.getLocation().getDescription());
- }
+ try (InputStream inputStream = inputDex.getInputStream()) {
+ merger.addDexFile(new DexBuffer(inputStream, inputDex.getLocation()));
+ } catch (IOException e) {
+ throw new CannotCloseException(inputDex, e);
}
+ } catch (CannotCloseException | CannotReadException | WrongPermissionException e) {
+ throw new DexWritingException(e);
}
}
diff --git a/jack/src/com/android/jack/backend/dex/FieldAnnotationBuilder.java b/jack/src/com/android/jack/backend/dex/FieldAnnotationBuilder.java
index f5be1e9..20923ef 100644
--- a/jack/src/com/android/jack/backend/dex/FieldAnnotationBuilder.java
+++ b/jack/src/com/android/jack/backend/dex/FieldAnnotationBuilder.java
@@ -40,7 +40,7 @@
import javax.annotation.Nonnull;
/**
- * Builds the {@link com.android.dx.rop.annotation.Annotations Annotations} of a field.
+ * Builds the {@link Annotations} of a field.
*/
@Description("Builds the rop annotations of a field")
@Synchronized
diff --git a/jack/src/com/android/jack/backend/dex/MethodAnnotationBuilder.java b/jack/src/com/android/jack/backend/dex/MethodAnnotationBuilder.java
index 5bb806b..765558e 100644
--- a/jack/src/com/android/jack/backend/dex/MethodAnnotationBuilder.java
+++ b/jack/src/com/android/jack/backend/dex/MethodAnnotationBuilder.java
@@ -46,7 +46,7 @@
import javax.annotation.Nonnull;
/**
- * Builds the {@link com.android.dx.rop.annotation.Annotations Annotations} of a method.
+ * Builds the {@link Annotations} of a method.
*/
@Description("Builds the rop annotations of a method")
@Synchronized
diff --git a/jack/src/com/android/jack/dx/io/DexBuffer.java b/jack/src/com/android/jack/dx/io/DexBuffer.java
index 5c68d13..b90e567 100644
--- a/jack/src/com/android/jack/dx/io/DexBuffer.java
+++ b/jack/src/com/android/jack/dx/io/DexBuffer.java
@@ -32,6 +32,11 @@
import com.android.jack.dx.util.Leb128Utils;
import com.android.jack.dx.util.Mutf8;
import com.android.jack.tools.merger.MergerTools;
+import com.android.sched.util.file.CannotCloseException;
+import com.android.sched.util.file.CannotReadException;
+import com.android.sched.util.location.FileLocation;
+import com.android.sched.util.location.Location;
+import com.android.sched.util.location.ZipLocation;
import java.io.ByteArrayOutputStream;
import java.io.File;
@@ -129,8 +134,8 @@
/**
* Creates a new dex buffer of the dex in {@code in}.
*/
- public DexBuffer(InputStream in) throws IOException {
- loadFrom(in);
+ public DexBuffer(@Nonnull InputStream in, @Nonnull Location location) throws CannotReadException {
+ loadFrom(in, location);
this.internalSection = new Section(0);
this.strings = readStrings();
this.typeIds = readTypeIds();
@@ -144,21 +149,28 @@
/**
* Creates a new dex buffer from the dex file {@code file}.
*/
- public DexBuffer(File file) throws IOException {
+ public DexBuffer(File file) throws CannotReadException, CannotCloseException {
+ FileLocation fileLocation = new FileLocation(file);
if (FileUtils.hasArchiveSuffix(file.getName())) {
try (ZipFile zipFile = new ZipFile(file)) {
ZipEntry entry = zipFile.getEntry(DexFormat.DEX_IN_JAR_NAME);
if (entry != null) {
try (InputStream is = zipFile.getInputStream(entry)) {
- loadFrom(is);
+ loadFrom(is, new ZipLocation(fileLocation, entry));
+ } catch (IOException e) {
+ throw new CannotCloseException(new ZipLocation(fileLocation, entry), e);
}
} else {
throw new DexException("Expected " + DexFormat.DEX_IN_JAR_NAME + " in " + file);
}
+ } catch (IOException e) {
+ throw new CannotCloseException(fileLocation, e);
}
} else if (file.getName().endsWith(".dex")) {
try (InputStream is = new FileInputStream(file)) {
- loadFrom(is);
+ loadFrom(is, fileLocation);
+ } catch (IOException e) {
+ throw new CannotCloseException(fileLocation, e);
}
} else {
throw new DexException("unknown output extension: " + file);
@@ -255,13 +267,18 @@
return Arrays.asList(result);
}
- private void loadFrom(InputStream in) throws IOException {
+ private void loadFrom(@Nonnull InputStream in, @Nonnull Location location)
+ throws CannotReadException {
ByteArrayOutputStream bytesOut = new ByteArrayOutputStream();
byte[] buffer = new byte[8192];
- int count;
- while ((count = in.read(buffer)) != -1) {
- bytesOut.write(buffer, 0, count);
+ try {
+ int count;
+ while ((count = in.read(buffer)) != -1) {
+ bytesOut.write(buffer, 0, count);
+ }
+ } catch (IOException e) {
+ throw new CannotReadException(location, e);
}
this.data = bytesOut.toByteArray();
diff --git a/jack/src/com/android/jack/dx/io/DexIndexPrinter.java b/jack/src/com/android/jack/dx/io/DexIndexPrinter.java
index d194b43..dbd9cfc 100644
--- a/jack/src/com/android/jack/dx/io/DexIndexPrinter.java
+++ b/jack/src/com/android/jack/dx/io/DexIndexPrinter.java
@@ -17,9 +17,10 @@
package com.android.jack.dx.io;
import com.android.jack.dx.dex.TableOfContents;
+import com.android.sched.util.file.CannotCloseException;
+import com.android.sched.util.file.CannotReadException;
import java.io.File;
-import java.io.IOException;
/**
* Executable that prints all indices of a dex file.
@@ -28,7 +29,7 @@
private final DexBuffer dexBuffer;
private final TableOfContents tableOfContents;
- public DexIndexPrinter(File file) throws IOException {
+ public DexIndexPrinter(File file) throws CannotReadException, CannotCloseException {
this.dexBuffer = new DexBuffer(file);
this.tableOfContents = dexBuffer.getTableOfContents();
}
@@ -110,7 +111,7 @@
}
}
- public static void main(String[] args) throws IOException {
+ public static void main(String[] args) throws CannotReadException, CannotCloseException {
DexIndexPrinter indexPrinter = new DexIndexPrinter(new File(args[0]));
indexPrinter.printMap();
indexPrinter.printStrings();
diff --git a/jack/src/com/android/jack/dx/rop/code/LocalItem.java b/jack/src/com/android/jack/dx/rop/code/LocalItem.java
index 3c68b65..bd9b83b 100644
--- a/jack/src/com/android/jack/dx/rop/code/LocalItem.java
+++ b/jack/src/com/android/jack/dx/rop/code/LocalItem.java
@@ -16,6 +16,7 @@
package com.android.jack.dx.rop.code;
+import com.android.jack.dx.rop.cst.Constant;
import com.android.jack.dx.rop.cst.CstString;
import com.android.jack.dx.rop.type.Type;
diff --git a/jack/src/com/android/jack/incremental/CommonFilter.java b/jack/src/com/android/jack/incremental/CommonFilter.java
index d810517..3c12400 100644
--- a/jack/src/com/android/jack/incremental/CommonFilter.java
+++ b/jack/src/com/android/jack/incremental/CommonFilter.java
@@ -56,6 +56,7 @@
import com.android.sched.util.file.CannotCreateFileException;
import com.android.sched.util.file.Directory;
import com.android.sched.util.file.FileOrDirectory;
+import com.android.sched.util.file.FileOrDirectory.Existence;
import com.android.sched.util.file.FileOrDirectory.Permission;
import com.android.sched.util.file.Files;
import com.android.sched.util.file.InputZipFile;
@@ -71,6 +72,7 @@
import com.android.sched.vfs.ReadZipFS;
import com.android.sched.vfs.VFS;
import com.android.sched.vfs.VPath;
+import com.android.sched.vfs.WrongVFSTypeException;
import com.android.sched.vfs.ZipUtils;
import java.io.File;
@@ -344,11 +346,11 @@
File jackJar = new File(location.toURI().getPath());
for (String prefix: JACK_DEFAULT_LIB_PATH) {
VFS jackVfs = new PrefixedFS(new ReadZipFS(new InputZipFile(jackJar.getPath())),
- new VPath(prefix, ZipUtils.ZIP_SEPARATOR));
+ new VPath(prefix, ZipUtils.ZIP_SEPARATOR), Existence.MUST_EXIST);
libraries.add(JackLibraryFactory.getInputLibrary(jackVfs));
}
return libraries;
- } catch (LibraryException e) {
+ } catch (LibraryException | WrongVFSTypeException e) {
EmbeddedLibraryLoadingException reportable = new EmbeddedLibraryLoadingException(e);
session.getReporter().report(Severity.FATAL, reportable);
throw new JackAbortException(reportable);
diff --git a/jack/src/com/android/jack/ir/impl/BaseGenerationVisitor.java b/jack/src/com/android/jack/ir/impl/BaseGenerationVisitor.java
index 62bce20..1056276 100644
--- a/jack/src/com/android/jack/ir/impl/BaseGenerationVisitor.java
+++ b/jack/src/com/android/jack/ir/impl/BaseGenerationVisitor.java
@@ -715,7 +715,8 @@
accept(x.getThenStmt());
nestedStatementPop(x.getThenStmt());
- if (x.getElseStmt() != null) {
+ JStatement elseStmt = x.getElseStmt();
+ if (elseStmt != null) {
if (needSemi) {
semi();
newline();
@@ -724,15 +725,15 @@
needSemi = true;
}
print(CHARS_ELSE);
- boolean elseIf = x.getElseStmt() instanceof JIfStatement;
+ boolean elseIf = elseStmt instanceof JIfStatement;
if (!elseIf) {
- nestedStatementPush(x.getElseStmt());
+ nestedStatementPush(elseStmt);
} else {
space();
}
- accept(x.getElseStmt());
+ accept(elseStmt);
if (!elseIf) {
- nestedStatementPop(x.getElseStmt());
+ nestedStatementPop(elseStmt);
}
}
diff --git a/jack/src/com/android/jack/ir/impl/JackIrBuilder.java b/jack/src/com/android/jack/ir/impl/JackIrBuilder.java
index f51b62d..705d780 100644
--- a/jack/src/com/android/jack/ir/impl/JackIrBuilder.java
+++ b/jack/src/com/android/jack/ir/impl/JackIrBuilder.java
@@ -3825,11 +3825,12 @@
// Since the + operator is no-op, the inner and the outer constant should be exactly the
// same. If not, the current version of ECJ has the mentioned bug.
+ @SuppressWarnings("unused")
boolean hasEcjUnaryPosBug = !outer.equals(inner);
// We are going to assume there is a bug in ECJ and work around it. If this fails,
// we know that the bug has been fixed.
- assert hasEcjUnaryPosBug;
+ // assert hasEcjUnaryPosBug; // STOPSHIP THIS IS REMOVE DUE TO BUG # 34758593
}
}
}
diff --git a/jack/src/com/android/jack/jayce/v0002/NNode.java b/jack/src/com/android/jack/jayce/v0002/NNode.java
index c43b982..95b4349 100644
--- a/jack/src/com/android/jack/jayce/v0002/NNode.java
+++ b/jack/src/com/android/jack/jayce/v0002/NNode.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -45,8 +44,6 @@
public abstract Object exportAsJast(@Nonnull ExportSession exportSession)
throws JTypeLookupException, JMethodLookupException;
- public abstract void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException;
-
public abstract void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException;
@Nonnull
diff --git a/jack/src/com/android/jack/jayce/v0002/io/JayceInternalWriterImpl.java b/jack/src/com/android/jack/jayce/v0002/io/JayceInternalWriterImpl.java
deleted file mode 100644
index d961122..0000000
--- a/jack/src/com/android/jack/jayce/v0002/io/JayceInternalWriterImpl.java
+++ /dev/null
@@ -1,352 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.jack.jayce.v0002.io;
-
-import com.android.jack.JackEventType;
-import com.android.jack.ir.ast.FieldKind;
-import com.android.jack.ir.ast.JMethodCall.DispatchKind;
-import com.android.jack.ir.ast.JNode;
-import com.android.jack.ir.ast.JRetentionPolicy;
-import com.android.jack.ir.ast.MethodKind;
-import com.android.jack.jayce.JayceInternalWriter;
-import com.android.jack.jayce.v0002.NNode;
-import com.android.jack.jayce.v0002.NodeFactory;
-import com.android.jack.jayce.v0002.Version;
-import com.android.jack.jayce.v0002.nodes.HasCatchBlockIds;
-import com.android.jack.jayce.v0002.nodes.HasSourceInfo;
-import com.android.jack.jayce.v0002.nodes.NMethod;
-import com.android.jack.jayce.v0002.nodes.NMethodCall.ReceiverKind;
-import com.android.jack.jayce.v0002.nodes.NSourceInfo;
-import com.android.jack.jayce.v0002.util.DispatchKindIdHelper;
-import com.android.jack.jayce.v0002.util.FieldRefKindIdHelper;
-import com.android.jack.jayce.v0002.util.MethodKindIdHelper;
-import com.android.jack.jayce.v0002.util.ReceiverKindIdHelper;
-import com.android.jack.jayce.v0002.util.RetentionPolicyIdHelper;
-import com.android.sched.util.log.Event;
-import com.android.sched.util.log.Tracer;
-import com.android.sched.util.log.TracerFactory;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnegative;
-import javax.annotation.Nonnull;
-
-/**
- * Jayce internal writer implementation.
- */
-public class JayceInternalWriterImpl implements JayceInternalWriter {
-
- @Nonnull
- private final Tracer tracer = TracerFactory.getTracer();
-
- @Nonnull
- private final JayceOutputStream out;
-
- @CheckForNull
- private String currentFileName;
-
- @Nonnegative
- private int currentLineNumber;
-
- @Nonnull
- private final List<String> currentCatchBlockList = new ArrayList<String>();
-
- public JayceInternalWriterImpl(@Nonnull OutputStream out) {
- this.out = new JayceOutputStream(out);
- }
-
- public void writeNode(@CheckForNull NNode node) throws IOException {
- if (node == null) {
- writeNull();
- } else {
- writeSourceInfoBegin(node);
- writeCatchBlockIds(node);
- writeToken(node.getToken());
- writeOpen();
- node.writeContent(this);
- writeSourceInfoEnd(node);
- assert !(node instanceof NMethod) || currentCatchBlockList.isEmpty();
- writeClose();
- }
- }
-
- private void writeSourceInfoBegin(@Nonnull NNode node) throws IOException {
- if (node instanceof HasSourceInfo) {
- NSourceInfo sourceInfo = ((HasSourceInfo) node).getSourceInfos();
- writeFileNameIfDifferentFromCurrent(sourceInfo.fileName);
- writeLineIfDifferentFromCurrent(sourceInfo.startLine);
- }
- }
-
- private void writeSourceInfoEnd(@Nonnull NNode node) throws IOException {
- if (node instanceof HasSourceInfo) {
- writeLineIfDifferentFromCurrent(
- ((HasSourceInfo) node).getSourceInfos().endLine);
- }
- }
-
- public void writeIds(@Nonnull List<String> list) throws IOException {
- writeOpen();
-
- writeTrimmedInt(list.size());
-
- for (String id : list) {
- writeId(id);
- }
-
- writeClose();
- }
-
- public void writeCatchBlockIds(@CheckForNull NNode node) throws IOException {
- if (node instanceof HasCatchBlockIds) {
- List<String> list = ((HasCatchBlockIds) node).getCatchBlockIds();
- List<String> removedIds = new ArrayList<String>(currentCatchBlockList.size());
- List<String> addedIds = new ArrayList<String>(list.size());
-
- for (String s : currentCatchBlockList) {
- removedIds.add(s);
- }
- for (String s : list) {
- addedIds.add(s);
- }
-
- // intersection(current, list)
- currentCatchBlockList.retainAll(list);
- // current \ intersection(current, list)
- removedIds.removeAll(currentCatchBlockList);
- // list \ intersection(current, list)
- addedIds.removeAll(currentCatchBlockList);
-
- int addedIdsSize = addedIds.size();
- int removedIdsSize = removedIds.size();
-
- if (addedIdsSize > 0) {
- writeOpenAddCatchBlockIds();
- writeInt(addedIdsSize);
- for (int i = 0; i < addedIdsSize; i++) {
- writeString(addedIds.get(i));
- }
- writeCloseCatchBlockIds();
- }
-
- if (removedIdsSize > 0) {
- writeOpenRemoveCatchBlockIds();
- writeInt(removedIdsSize);
- for (int i = 0; i < removedIdsSize; i++) {
- writeString(removedIds.get(i));
- }
- writeCloseCatchBlockIds();
- }
- currentCatchBlockList.addAll(addedIds);
- }
- }
-
- public void writeNodes(@Nonnull Collection<? extends NNode> nodes) throws IOException {
- writeOpen();
-
- writeTrimmedInt(nodes.size());
-
- for (Iterator<? extends NNode> iterator = nodes.iterator(); iterator.hasNext();) {
- writeNode(iterator.next());
- }
-
- writeClose();
- }
-
- public void writeInt(int value) throws IOException {
- writeTrimmedInt(value);
- writeSpace();
- }
-
- private void writeTrimmedInt(int value) throws IOException {
- out.writeInt(value);
- }
-
- public void writeBoolean(boolean value) throws IOException {
- out.writeBoolean(value);
- }
-
- public void writeLong(long value) throws IOException {
- writeTrimmedLong(value);
- writeSpace();
- }
-
- private void writeTrimmedLong(long value) throws IOException {
- out.writeLong(value);
- }
-
- public void writeByte(byte value) throws IOException {
- out.writeByte(value);
- writeSpace();
- }
-
- public void writeShort(short value) throws IOException {
- out.writeShort(value);
- writeSpace();
- }
-
- public void writeChar(char value) throws IOException {
- out.writeChar(value);
- writeSpace();
- }
-
- public void writeFloat(float value) throws IOException {
- writeTrimmedInt(Float.floatToRawIntBits(value));
- writeSpace();
- }
-
- public void writeDouble(double value) throws IOException {
- writeTrimmedLong(Double.doubleToRawLongBits(value));
- writeSpace();
- }
-
- public void writeId(@CheckForNull String id) throws IOException {
- writeString(id);
- }
-
- public void writeRetentionPolicyEnum(@Nonnull JRetentionPolicy enumValue) throws IOException {
- writeByte(RetentionPolicyIdHelper.getId(enumValue));
- }
-
- public void writeFieldRefKindEnum(@Nonnull FieldKind enumValue) throws IOException {
- writeByte(FieldRefKindIdHelper.getId(enumValue));
- }
-
- public void writeMethodKindEnum(@Nonnull MethodKind enumValue) throws IOException {
- writeByte(MethodKindIdHelper.getId(enumValue));
- }
-
- public void writeReceiverKindEnum(@Nonnull ReceiverKind enumValue) throws IOException {
- writeByte(ReceiverKindIdHelper.getId(enumValue));
- }
-
- public void writeDispatchKindEnum(@Nonnull DispatchKind enumValue) throws IOException {
- writeByte(DispatchKindIdHelper.getId(enumValue));
- }
-
- public void writeString(@CheckForNull String string) throws IOException {
- out.writeUTF(string);
- }
-
- public void writeFileNameIfDifferentFromCurrent(@CheckForNull String fileName)
- throws IOException {
- if (fileName != null && !fileName.equals(currentFileName)) {
- writeCurrentFileName(fileName);
- }
- // Assume that elements with unknown debug infos are in same file.
- }
-
- public void writeCurrentFileName(@Nonnull String fileName) throws IOException {
- writeOpenFileName();
- writeString(fileName);
- writeCloseFileName();
- currentFileName = fileName;
- }
-
- public void writeLineIfDifferentFromCurrent(@Nonnegative int lineNumber)
- throws IOException {
- if (lineNumber != currentLineNumber) {
- writeCurrentLine(lineNumber);
- }
- }
-
- public void writeCurrentLine(@Nonnegative int lineNumber)
- throws IOException {
- writeOpenLineInfo();
- writeTrimmedInt(lineNumber);
- writeCloseLineInfo();
- currentLineNumber = lineNumber;
- }
-
- private void writeNull() throws IOException {
- writeToken(Token.NULL);
- writeSpace();
- }
-
- @SuppressWarnings("unused")
- private void writeSpace() throws IOException{
- }
-
- private void writeToken(@Nonnull Token token) throws IOException {
- out.writeByte(token.ordinal());
- }
-
- @SuppressWarnings("unused")
- private void writeOpen() throws IOException{
- }
-
- private void writeClose() throws IOException {
- writeToken(Token.RPARENTHESIS);
- }
-
- private void writeOpenFileName() throws IOException {
- writeToken(Token.SHARP);
- }
-
- @SuppressWarnings("unused")
- private void writeCloseFileName() throws IOException{
- }
-
- private void writeOpenLineInfo() throws IOException {
- writeToken(Token.LBRACKET);
- }
-
- @SuppressWarnings("unused")
- private void writeCloseLineInfo() throws IOException{
- }
-
- private void writeOpenAddCatchBlockIds() throws IOException {
- writeToken(Token.LCURLY_ADD);
- }
-
- private void writeOpenRemoveCatchBlockIds() throws IOException {
- writeToken(Token.LCURLY_REMOVE);
- }
-
- @SuppressWarnings("unused")
- private void writeCloseCatchBlockIds() throws IOException{
- }
-
- @Override
- public void write(@Nonnull JNode jNode) throws IOException {
- try (Event eventWriting = tracer.open(JackEventType.NNODE_WRITING)) {
- ImportHelper importHelper = new ImportHelper(new NodeFactory());
- NNode nNode;
- try (Event eventConvert = tracer.open(JackEventType.JNODE_TO_NNODE_CONVERSION)) {
- nNode = importHelper.load(jNode);
- }
-
- writeNode(nNode);
- }
- }
-
- @Override
- public int getCurrentMinor() {
- return Version.CURRENT_MINOR;
- }
-
- @Override
- public void close() throws IOException {
- out.close();
- }
-}
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NAbsentArrayDimension.java b/jack/src/com/android/jack/jayce/v0002/nodes/NAbsentArrayDimension.java
index fc49090..5ba7a7d 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NAbsentArrayDimension.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NAbsentArrayDimension.java
@@ -20,7 +20,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -54,11 +53,6 @@
@SuppressWarnings("unused")
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- }
-
- @SuppressWarnings("unused")
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
}
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NAddOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NAddOperation.java
index 86c6632..f658ae7 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NAddOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NAddOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NAlloc.java b/jack/src/com/android/jack/jayce/v0002/nodes/NAlloc.java
index 450dddc..3d3aa57 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NAlloc.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NAlloc.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -63,11 +62,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(instanceType);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
instanceType = in.readId();
}
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NAndOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NAndOperation.java
index 63376e9..0c52eb2 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NAndOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NAndOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NAnnotation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NAnnotation.java
index cb9cc4b..0307143 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NAnnotation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NAnnotation.java
@@ -24,7 +24,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -83,14 +82,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- assert retentionPolicy != null;
- out.writeRetentionPolicyEnum(retentionPolicy);
- out.writeId(annotationType);
- out.writeNodes(elements);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
retentionPolicy = in.readRetentionPolicyEnum();
annotationType = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NAnnotationMethod.java b/jack/src/com/android/jack/jayce/v0002/nodes/NAnnotationMethod.java
index 5df6e6a..2ea7623 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NAnnotationMethod.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NAnnotationMethod.java
@@ -30,7 +30,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -102,17 +101,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- assert annotations != null;
- out.writeId(name);
- out.writeId(returnType);
- out.writeInt(modifier);
- out.writeNodes(annotations);
- out.writeNode(defaultValue);
- out.writeNodes(markers);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
level = in.getNodeLevel();
name = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NAnnotationType.java b/jack/src/com/android/jack/jayce/v0002/nodes/NAnnotationType.java
index 80b4ed5..0b95057 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NAnnotationType.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NAnnotationType.java
@@ -29,7 +29,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.util.NamingTools;
@@ -121,21 +120,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- assert retentionPolicy != null;
- out.writeRetentionPolicyEnum(retentionPolicy);
- out.writeInt(modifiers);
- out.writeId(signature);
- out.writeIds(superInterfaces);
- out.writeId(enclosingType);
- out.writeIds(inners);
- out.writeNodes(getFields());
- out.writeNodes(getMethods());
- out.writeNodes(annotations);
- out.writeNodes(markers);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
level = in.getNodeLevel();
retentionPolicy = in.readRetentionPolicyEnum();
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NArrayLength.java b/jack/src/com/android/jack/jayce/v0002/nodes/NArrayLength.java
index 0986ea5..4b467e8 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NArrayLength.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NArrayLength.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -66,11 +65,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(instance);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
instance = in.readNode(NExpression.class);
}
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NArrayLiteral.java b/jack/src/com/android/jack/jayce/v0002/nodes/NArrayLiteral.java
index a46fd01..c7ca67b 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NArrayLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NArrayLiteral.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -71,11 +70,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNodes(values);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
values = in.readNodes(NLiteral.class);
}
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NArrayRef.java b/jack/src/com/android/jack/jayce/v0002/nodes/NArrayRef.java
index 5a887ef..29b4319 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NArrayRef.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NArrayRef.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -72,12 +71,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(instance);
- out.writeNode(index);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
instance = in.readNode(NExpression.class);
index = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgAddOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgAddOperation.java
index 3626421..712ffd9 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgAddOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgAddOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgBitAndOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgBitAndOperation.java
index 7b3f381..35da5f4 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgBitAndOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgBitAndOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgBitOrOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgBitOrOperation.java
index e3d82ef..209ff3b 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgBitOrOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgBitOrOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgBitXorOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgBitXorOperation.java
index ab2f788..19d265f 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgBitXorOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgBitXorOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgConcatOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgConcatOperation.java
index 11ff9d1..50264fe 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgConcatOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgConcatOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgDivOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgDivOperation.java
index 5826b3b..4b29df3 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgDivOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgDivOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgModOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgModOperation.java
index f34da1f..9107608 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgModOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgModOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgMulOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgMulOperation.java
index 7551140..8d8c22c 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgMulOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgMulOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgOperation.java
index 2371a40..3e0524c 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgShlOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgShlOperation.java
index c328902..4c35056 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgShlOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgShlOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgShrOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgShrOperation.java
index 82ee7d4..2d61062 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgShrOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgShrOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgShruOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgShruOperation.java
index 1768a4e..c2a168f 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgShruOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgShruOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgSubOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgSubOperation.java
index b3d5bf0..feae2ac 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NAsgSubOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NAsgSubOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NAssertStatement.java b/jack/src/com/android/jack/jayce/v0002/nodes/NAssertStatement.java
index 2c7a4a3..f04e1e8 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NAssertStatement.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NAssertStatement.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -84,12 +83,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(testExpression);
- out.writeNode(arg);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
testExpression = in.readNode(NExpression.class);
arg = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NBitAndOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NBitAndOperation.java
index d4dc894..41387b4 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NBitAndOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NBitAndOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NBitOrOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NBitOrOperation.java
index 531696e..f7ac85a 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NBitOrOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NBitOrOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NBitXorOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NBitXorOperation.java
index ad7b7dd..1007602 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NBitXorOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NBitXorOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NBlock.java b/jack/src/com/android/jack/jayce/v0002/nodes/NBlock.java
index 83c8de0..18e754d 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NBlock.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NBlock.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -74,11 +73,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNodes(statements);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
statements = in.readNodes(NStatement.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NBooleanLiteral.java b/jack/src/com/android/jack/jayce/v0002/nodes/NBooleanLiteral.java
index ac272be..9722a24 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NBooleanLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NBooleanLiteral.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -59,14 +58,8 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeBoolean(value);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
value = in.readBoolean();
-
}
@Override
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NBreakStatement.java b/jack/src/com/android/jack/jayce/v0002/nodes/NBreakStatement.java
index 4e15d9e..91ec822 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NBreakStatement.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NBreakStatement.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -71,11 +70,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeString(label);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
label = in.readString();
}
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NByteLiteral.java b/jack/src/com/android/jack/jayce/v0002/nodes/NByteLiteral.java
index 3796a36..1377c19 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NByteLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NByteLiteral.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -59,14 +58,8 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeByte(value);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
value = in.readByte();
-
}
@Override
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NCaseStatement.java b/jack/src/com/android/jack/jayce/v0002/nodes/NCaseStatement.java
index ab7333d..2b965e8 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NCaseStatement.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NCaseStatement.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -80,12 +79,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(id);
- out.writeNode(expr);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
id = in.readId();
expr = in.readNode(NLiteral.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NCatchBlock.java b/jack/src/com/android/jack/jayce/v0002/nodes/NCatchBlock.java
index 39e7ed8..b6cd636 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NCatchBlock.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NCatchBlock.java
@@ -24,7 +24,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -103,14 +102,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(id);
- out.writeIds(catchTypes);
- out.writeNode(catchVar);
- out.writeNodes(statements);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
id = in.readId();
catchTypes = in.readIds();
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NCharLiteral.java b/jack/src/com/android/jack/jayce/v0002/nodes/NCharLiteral.java
index 8c6e1ff..2c59cd2 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NCharLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NCharLiteral.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -59,14 +58,8 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeChar(value);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
value = in.readChar();
-
}
@Override
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NClassLiteral.java b/jack/src/com/android/jack/jayce/v0002/nodes/NClassLiteral.java
index 6df0c8c..6fde647 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NClassLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NClassLiteral.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -64,11 +63,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(refType);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
refType = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NClassType.java b/jack/src/com/android/jack/jayce/v0002/nodes/NClassType.java
index 1ed2c94..e00f4f8 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NClassType.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NClassType.java
@@ -30,7 +30,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
import com.android.jack.util.NamingTools;
@@ -169,23 +168,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeInt(modifiers);
- out.writeId(signature);
- out.writeId(superClass);
- out.writeIds(superInterfaces);
- out.writeId(enclosingType);
- out.writeId(enclosingMethodClass);
- out.writeId(enclosingMethod);
- out.writeIds(inners);
- out.writeNodes(getFields());
- out.writeNodes(getMethods());
- out.writeNodes(annotations);
- out.writeNodes(markers);
-
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
level = in.getNodeLevel();
modifiers = in.readInt();
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NConcatOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NConcatOperation.java
index ae0c812..cbce509 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NConcatOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NConcatOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -72,12 +71,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NConditionalExpression.java b/jack/src/com/android/jack/jayce/v0002/nodes/NConditionalExpression.java
index 56ffe67..947d6a3 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NConditionalExpression.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NConditionalExpression.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -79,13 +78,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(ifTest);
- out.writeNode(thenExpr);
- out.writeNode(elseExpr);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
ifTest = in.readNode(NExpression.class);
thenExpr = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NConstructor.java b/jack/src/com/android/jack/jayce/v0002/nodes/NConstructor.java
index 199ce84..cb08009 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NConstructor.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NConstructor.java
@@ -28,7 +28,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -91,16 +90,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- assert annotations != null;
- out.writeNodes(getParameters());
- out.writeInt(modifier);
- out.writeNodes(annotations);
- out.writeNode(body);
- out.writeNodes(markers);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
level = in.getNodeLevel();
setParameters(in.readNodes(NParameter.class));
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NContinueStatement.java b/jack/src/com/android/jack/jayce/v0002/nodes/NContinueStatement.java
index 8102924..99239b0 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NContinueStatement.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NContinueStatement.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -73,11 +72,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeString(label);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
label = in.readString();
}
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NDivOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NDivOperation.java
index 23a8438..ee5e7dc 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NDivOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NDivOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NDoStatement.java b/jack/src/com/android/jack/jayce/v0002/nodes/NDoStatement.java
index ae9997b..cde3fd5 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NDoStatement.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NDoStatement.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -79,12 +78,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(testExpression);
- out.writeNode(body);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
testExpression = in.readNode(NExpression.class);
body = in.readNode(NStatement.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NDoubleLiteral.java b/jack/src/com/android/jack/jayce/v0002/nodes/NDoubleLiteral.java
index b9292d5..8efb455 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NDoubleLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NDoubleLiteral.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -60,14 +59,8 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeDouble(value);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
value = in.readDouble();
-
}
@Override
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NDynamicCastOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NDynamicCastOperation.java
index ae8010c..3797af4 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NDynamicCastOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NDynamicCastOperation.java
@@ -24,7 +24,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -70,12 +69,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(castType);
- out.writeNode(expr);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
castType = in.readId();
expr = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NEnumField.java b/jack/src/com/android/jack/jayce/v0002/nodes/NEnumField.java
index 034c45c..f7757b0 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NEnumField.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NEnumField.java
@@ -25,7 +25,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -92,17 +91,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeInt(modifiers);
- out.writeId(type);
- out.writeId(name);
- out.writeNode(initialValue);
- out.writeInt(ordinal);
- out.writeNodes(annotations);
- out.writeNodes(markers);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
modifiers = in.readInt();
type = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NEnumLiteral.java b/jack/src/com/android/jack/jayce/v0002/nodes/NEnumLiteral.java
index e5a222b..3220cfa 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NEnumLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NEnumLiteral.java
@@ -25,7 +25,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JLookup;
@@ -76,12 +75,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(enumFieldDeclaringType);
- out.writeId(enumFieldName);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
enumFieldDeclaringType = in.readId();
enumFieldName = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NEnumType.java b/jack/src/com/android/jack/jayce/v0002/nodes/NEnumType.java
index e6ce97e..15ceeba 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NEnumType.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NEnumType.java
@@ -30,7 +30,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
import com.android.jack.util.NamingTools;
@@ -138,23 +137,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeInt(modifiers);
- out.writeId(signature);
- out.writeId(superClass);
- out.writeIds(superInterfaces);
- out.writeId(enclosingType);
- out.writeId(enclosingMethodClass);
- out.writeId(enclosingMethod);
- out.writeIds(inners);
- out.writeNodes(getFields());
- out.writeNodes(getMethods());
- out.writeNodes(annotations);
- out.writeNodes(markers);
-
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
level = in.getNodeLevel();
modifiers = in.readInt();
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NEqOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NEqOperation.java
index dfcd198..2e7e17c 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NEqOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NEqOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NExceptionRuntimeValue.java b/jack/src/com/android/jack/jayce/v0002/nodes/NExceptionRuntimeValue.java
index 6d45802..7624985 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NExceptionRuntimeValue.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NExceptionRuntimeValue.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -62,11 +61,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(catchedType);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
catchedType = in.readId();
}
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NExpressionStatement.java b/jack/src/com/android/jack/jayce/v0002/nodes/NExpressionStatement.java
index b4197ce..f378e53 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NExpressionStatement.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NExpressionStatement.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -75,11 +74,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(expression);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
expression = in.readNode(NExpression.class);
}
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NField.java b/jack/src/com/android/jack/jayce/v0002/nodes/NField.java
index 78bfc46..c7f0212 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NField.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NField.java
@@ -28,7 +28,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -121,16 +120,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeInt(modifiers);
- out.writeId(type);
- out.writeId(name);
- out.writeNode(initialValue);
- out.writeNodes(annotations);
- out.writeNodes(markers);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
modifiers = in.readInt();
type = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NFieldInitializer.java b/jack/src/com/android/jack/jayce/v0002/nodes/NFieldInitializer.java
index c0cebac..f0ea949 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NFieldInitializer.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NFieldInitializer.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -50,11 +49,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) {
- throw new UnsupportedOperationException();
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) {
throw new UnsupportedOperationException();
}
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NFieldRef.java b/jack/src/com/android/jack/jayce/v0002/nodes/NFieldRef.java
index 38c0ef7..eb215e7 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NFieldRef.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NFieldRef.java
@@ -26,7 +26,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -90,16 +89,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- assert kind != null;
- out.writeId(field);
- out.writeId(fieldType);
- out.writeId(receiverType);
- out.writeFieldRefKindEnum(kind);
- out.writeNode(instance);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
field = in.readId();
fieldType = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NFloatLiteral.java b/jack/src/com/android/jack/jayce/v0002/nodes/NFloatLiteral.java
index 742102b..a152053 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NFloatLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NFloatLiteral.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -60,14 +59,8 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeFloat(value);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
value = in.readFloat();
-
}
@Override
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NForStatement.java b/jack/src/com/android/jack/jayce/v0002/nodes/NForStatement.java
index 5fc7c8c..a857fb3 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NForStatement.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NForStatement.java
@@ -25,7 +25,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -101,17 +100,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- assert initializers != null;
- assert increments != null;
-
- out.writeNodes(initializers);
- out.writeNode(testExpression);
- out.writeNodes(increments);
- out.writeNode(body);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
initializers = in.readNodes(NStatement.class);
testExpression = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NGenericSignature.java b/jack/src/com/android/jack/jayce/v0002/nodes/NGenericSignature.java
index 2a4780e..3e4e056 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NGenericSignature.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NGenericSignature.java
@@ -20,7 +20,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -53,11 +52,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeString(genericSignature);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
genericSignature = in.readString();
}
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NGoto.java b/jack/src/com/android/jack/jayce/v0002/nodes/NGoto.java
index 23848b0..a1cf0cd 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NGoto.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NGoto.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -73,11 +72,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(target);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
target = in.readId();
}
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NGtOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NGtOperation.java
index 15cce80..97c07cd 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NGtOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NGtOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NGteOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NGteOperation.java
index 043fc5d..916986d 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NGteOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NGteOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NIfStatement.java b/jack/src/com/android/jack/jayce/v0002/nodes/NIfStatement.java
index 7696473..0879b21 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NIfStatement.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NIfStatement.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -88,13 +87,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(ifExpression);
- out.writeNode(thenStatement);
- out.writeNode(elseStatement);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
ifExpression = in.readNode(NExpression.class);
thenStatement = in.readNode(NStatement.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NInstanceOf.java b/jack/src/com/android/jack/jayce/v0002/nodes/NInstanceOf.java
index 57fbe54..273bb50 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NInstanceOf.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NInstanceOf.java
@@ -24,7 +24,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -72,12 +71,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(expr);
- out.writeId(testType);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
expr = in.readNode(NExpression.class);
testType = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NIntLiteral.java b/jack/src/com/android/jack/jayce/v0002/nodes/NIntLiteral.java
index e7868d6..15b91a8 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NIntLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NIntLiteral.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -59,14 +58,8 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeInt(value);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
value = in.readInt();
-
}
@Override
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NInterfaceType.java b/jack/src/com/android/jack/jayce/v0002/nodes/NInterfaceType.java
index da2b0ad..813095f 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NInterfaceType.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NInterfaceType.java
@@ -28,7 +28,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.util.NamingTools;
@@ -137,20 +136,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeInt(modifiers);
- out.writeId(signature);
- out.writeIds(superInterfaces);
- out.writeId(enclosingType);
- out.writeIds(inners);
- out.writeNodes(getFields());
- out.writeNodes(getMethods());
- out.writeNodes(annotations);
- out.writeNodes(markers);
-
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
level = in.getNodeLevel();
modifiers = in.readInt();
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NLabeledStatement.java b/jack/src/com/android/jack/jayce/v0002/nodes/NLabeledStatement.java
index 5c9ac36..1eef583 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NLabeledStatement.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NLabeledStatement.java
@@ -24,7 +24,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -88,13 +87,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeString(label);
- out.writeId(id);
- out.writeNode(body);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
label = in.readString();
id = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NLocal.java b/jack/src/com/android/jack/jayce/v0002/nodes/NLocal.java
index 12a1b63..d85a059 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NLocal.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NLocal.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -100,16 +99,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(id);
- out.writeInt(modifiers);
- out.writeId(type);
- out.writeId(name);
- out.writeNodes(annotationSet);
- out.writeNodes(markers);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
id = in.readId();
modifiers = in.readInt();
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NLocalRef.java b/jack/src/com/android/jack/jayce/v0002/nodes/NLocalRef.java
index 0421ba0..22d8dd1 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NLocalRef.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NLocalRef.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -62,11 +61,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(localId);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
localId = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NLock.java b/jack/src/com/android/jack/jayce/v0002/nodes/NLock.java
index df9e049..ad7f1f1 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NLock.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NLock.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -75,11 +74,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lockExpr);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lockExpr = in.readNode(NExpression.class);
}
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NLongLiteral.java b/jack/src/com/android/jack/jayce/v0002/nodes/NLongLiteral.java
index 617639c..d9fc62d 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NLongLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NLongLiteral.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -59,14 +58,8 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeLong(value);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
value = in.readLong();
-
}
@Override
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NLtOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NLtOperation.java
index 74a55cc..d01e172 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NLtOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NLtOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NLteOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NLteOperation.java
index fcadb49..ebe14e2 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NLteOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NLteOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NMethod.java b/jack/src/com/android/jack/jayce/v0002/nodes/NMethod.java
index d12008f..6113ad5 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NMethod.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NMethod.java
@@ -36,7 +36,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -163,19 +162,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- assert methodKind != null;
- out.writeId(name);
- out.writeId(returnType);
- out.writeNodes(getParameters());
- out.writeMethodKindEnum(methodKind);
- out.writeInt(modifier);
- out.writeNodes(annotations);
- out.writeNode(body);
- out.writeNodes(markers);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
level = in.getNodeLevel();
name = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NMethodBody.java b/jack/src/com/android/jack/jayce/v0002/nodes/NMethodBody.java
index 94d0887..38dfbea 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NMethodBody.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NMethodBody.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -74,12 +73,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNodes(locals);
- out.writeNode(block);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
locals = in.readNodes(NLocal.class);
block = in.readNode(NBlock.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NMethodCall.java b/jack/src/com/android/jack/jayce/v0002/nodes/NMethodCall.java
index fe48918..3fdb403 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NMethodCall.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NMethodCall.java
@@ -29,7 +29,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -137,26 +136,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- assert receiverType != null;
- assert receiverKind != null;
- assert methodName != null;
- assert methodKind != null;
- assert returnType != null;
- assert dispatchKind != null;
- assert sourceInfo != null;
- out.writeNode(instance);
- out.writeId(receiverType);
- out.writeReceiverKindEnum(receiverKind);
- out.writeId(methodName);
- out.writeIds(methodArgsType);
- out.writeMethodKindEnum(methodKind);
- out.writeId(returnType);
- out.writeNodes(args);
- out.writeDispatchKindEnum(dispatchKind);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
instance = in.readNode(NExpression.class);
receiverType = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NMethodLiteral.java b/jack/src/com/android/jack/jayce/v0002/nodes/NMethodLiteral.java
index 85cccd0..a40241a 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NMethodLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NMethodLiteral.java
@@ -24,7 +24,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -75,12 +74,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(method);
- out.writeId(methodEnclosingType);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
method = in.readId();
methodEnclosingType = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NModOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NModOperation.java
index d7309ae..77235dd 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NModOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NModOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NMulOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NMulOperation.java
index 4e2f3d4..4768d7d 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NMulOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NMulOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NMultiExpression.java b/jack/src/com/android/jack/jayce/v0002/nodes/NMultiExpression.java
index fc263a5..889ea0e 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NMultiExpression.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NMultiExpression.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -71,11 +70,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNodes(exprs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
exprs = in.readNodes(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NNameValuePair.java b/jack/src/com/android/jack/jayce/v0002/nodes/NNameValuePair.java
index 895f114..8e75e60 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NNameValuePair.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NNameValuePair.java
@@ -28,7 +28,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -87,12 +86,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeString(name);
- out.writeNode(value);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
name = in.readString();
value = in.readNode(NLiteral.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NNativeMethodBody.java b/jack/src/com/android/jack/jayce/v0002/nodes/NNativeMethodBody.java
index 3909d02..3495320 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NNativeMethodBody.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NNativeMethodBody.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -57,12 +56,6 @@
@SuppressWarnings("unused")
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
-
- }
-
- @SuppressWarnings("unused")
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
}
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NNeqOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NNeqOperation.java
index 4b27f28..2b692fe 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NNeqOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NNeqOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NNewArray.java b/jack/src/com/android/jack/jayce/v0002/nodes/NNewArray.java
index f5ded7b..53dce14 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NNewArray.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NNewArray.java
@@ -24,7 +24,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -88,13 +87,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(type);
- out.writeNodes(dims);
- out.writeNodes(initializers);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
type = in.readId();
dims = in.readNodes(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NNewInstance.java b/jack/src/com/android/jack/jayce/v0002/nodes/NNewInstance.java
index 322f939..d07d368 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NNewInstance.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NNewInstance.java
@@ -26,7 +26,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -80,15 +79,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- assert instance == null;
- assert methodKind == null;
- out.writeId(receiverType);
- out.writeIds(methodArgsType);
- out.writeNodes(args);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
receiverType = in.readId();
methodArgsType = in.readIds();
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NNullLiteral.java b/jack/src/com/android/jack/jayce/v0002/nodes/NNullLiteral.java
index 428396f..9803ff0 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NNullLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NNullLiteral.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -57,11 +56,6 @@
@SuppressWarnings("unused")
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- }
-
- @SuppressWarnings("unused")
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
}
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NOrOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NOrOperation.java
index a8820db..4f6c9b9 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NOrOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NOrOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NParameter.java b/jack/src/com/android/jack/jayce/v0002/nodes/NParameter.java
index 677c3d8..c69a48a 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NParameter.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NParameter.java
@@ -26,7 +26,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -114,16 +113,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(id);
- out.writeInt(modifiers);
- out.writeId(type);
- out.writeId(name);
- out.writeNodes(annotations);
- out.writeNodes(markers);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
id = in.readId();
modifiers = in.readInt();
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NParameterRef.java b/jack/src/com/android/jack/jayce/v0002/nodes/NParameterRef.java
index 9c53533..d68d22c 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NParameterRef.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NParameterRef.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -63,11 +62,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(localId);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
localId = in.readId();
}
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NPostfixDecOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NPostfixDecOperation.java
index d7cc927..d0761ce 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NPostfixDecOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NPostfixDecOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -62,11 +61,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(arg);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
arg = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NPostfixIncOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NPostfixIncOperation.java
index 59e6c69..9b750cd 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NPostfixIncOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NPostfixIncOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -62,11 +61,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(arg);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
arg = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NPrefixBitNotOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NPrefixBitNotOperation.java
index 15dd882..dff4e86 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NPrefixBitNotOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NPrefixBitNotOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -62,11 +61,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(arg);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
arg = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NPrefixDecOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NPrefixDecOperation.java
index 51d86c8..c7bbaa2 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NPrefixDecOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NPrefixDecOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -62,11 +61,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(arg);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
arg = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NPrefixIncOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NPrefixIncOperation.java
index 72f2cb5..0207af6 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NPrefixIncOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NPrefixIncOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -62,11 +61,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(arg);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
arg = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NPrefixNegOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NPrefixNegOperation.java
index 10633ec..0498b36 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NPrefixNegOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NPrefixNegOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -62,11 +61,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(arg);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
arg = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NPrefixNotOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NPrefixNotOperation.java
index 246fe4e..8ce086c 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NPrefixNotOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NPrefixNotOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -62,11 +61,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(arg);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
arg = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NReinterpretCastOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NReinterpretCastOperation.java
index a07f316..1201f79 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NReinterpretCastOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NReinterpretCastOperation.java
@@ -24,7 +24,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -74,12 +73,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(castType);
- out.writeNode(expr);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
castType = in.readId();
expr = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NReturnStatement.java b/jack/src/com/android/jack/jayce/v0002/nodes/NReturnStatement.java
index db316d8..19628a9 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NReturnStatement.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NReturnStatement.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -74,11 +73,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(expr);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
expr = in.readNode(NExpression.class);
}
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NShlOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NShlOperation.java
index ea4522f..2fb3033 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NShlOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NShlOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NShortLiteral.java b/jack/src/com/android/jack/jayce/v0002/nodes/NShortLiteral.java
index b736662..7114f6e 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NShortLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NShortLiteral.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -59,14 +58,8 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeShort(value);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
value = in.readShort();
-
}
@Override
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NShrOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NShrOperation.java
index bf652ad..dcdec80 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NShrOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NShrOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NShruOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NShruOperation.java
index bf8eb97..bced6d0 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NShruOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NShruOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NSimpleName.java b/jack/src/com/android/jack/jayce/v0002/nodes/NSimpleName.java
index e8e779c..9014619 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NSimpleName.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NSimpleName.java
@@ -20,7 +20,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -54,11 +53,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeString(simpleName);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
simpleName = in.readString();
}
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NStringLiteral.java b/jack/src/com/android/jack/jayce/v0002/nodes/NStringLiteral.java
index a7464e0..e144787 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NStringLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NStringLiteral.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -61,11 +60,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeString(value);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
value = in.readString();
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NSubOperation.java b/jack/src/com/android/jack/jayce/v0002/nodes/NSubOperation.java
index 5266807..08ddc95 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NSubOperation.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NSubOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NSwitchStatement.java b/jack/src/com/android/jack/jayce/v0002/nodes/NSwitchStatement.java
index fb42b9a..4cb863d 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NSwitchStatement.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NSwitchStatement.java
@@ -24,7 +24,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -98,13 +97,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(expr);
- out.writeIds(cases);
- out.writeNode(body);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
expr = in.readNode(NExpression.class);
cases = in.readIds();
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NSynchronizedBlock.java b/jack/src/com/android/jack/jayce/v0002/nodes/NSynchronizedBlock.java
index 88e3461..949ada0 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NSynchronizedBlock.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NSynchronizedBlock.java
@@ -25,7 +25,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -86,12 +85,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lockExpr);
- out.writeNode(synchronizedBlock);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lockExpr = in.readNode(NExpression.class);
synchronizedBlock = in.readNode(NBlock.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NThisRef.java b/jack/src/com/android/jack/jayce/v0002/nodes/NThisRef.java
index 9c780a5..31c5f9d 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NThisRef.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NThisRef.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -63,11 +62,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(type);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
type = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NThisRefTypeInfo.java b/jack/src/com/android/jack/jayce/v0002/nodes/NThisRefTypeInfo.java
index b8bc490..a4a00de 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NThisRefTypeInfo.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NThisRefTypeInfo.java
@@ -20,7 +20,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -56,11 +55,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeString(genericSignature);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
genericSignature = in.readString();
}
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NThrowStatement.java b/jack/src/com/android/jack/jayce/v0002/nodes/NThrowStatement.java
index 921d034..bc2d10d 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NThrowStatement.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NThrowStatement.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -75,11 +74,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(expr);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
expr = in.readNode(NExpression.class);
}
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NThrownExceptionMarker.java b/jack/src/com/android/jack/jayce/v0002/nodes/NThrownExceptionMarker.java
index 8786fee..87a1f55 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NThrownExceptionMarker.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NThrownExceptionMarker.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import java.io.IOException;
@@ -61,11 +60,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeIds(thrownExceptions);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
thrownExceptions = in.readIds();
}
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NTryStatement.java b/jack/src/com/android/jack/jayce/v0002/nodes/NTryStatement.java
index be93e4a..f52bd2e 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NTryStatement.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NTryStatement.java
@@ -24,7 +24,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -96,14 +95,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNodes(resourcesDeclaration);
- out.writeNode(tryBlock);
- out.writeNodes(catchBlocks);
- out.writeNode(finallyBlock);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
resourcesDeclaration = in.readNodes(NStatement.class);
tryBlock = in.readNode(NBlock.class);
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NUnlock.java b/jack/src/com/android/jack/jayce/v0002/nodes/NUnlock.java
index 2232e9c..c23b2b8 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NUnlock.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NUnlock.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -75,11 +74,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lockExpr);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lockExpr = in.readNode(NExpression.class);
}
diff --git a/jack/src/com/android/jack/jayce/v0002/nodes/NWhileStatement.java b/jack/src/com/android/jack/jayce/v0002/nodes/NWhileStatement.java
index 3e92825..cce2f1f 100644
--- a/jack/src/com/android/jack/jayce/v0002/nodes/NWhileStatement.java
+++ b/jack/src/com/android/jack/jayce/v0002/nodes/NWhileStatement.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0002.io.ExportSession;
import com.android.jack.jayce.v0002.io.ImportHelper;
import com.android.jack.jayce.v0002.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0002.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0002.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -79,12 +78,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(testExpression);
- out.writeNode(body);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
testExpression = in.readNode(NExpression.class);
body = in.readNode(NStatement.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/NNode.java b/jack/src/com/android/jack/jayce/v0003/NNode.java
index 4a3a5dc..0077b15 100644
--- a/jack/src/com/android/jack/jayce/v0003/NNode.java
+++ b/jack/src/com/android/jack/jayce/v0003/NNode.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -45,8 +44,6 @@
public abstract Object exportAsJast(@Nonnull ExportSession exportSession)
throws JTypeLookupException, JMethodLookupException;
- public abstract void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException;
-
public abstract void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException;
@Nonnull
diff --git a/jack/src/com/android/jack/jayce/v0003/io/JayceInternalWriterImpl.java b/jack/src/com/android/jack/jayce/v0003/io/JayceInternalWriterImpl.java
deleted file mode 100644
index 3760ec5..0000000
--- a/jack/src/com/android/jack/jayce/v0003/io/JayceInternalWriterImpl.java
+++ /dev/null
@@ -1,356 +0,0 @@
-/*
-* Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.jack.jayce.v0003.io;
-
-import com.android.jack.JackEventType;
-import com.android.jack.ir.ast.FieldKind;
-import com.android.jack.ir.ast.JMethodCall.DispatchKind;
-import com.android.jack.ir.ast.JNode;
-import com.android.jack.ir.ast.JRetentionPolicy;
-import com.android.jack.ir.ast.MethodKind;
-import com.android.jack.jayce.JayceInternalWriter;
-import com.android.jack.jayce.v0003.NNode;
-import com.android.jack.jayce.v0003.NodeFactory;
-import com.android.jack.jayce.v0003.Version;
-import com.android.jack.jayce.v0003.nodes.HasCatchBlockIds;
-import com.android.jack.jayce.v0003.nodes.HasSourceInfo;
-import com.android.jack.jayce.v0003.nodes.NMethod;
-import com.android.jack.jayce.v0003.nodes.NMethodCall.ReceiverKind;
-import com.android.jack.jayce.v0003.nodes.NSourceInfo;
-import com.android.jack.jayce.v0003.util.DispatchKindIdHelper;
-import com.android.jack.jayce.v0003.util.FieldRefKindIdHelper;
-import com.android.jack.jayce.v0003.util.MethodKindIdHelper;
-import com.android.jack.jayce.v0003.util.ReceiverKindIdHelper;
-import com.android.jack.jayce.v0003.util.RetentionPolicyIdHelper;
-import com.android.sched.util.log.Event;
-import com.android.sched.util.log.Tracer;
-import com.android.sched.util.log.TracerFactory;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnegative;
-import javax.annotation.Nonnull;
-
-/**
- * Jayce internal writer implementation.
- */
-public class JayceInternalWriterImpl implements JayceInternalWriter {
-
- @Nonnull
- private final Tracer tracer = TracerFactory.getTracer();
-
- @Nonnull
- private final JayceOutputStream out;
-
- @CheckForNull
- private String currentFileName;
-
- @Nonnegative
- private int currentLineNumber;
-
- @Nonnull
- private final List<String> currentCatchBlockList = new ArrayList<String>();
-
- public JayceInternalWriterImpl(@Nonnull OutputStream out) {
- this.out = new JayceOutputStream(out);
- }
-
- public void writeNode(@CheckForNull NNode node) throws IOException {
- if (node == null) {
- writeNull();
- } else {
- writeSourceInfoBegin(node);
- writeCatchBlockIds(node);
- writeToken(node.getToken());
- writeOpen();
- node.writeContent(this);
- writeSourceInfoEnd(node);
- assert !(node instanceof NMethod) || currentCatchBlockList.isEmpty();
- writeClose();
- }
- }
-
- private void writeSourceInfoBegin(@Nonnull NNode node) throws IOException {
- if (node instanceof HasSourceInfo) {
- NSourceInfo sourceInfo = ((HasSourceInfo) node).getSourceInfos();
- writeFileNameIfDifferentFromCurrent(sourceInfo.fileName);
- writeLineIfDifferentFromCurrent(sourceInfo.startLine);
- }
- }
-
- private void writeSourceInfoEnd(@Nonnull NNode node) throws IOException {
- if (node instanceof HasSourceInfo) {
- writeLineIfDifferentFromCurrent(
- ((HasSourceInfo) node).getSourceInfos().endLine);
- }
- }
-
- public void writeIds(@Nonnull List<String> list) throws IOException {
- writeOpen();
-
- writeTrimmedInt(list.size());
-
- for (String id : list) {
- writeId(id);
- }
-
- writeClose();
- }
-
- public void writeCatchBlockIds(@CheckForNull NNode node) throws IOException {
- if (node instanceof HasCatchBlockIds) {
- List<String> list = ((HasCatchBlockIds) node).getCatchBlockIds();
- List<String> removedIds = new ArrayList<String>(currentCatchBlockList.size());
- List<String> addedIds = new ArrayList<String>(list.size());
-
- for (String s : currentCatchBlockList) {
- removedIds.add(s);
- }
- for (String s : list) {
- addedIds.add(s);
- }
-
- // intersection(current, list)
- currentCatchBlockList.retainAll(list);
- // current \ intersection(current, list)
- removedIds.removeAll(currentCatchBlockList);
- // list \ intersection(current, list)
- addedIds.removeAll(currentCatchBlockList);
-
- int addedIdsSize = addedIds.size();
- int removedIdsSize = removedIds.size();
-
- if (addedIdsSize > 0) {
- writeOpenAddCatchBlockIds();
- writeInt(addedIdsSize);
- for (int i = 0; i < addedIdsSize; i++) {
- writeString(addedIds.get(i));
- }
- writeCloseCatchBlockIds();
- }
-
- if (removedIdsSize > 0) {
- writeOpenRemoveCatchBlockIds();
- writeInt(removedIdsSize);
- for (int i = 0; i < removedIdsSize; i++) {
- writeString(removedIds.get(i));
- }
- writeCloseCatchBlockIds();
- }
- currentCatchBlockList.addAll(addedIds);
- }
- }
-
- public void writeNodes(@Nonnull Collection<? extends NNode> nodes) throws IOException {
- writeOpen();
-
- writeTrimmedInt(nodes.size());
-
- for (Iterator<? extends NNode> iterator = nodes.iterator(); iterator.hasNext();) {
- writeNode(iterator.next());
- }
-
- writeClose();
- }
-
- public void writeInt(int value) throws IOException {
- writeTrimmedInt(value);
- writeSpace();
- }
-
- private void writeTrimmedInt(int value) throws IOException {
- out.writeInt(value);
- }
-
- public void writeBoolean(boolean value) throws IOException {
- out.writeBoolean(value);
- }
-
- public void writeLong(long value) throws IOException {
- writeTrimmedLong(value);
- writeSpace();
- }
-
- private void writeTrimmedLong(long value) throws IOException {
- out.writeLong(value);
- }
-
- public void writeByte(byte value) throws IOException {
- out.writeByte(value);
- writeSpace();
- }
-
- public void writeShort(short value) throws IOException {
- out.writeShort(value);
- writeSpace();
- }
-
- public void writeChar(char value) throws IOException {
- out.writeChar(value);
- writeSpace();
- }
-
- public void writeFloat(float value) throws IOException {
- writeTrimmedInt(Float.floatToRawIntBits(value));
- writeSpace();
- }
-
- public void writeDouble(double value) throws IOException {
- writeTrimmedLong(Double.doubleToRawLongBits(value));
- writeSpace();
- }
-
- public void writeId(@CheckForNull String id) throws IOException {
- writeString(id);
- }
-
- public void writeRetentionPolicyEnum(@Nonnull JRetentionPolicy enumValue) throws IOException {
- writeByte(RetentionPolicyIdHelper.getId(enumValue));
- }
-
- public void writeFieldRefKindEnum(@Nonnull FieldKind enumValue) throws IOException {
- writeByte(FieldRefKindIdHelper.getId(enumValue));
- }
-
- public void writeMethodKindEnum(@Nonnull MethodKind enumValue) throws IOException {
- writeByte(MethodKindIdHelper.getId(enumValue));
- }
-
- public void writeReceiverKindEnum(@Nonnull ReceiverKind enumValue) throws IOException {
- writeByte(ReceiverKindIdHelper.getId(enumValue));
- }
-
- public void writeDispatchKindEnum(@Nonnull DispatchKind enumValue) throws IOException {
- writeByte(DispatchKindIdHelper.getId(enumValue));
- }
-
- public void writeString(@CheckForNull String string) throws IOException {
- out.writeUTF(string);
- }
-
- public void writeBuffer(@CheckForNull byte[] b) throws IOException {
- out.writeBuffer(b);
- }
-
- public void writeFileNameIfDifferentFromCurrent(@CheckForNull String fileName)
- throws IOException {
- if (fileName != null && !fileName.equals(currentFileName)) {
- writeCurrentFileName(fileName);
- }
- // Assume that elements with unknown debug infos are in same file.
- }
-
- public void writeCurrentFileName(@Nonnull String fileName) throws IOException {
- writeOpenFileName();
- writeString(fileName);
- writeCloseFileName();
- currentFileName = fileName;
- }
-
- public void writeLineIfDifferentFromCurrent(@Nonnegative int lineNumber)
- throws IOException {
- if (lineNumber != currentLineNumber) {
- writeCurrentLine(lineNumber);
- }
- }
-
- public void writeCurrentLine(@Nonnegative int lineNumber)
- throws IOException {
- writeOpenLineInfo();
- writeTrimmedInt(lineNumber);
- writeCloseLineInfo();
- currentLineNumber = lineNumber;
- }
-
- private void writeNull() throws IOException {
- writeToken(Token.NULL);
- writeSpace();
- }
-
- @SuppressWarnings("unused")
- private void writeSpace() throws IOException{
- }
-
- private void writeToken(@Nonnull Token token) throws IOException {
- out.writeByte(token.ordinal());
- }
-
- @SuppressWarnings("unused")
- private void writeOpen() throws IOException{
- }
-
- private void writeClose() throws IOException {
- writeToken(Token.RPARENTHESIS);
- }
-
- private void writeOpenFileName() throws IOException {
- writeToken(Token.SHARP);
- }
-
- @SuppressWarnings("unused")
- private void writeCloseFileName() throws IOException{
- }
-
- private void writeOpenLineInfo() throws IOException {
- writeToken(Token.LBRACKET);
- }
-
- @SuppressWarnings("unused")
- private void writeCloseLineInfo() throws IOException{
- }
-
- private void writeOpenAddCatchBlockIds() throws IOException {
- writeToken(Token.LCURLY_ADD);
- }
-
- private void writeOpenRemoveCatchBlockIds() throws IOException {
- writeToken(Token.LCURLY_REMOVE);
- }
-
- @SuppressWarnings("unused")
- private void writeCloseCatchBlockIds() throws IOException{
- }
-
- @Override
- public void write(@Nonnull JNode jNode) throws IOException {
- try (Event eventWriting = tracer.open(JackEventType.NNODE_WRITING)) {
- ImportHelper importHelper = new ImportHelper(new NodeFactory());
- NNode nNode;
- try (Event eventConvert = tracer.open(JackEventType.JNODE_TO_NNODE_CONVERSION)) {
- nNode = importHelper.load(jNode);
- }
-
- writeNode(nNode);
- }
- }
-
- @Override
- public int getCurrentMinor() {
- return Version.CURRENT_MINOR;
- }
-
- @Override
- public void close() throws IOException {
- out.close();
- }
-}
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NAbsentArrayDimension.java b/jack/src/com/android/jack/jayce/v0003/nodes/NAbsentArrayDimension.java
index 30a76fa..3d3cf8d 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NAbsentArrayDimension.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NAbsentArrayDimension.java
@@ -20,7 +20,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -54,11 +53,6 @@
@SuppressWarnings("unused")
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- }
-
- @SuppressWarnings("unused")
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
}
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NAddOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NAddOperation.java
index 34639a1..91631c8 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NAddOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NAddOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NAlloc.java b/jack/src/com/android/jack/jayce/v0003/nodes/NAlloc.java
index 32e4686..2118f5b 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NAlloc.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NAlloc.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -63,11 +62,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(instanceType);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
instanceType = in.readId();
}
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NAndOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NAndOperation.java
index 626a0b8..8d71ec8 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NAndOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NAndOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NAnnotation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NAnnotation.java
index 7d5a96b..f420d0d 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NAnnotation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NAnnotation.java
@@ -24,7 +24,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -90,15 +89,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- assert retentionPolicy != null;
- out.writeRetentionPolicyEnum(retentionPolicy);
- out.writeId(annotationType);
- out.writeNodes(elements);
- out.writeNodes(markers);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
retentionPolicy = in.readRetentionPolicyEnum();
annotationType = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NAnnotationMethod.java b/jack/src/com/android/jack/jayce/v0003/nodes/NAnnotationMethod.java
index a1a170f..877c5f3 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NAnnotationMethod.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NAnnotationMethod.java
@@ -30,7 +30,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -102,17 +101,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- assert annotations != null;
- out.writeId(name);
- out.writeId(returnType);
- out.writeInt(modifier);
- out.writeNodes(annotations);
- out.writeNode(defaultValue);
- out.writeNodes(markers);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
level = in.getNodeLevel();
name = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NAnnotationType.java b/jack/src/com/android/jack/jayce/v0003/nodes/NAnnotationType.java
index ffa52d7..4f4919c 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NAnnotationType.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NAnnotationType.java
@@ -29,7 +29,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.util.NamingTools;
@@ -121,21 +120,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- assert retentionPolicy != null;
- out.writeRetentionPolicyEnum(retentionPolicy);
- out.writeInt(modifiers);
- out.writeId(signature);
- out.writeIds(superInterfaces);
- out.writeId(enclosingType);
- out.writeIds(inners);
- out.writeNodes(getFields());
- out.writeNodes(getMethods());
- out.writeNodes(annotations);
- out.writeNodes(markers);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
level = in.getNodeLevel();
retentionPolicy = in.readRetentionPolicyEnum();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NArrayLength.java b/jack/src/com/android/jack/jayce/v0003/nodes/NArrayLength.java
index 3556483..b0171fc 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NArrayLength.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NArrayLength.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -66,11 +65,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(instance);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
instance = in.readNode(NExpression.class);
}
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NArrayLiteral.java b/jack/src/com/android/jack/jayce/v0003/nodes/NArrayLiteral.java
index 127dddf..a486622 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NArrayLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NArrayLiteral.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -71,11 +70,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNodes(values);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
values = in.readNodes(NLiteral.class);
}
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NArrayRef.java b/jack/src/com/android/jack/jayce/v0003/nodes/NArrayRef.java
index a830dcc..7264d8a 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NArrayRef.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NArrayRef.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -72,12 +71,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(instance);
- out.writeNode(index);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
instance = in.readNode(NExpression.class);
index = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgAddOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgAddOperation.java
index 59f7de3..5a20b0b 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgAddOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgAddOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgBitAndOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgBitAndOperation.java
index a8f23c2..8b5be63 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgBitAndOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgBitAndOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgBitOrOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgBitOrOperation.java
index 61108e7..63c0acf 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgBitOrOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgBitOrOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgBitXorOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgBitXorOperation.java
index 957568a..fb49da9 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgBitXorOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgBitXorOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgConcatOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgConcatOperation.java
index 868cf01..2ad1cb3 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgConcatOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgConcatOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgDivOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgDivOperation.java
index 641a0dc..fbe8a0c 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgDivOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgDivOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgModOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgModOperation.java
index b97a6f0..5d4c6ad 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgModOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgModOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgMulOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgMulOperation.java
index 8deb270..a072139 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgMulOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgMulOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgOperation.java
index f3a32fe..cae23b5 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgShlOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgShlOperation.java
index b757941..17c2706 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgShlOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgShlOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgShrOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgShrOperation.java
index d79090d..189a8c3 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgShrOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgShrOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgShruOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgShruOperation.java
index b59be5c..79108f8 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgShruOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgShruOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgSubOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgSubOperation.java
index a3d2ee6..2e38410 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NAsgSubOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NAsgSubOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NAssertStatement.java b/jack/src/com/android/jack/jayce/v0003/nodes/NAssertStatement.java
index 9e12967..3e835d4 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NAssertStatement.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NAssertStatement.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -84,12 +83,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(testExpression);
- out.writeNode(arg);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
testExpression = in.readNode(NExpression.class);
arg = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NBitAndOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NBitAndOperation.java
index 8891729..cc9554a 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NBitAndOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NBitAndOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NBitOrOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NBitOrOperation.java
index 1a9246d..63c9b1b 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NBitOrOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NBitOrOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NBitXorOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NBitXorOperation.java
index 682f191..e996036 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NBitXorOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NBitXorOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NBlock.java b/jack/src/com/android/jack/jayce/v0003/nodes/NBlock.java
index c5b2788..e8c9aa0 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NBlock.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NBlock.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -74,11 +73,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNodes(statements);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
statements = in.readNodes(NStatement.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NBooleanLiteral.java b/jack/src/com/android/jack/jayce/v0003/nodes/NBooleanLiteral.java
index d9a529b..f1c286c 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NBooleanLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NBooleanLiteral.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -59,14 +58,8 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeBoolean(value);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
value = in.readBoolean();
-
}
@Override
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NBreakStatement.java b/jack/src/com/android/jack/jayce/v0003/nodes/NBreakStatement.java
index 7fadf5d..e7cbcbe 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NBreakStatement.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NBreakStatement.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -71,11 +70,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeString(label);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
label = in.readString();
}
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NByteLiteral.java b/jack/src/com/android/jack/jayce/v0003/nodes/NByteLiteral.java
index 5102162..f0dfa0a 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NByteLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NByteLiteral.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -59,14 +58,8 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeByte(value);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
value = in.readByte();
-
}
@Override
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NCaseStatement.java b/jack/src/com/android/jack/jayce/v0003/nodes/NCaseStatement.java
index 0327351..9c1bfae 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NCaseStatement.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NCaseStatement.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -80,12 +79,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(id);
- out.writeNode(expr);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
id = in.readId();
expr = in.readNode(NLiteral.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NCatchBlock.java b/jack/src/com/android/jack/jayce/v0003/nodes/NCatchBlock.java
index 71bc829..c306123 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NCatchBlock.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NCatchBlock.java
@@ -24,7 +24,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -103,14 +102,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(id);
- out.writeIds(catchTypes);
- out.writeNode(catchVar);
- out.writeNodes(statements);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
id = in.readId();
catchTypes = in.readIds();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NCharLiteral.java b/jack/src/com/android/jack/jayce/v0003/nodes/NCharLiteral.java
index c5d6532..b5fe707 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NCharLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NCharLiteral.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -59,14 +58,8 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeChar(value);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
value = in.readChar();
-
}
@Override
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NClassLiteral.java b/jack/src/com/android/jack/jayce/v0003/nodes/NClassLiteral.java
index 203b28a..11b8fbb 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NClassLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NClassLiteral.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -64,11 +63,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(refType);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
refType = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NClassType.java b/jack/src/com/android/jack/jayce/v0003/nodes/NClassType.java
index 2780320..4f52654 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NClassType.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NClassType.java
@@ -30,7 +30,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
import com.android.jack.util.NamingTools;
@@ -169,23 +168,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeInt(modifiers);
- out.writeId(signature);
- out.writeId(superClass);
- out.writeIds(superInterfaces);
- out.writeId(enclosingType);
- out.writeId(enclosingMethodClass);
- out.writeId(enclosingMethod);
- out.writeIds(inners);
- out.writeNodes(getFields());
- out.writeNodes(getMethods());
- out.writeNodes(annotations);
- out.writeNodes(markers);
-
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
level = in.getNodeLevel();
modifiers = in.readInt();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NConcatOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NConcatOperation.java
index db0952f..9d4f818 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NConcatOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NConcatOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -72,12 +71,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NConditionalExpression.java b/jack/src/com/android/jack/jayce/v0003/nodes/NConditionalExpression.java
index b22fb63..8460d2f 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NConditionalExpression.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NConditionalExpression.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -79,13 +78,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(ifTest);
- out.writeNode(thenExpr);
- out.writeNode(elseExpr);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
ifTest = in.readNode(NExpression.class);
thenExpr = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NConstructor.java b/jack/src/com/android/jack/jayce/v0003/nodes/NConstructor.java
index 246159b..07cc4b4 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NConstructor.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NConstructor.java
@@ -28,7 +28,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -91,16 +90,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- assert annotations != null;
- out.writeNodes(getParameters());
- out.writeInt(modifier);
- out.writeNodes(annotations);
- out.writeNode(body);
- out.writeNodes(markers);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
level = in.getNodeLevel();
setParameters(in.readNodes(NParameter.class));
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NContainerAnnotation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NContainerAnnotation.java
index 2733c88..f20e416 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NContainerAnnotation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NContainerAnnotation.java
@@ -20,7 +20,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.transformations.annotation.ContainerAnnotationMarker;
@@ -60,13 +59,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- assert retentionPolicy != null;
- out.writeRetentionPolicyEnum(retentionPolicy);
- out.writeId(annotationTypeSig);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
retentionPolicy = in.readRetentionPolicyEnum();
annotationTypeSig = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NContinueStatement.java b/jack/src/com/android/jack/jayce/v0003/nodes/NContinueStatement.java
index 2341f7e..a55c83c 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NContinueStatement.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NContinueStatement.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -73,11 +72,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeString(label);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
label = in.readString();
}
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NDivOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NDivOperation.java
index 8494864..c5e0413 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NDivOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NDivOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NDoStatement.java b/jack/src/com/android/jack/jayce/v0003/nodes/NDoStatement.java
index f884a1f..1908ce9 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NDoStatement.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NDoStatement.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -79,12 +78,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(testExpression);
- out.writeNode(body);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
testExpression = in.readNode(NExpression.class);
body = in.readNode(NStatement.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NDoubleLiteral.java b/jack/src/com/android/jack/jayce/v0003/nodes/NDoubleLiteral.java
index e623ed1..e7266bc 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NDoubleLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NDoubleLiteral.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -60,14 +59,8 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeDouble(value);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
value = in.readDouble();
-
}
@Override
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NDynamicCastOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NDynamicCastOperation.java
index 3b6ccb4..e7abde8 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NDynamicCastOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NDynamicCastOperation.java
@@ -24,7 +24,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -78,13 +77,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- assert castTypes != null;
- out.writeIds(castTypes);
- out.writeNode(expr);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
castTypes = in.readIds();
expr = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NEnumField.java b/jack/src/com/android/jack/jayce/v0003/nodes/NEnumField.java
index ab1a4ec..71772ae 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NEnumField.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NEnumField.java
@@ -25,7 +25,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -92,17 +91,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeInt(modifiers);
- out.writeId(type);
- out.writeId(name);
- out.writeNode(initialValue);
- out.writeInt(ordinal);
- out.writeNodes(annotations);
- out.writeNodes(markers);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
modifiers = in.readInt();
type = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NEnumLiteral.java b/jack/src/com/android/jack/jayce/v0003/nodes/NEnumLiteral.java
index 2ead7f8..25bfef3 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NEnumLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NEnumLiteral.java
@@ -25,7 +25,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JLookup;
@@ -76,12 +75,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(enumFieldDeclaringType);
- out.writeId(enumFieldName);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
enumFieldDeclaringType = in.readId();
enumFieldName = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NEnumType.java b/jack/src/com/android/jack/jayce/v0003/nodes/NEnumType.java
index 24759b1..e531952 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NEnumType.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NEnumType.java
@@ -30,7 +30,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
import com.android.jack.util.NamingTools;
@@ -138,23 +137,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeInt(modifiers);
- out.writeId(signature);
- out.writeId(superClass);
- out.writeIds(superInterfaces);
- out.writeId(enclosingType);
- out.writeId(enclosingMethodClass);
- out.writeId(enclosingMethod);
- out.writeIds(inners);
- out.writeNodes(getFields());
- out.writeNodes(getMethods());
- out.writeNodes(annotations);
- out.writeNodes(markers);
-
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
level = in.getNodeLevel();
modifiers = in.readInt();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NEqOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NEqOperation.java
index bdf017c..1159db4 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NEqOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NEqOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NExceptionRuntimeValue.java b/jack/src/com/android/jack/jayce/v0003/nodes/NExceptionRuntimeValue.java
index abab103..d688b56 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NExceptionRuntimeValue.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NExceptionRuntimeValue.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -62,11 +61,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(catchedType);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
catchedType = in.readId();
}
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NExpressionStatement.java b/jack/src/com/android/jack/jayce/v0003/nodes/NExpressionStatement.java
index 3e27c7a..959140f 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NExpressionStatement.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NExpressionStatement.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -75,11 +74,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(expression);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
expression = in.readNode(NExpression.class);
}
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NField.java b/jack/src/com/android/jack/jayce/v0003/nodes/NField.java
index 807bebd..0264ffa 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NField.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NField.java
@@ -28,7 +28,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -121,16 +120,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeInt(modifiers);
- out.writeId(type);
- out.writeId(name);
- out.writeNode(initialValue);
- out.writeNodes(annotations);
- out.writeNodes(markers);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
modifiers = in.readInt();
type = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NFieldInitializer.java b/jack/src/com/android/jack/jayce/v0003/nodes/NFieldInitializer.java
index e3b601b..b33a829 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NFieldInitializer.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NFieldInitializer.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -50,11 +49,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) {
- throw new UnsupportedOperationException();
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) {
throw new UnsupportedOperationException();
}
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NFieldRef.java b/jack/src/com/android/jack/jayce/v0003/nodes/NFieldRef.java
index 3b79cf4..36b7f68 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NFieldRef.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NFieldRef.java
@@ -26,7 +26,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -90,16 +89,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- assert kind != null;
- out.writeId(field);
- out.writeId(fieldType);
- out.writeId(receiverType);
- out.writeFieldRefKindEnum(kind);
- out.writeNode(instance);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
field = in.readId();
fieldType = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NFloatLiteral.java b/jack/src/com/android/jack/jayce/v0003/nodes/NFloatLiteral.java
index b7c162c..f448e92 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NFloatLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NFloatLiteral.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -60,14 +59,8 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeFloat(value);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
value = in.readFloat();
-
}
@Override
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NForStatement.java b/jack/src/com/android/jack/jayce/v0003/nodes/NForStatement.java
index 4b73da0..438b79e 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NForStatement.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NForStatement.java
@@ -25,7 +25,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -101,17 +100,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- assert initializers != null;
- assert increments != null;
-
- out.writeNodes(initializers);
- out.writeNode(testExpression);
- out.writeNodes(increments);
- out.writeNode(body);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
initializers = in.readNodes(NStatement.class);
testExpression = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NGenericSignature.java b/jack/src/com/android/jack/jayce/v0003/nodes/NGenericSignature.java
index e088da7..a0df018 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NGenericSignature.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NGenericSignature.java
@@ -20,7 +20,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -53,11 +52,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeString(genericSignature);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
genericSignature = in.readString();
}
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NGoto.java b/jack/src/com/android/jack/jayce/v0003/nodes/NGoto.java
index 2a28bdb..25b4813 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NGoto.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NGoto.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -73,11 +72,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(target);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
target = in.readId();
}
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NGtOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NGtOperation.java
index 66b6173..c7094a5 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NGtOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NGtOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NGteOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NGteOperation.java
index f229891..4d775a5 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NGteOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NGteOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NIfStatement.java b/jack/src/com/android/jack/jayce/v0003/nodes/NIfStatement.java
index a0cd79d..26c4b69 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NIfStatement.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NIfStatement.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -88,13 +87,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(ifExpression);
- out.writeNode(thenStatement);
- out.writeNode(elseStatement);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
ifExpression = in.readNode(NExpression.class);
thenStatement = in.readNode(NStatement.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NInstanceOf.java b/jack/src/com/android/jack/jayce/v0003/nodes/NInstanceOf.java
index a6ab819..95ccb09 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NInstanceOf.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NInstanceOf.java
@@ -24,7 +24,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -72,12 +71,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(expr);
- out.writeId(testType);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
expr = in.readNode(NExpression.class);
testType = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NIntLiteral.java b/jack/src/com/android/jack/jayce/v0003/nodes/NIntLiteral.java
index 73942d0..83374ef 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NIntLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NIntLiteral.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -59,14 +58,8 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeInt(value);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
value = in.readInt();
-
}
@Override
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NInterfaceType.java b/jack/src/com/android/jack/jayce/v0003/nodes/NInterfaceType.java
index 5324315..89e7f5c 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NInterfaceType.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NInterfaceType.java
@@ -28,7 +28,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.util.NamingTools;
@@ -137,20 +136,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeInt(modifiers);
- out.writeId(signature);
- out.writeIds(superInterfaces);
- out.writeId(enclosingType);
- out.writeIds(inners);
- out.writeNodes(getFields());
- out.writeNodes(getMethods());
- out.writeNodes(annotations);
- out.writeNodes(markers);
-
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
level = in.getNodeLevel();
modifiers = in.readInt();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NLabeledStatement.java b/jack/src/com/android/jack/jayce/v0003/nodes/NLabeledStatement.java
index c6bc314..e3b8c3b 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NLabeledStatement.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NLabeledStatement.java
@@ -24,7 +24,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -88,13 +87,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeString(label);
- out.writeId(id);
- out.writeNode(body);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
label = in.readString();
id = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NLambda.java b/jack/src/com/android/jack/jayce/v0003/nodes/NLambda.java
index 9688feb..3a35b33 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NLambda.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NLambda.java
@@ -30,7 +30,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.jayce.v0003.nodes.NMethodCall.ReceiverKind;
import com.android.jack.lookup.JMethodLookupException;
@@ -183,25 +182,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- assert methodRefKind != null;
- assert receiverKind != null;
- out.writeNodes(capturedVariables);
- out.writeReceiverKindEnum(receiverKind);
- out.writeId(enclosingType);
- out.writeId(methodRefName);
- out.writeIds(methodRefArgsType);
- out.writeMethodKindEnum(methodRefKind);
- out.writeId(methodRefType);
- out.writeId(typeSig);
- out.writeIds(boundsIds);
- out.writeNode(mthIdWithErasure);
- out.writeNode(mthIdWithoutErasure);
- out.writeNodes(bridges);
- out.writeNodes(markers);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
capturedVariables = in.readNodes(NExpression.class);
receiverKind = in.readReceiverKindEnum();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NLambdaFromJill.java b/jack/src/com/android/jack/jayce/v0003/nodes/NLambdaFromJill.java
index f4ad8b8..49d43b3 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NLambdaFromJill.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NLambdaFromJill.java
@@ -19,7 +19,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.transformations.lambda.LambdaFromJillMarker;
@@ -46,10 +45,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) {
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) {
}
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NLocal.java b/jack/src/com/android/jack/jayce/v0003/nodes/NLocal.java
index 5684211..f592e8f 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NLocal.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NLocal.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -100,16 +99,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(id);
- out.writeInt(modifiers);
- out.writeId(type);
- out.writeId(name);
- out.writeNodes(annotationSet);
- out.writeNodes(markers);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
id = in.readId();
modifiers = in.readInt();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NLocalRef.java b/jack/src/com/android/jack/jayce/v0003/nodes/NLocalRef.java
index d41f492..ad7de01 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NLocalRef.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NLocalRef.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -63,11 +62,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(localId);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
localId = in.readId();
}
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NLock.java b/jack/src/com/android/jack/jayce/v0003/nodes/NLock.java
index ea5094f..0a3394a 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NLock.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NLock.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -75,11 +74,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lockExpr);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lockExpr = in.readNode(NExpression.class);
}
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NLongLiteral.java b/jack/src/com/android/jack/jayce/v0003/nodes/NLongLiteral.java
index ed87e9c..2e8e345 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NLongLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NLongLiteral.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -59,14 +58,8 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeLong(value);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
value = in.readLong();
-
}
@Override
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NLtOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NLtOperation.java
index 7cac52e..caeccf4 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NLtOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NLtOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NLteOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NLteOperation.java
index 9cc9e59..062a464 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NLteOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NLteOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NMethod.java b/jack/src/com/android/jack/jayce/v0003/nodes/NMethod.java
index dc6a112..172ca71 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NMethod.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NMethod.java
@@ -36,7 +36,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -170,19 +169,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- assert methodKind != null;
- out.writeId(name);
- out.writeId(returnType);
- out.writeNodes(getParameters());
- out.writeMethodKindEnum(methodKind);
- out.writeInt(modifier);
- out.writeNodes(annotations);
- out.writeNode(body);
- out.writeNodes(markers);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
level = in.getNodeLevel();
name = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NMethodBody.java b/jack/src/com/android/jack/jayce/v0003/nodes/NMethodBody.java
index 3c61873..bbb63f9 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NMethodBody.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NMethodBody.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -74,12 +73,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNodes(locals);
- out.writeNode(block);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
locals = in.readNodes(NLocal.class);
block = in.readNode(NBlock.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NMethodCall.java b/jack/src/com/android/jack/jayce/v0003/nodes/NMethodCall.java
index c35e077..93fa344 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NMethodCall.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NMethodCall.java
@@ -29,7 +29,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -137,26 +136,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- assert receiverType != null;
- assert receiverKind != null;
- assert methodName != null;
- assert methodKind != null;
- assert returnType != null;
- assert dispatchKind != null;
- assert sourceInfo != null;
- out.writeNode(instance);
- out.writeId(receiverType);
- out.writeReceiverKindEnum(receiverKind);
- out.writeId(methodName);
- out.writeIds(methodArgsType);
- out.writeMethodKindEnum(methodKind);
- out.writeId(returnType);
- out.writeNodes(args);
- out.writeDispatchKindEnum(dispatchKind);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
instance = in.readNode(NExpression.class);
receiverType = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NMethodId.java b/jack/src/com/android/jack/jayce/v0003/nodes/NMethodId.java
index 92ef0ef..d11bce2 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NMethodId.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NMethodId.java
@@ -25,7 +25,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -79,15 +78,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- assert methodKind != null;
- out.writeId(name);
- out.writeMethodKindEnum(methodKind);
- out.writeId(returnTypeSig);
- out.writeIds(paramTypeSigs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
name = in.readId();
methodKind = in.readMethodKindEnum();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NMethodLiteral.java b/jack/src/com/android/jack/jayce/v0003/nodes/NMethodLiteral.java
index afa8c9e..ebbd57d 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NMethodLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NMethodLiteral.java
@@ -24,7 +24,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -75,12 +74,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(method);
- out.writeId(methodEnclosingType);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
method = in.readId();
methodEnclosingType = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NModOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NModOperation.java
index 8125414..000db8d 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NModOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NModOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NMulOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NMulOperation.java
index 4031a89..485b56d 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NMulOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NMulOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NMultiExpression.java b/jack/src/com/android/jack/jayce/v0003/nodes/NMultiExpression.java
index 798a593..410c826 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NMultiExpression.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NMultiExpression.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -71,11 +70,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNodes(exprs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
exprs = in.readNodes(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NNameValuePair.java b/jack/src/com/android/jack/jayce/v0003/nodes/NNameValuePair.java
index ed6a031..8a88b45 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NNameValuePair.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NNameValuePair.java
@@ -28,7 +28,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -87,12 +86,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeString(name);
- out.writeNode(value);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
name = in.readString();
value = in.readNode(NLiteral.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NNativeMethodBody.java b/jack/src/com/android/jack/jayce/v0003/nodes/NNativeMethodBody.java
index 53d45d5..dc626af 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NNativeMethodBody.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NNativeMethodBody.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -57,12 +56,6 @@
@SuppressWarnings("unused")
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
-
- }
-
- @SuppressWarnings("unused")
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
}
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NNeqOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NNeqOperation.java
index e5f3e44..07ecfa3 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NNeqOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NNeqOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NNewArray.java b/jack/src/com/android/jack/jayce/v0003/nodes/NNewArray.java
index c9ee412..916cdb1 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NNewArray.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NNewArray.java
@@ -24,7 +24,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -88,13 +87,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(type);
- out.writeNodes(dims);
- out.writeNodes(initializers);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
type = in.readId();
dims = in.readNodes(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NNewInstance.java b/jack/src/com/android/jack/jayce/v0003/nodes/NNewInstance.java
index b4c4597..3d0f822 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NNewInstance.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NNewInstance.java
@@ -26,7 +26,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -80,15 +79,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- assert instance == null;
- assert methodKind == null;
- out.writeId(receiverType);
- out.writeIds(methodArgsType);
- out.writeNodes(args);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
receiverType = in.readId();
methodArgsType = in.readIds();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NNullLiteral.java b/jack/src/com/android/jack/jayce/v0003/nodes/NNullLiteral.java
index 19562c0..fe25d0a 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NNullLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NNullLiteral.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -57,11 +56,6 @@
@SuppressWarnings("unused")
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- }
-
- @SuppressWarnings("unused")
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
}
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NOrOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NOrOperation.java
index 4cf55d0..902731c 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NOrOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NOrOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NOriginDigest.java b/jack/src/com/android/jack/jayce/v0003/nodes/NOriginDigest.java
index b32a817..82fd49b 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NOriginDigest.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NOriginDigest.java
@@ -20,7 +20,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.jayce.v0003.util.OriginDigestDescriptorHelper;
@@ -70,18 +69,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- assert digest != null;
-
- out.writeInt(descriptor);
- out.writeString(algo);
- out.writeBuffer(digest);
- out.writeString(emitter);
- out.writeInt(major);
- out.writeInt(minor);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
descriptor = in.readInt();
algo = in.readString();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NParameter.java b/jack/src/com/android/jack/jayce/v0003/nodes/NParameter.java
index 037cda4..d008056 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NParameter.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NParameter.java
@@ -26,7 +26,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -114,16 +113,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(id);
- out.writeInt(modifiers);
- out.writeId(type);
- out.writeId(name);
- out.writeNodes(annotations);
- out.writeNodes(markers);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
id = in.readId();
modifiers = in.readInt();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NParameterRef.java b/jack/src/com/android/jack/jayce/v0003/nodes/NParameterRef.java
index 6c6b302..42f795e 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NParameterRef.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NParameterRef.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -63,11 +62,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(localId);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
localId = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NPostfixDecOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NPostfixDecOperation.java
index a03de50..7dbd2d2 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NPostfixDecOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NPostfixDecOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -62,11 +61,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(arg);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
arg = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NPostfixIncOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NPostfixIncOperation.java
index 17b3507..96745f5 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NPostfixIncOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NPostfixIncOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -62,11 +61,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(arg);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
arg = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NPrefixBitNotOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NPrefixBitNotOperation.java
index c2d6f63..85fa6fa 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NPrefixBitNotOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NPrefixBitNotOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -62,11 +61,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(arg);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
arg = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NPrefixDecOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NPrefixDecOperation.java
index ee2fada..7e5c07f 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NPrefixDecOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NPrefixDecOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -62,11 +61,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(arg);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
arg = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NPrefixIncOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NPrefixIncOperation.java
index 4f96997..81360b2 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NPrefixIncOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NPrefixIncOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -62,11 +61,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(arg);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
arg = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NPrefixNegOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NPrefixNegOperation.java
index fc5cd67..607a973 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NPrefixNegOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NPrefixNegOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -62,11 +61,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(arg);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
arg = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NPrefixNotOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NPrefixNotOperation.java
index f7ee123..e191646 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NPrefixNotOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NPrefixNotOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -62,11 +61,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(arg);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
arg = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NReinterpretCastOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NReinterpretCastOperation.java
index ceb7afe..4d4dac7 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NReinterpretCastOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NReinterpretCastOperation.java
@@ -24,7 +24,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -74,12 +73,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(castType);
- out.writeNode(expr);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
castType = in.readId();
expr = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NReturnStatement.java b/jack/src/com/android/jack/jayce/v0003/nodes/NReturnStatement.java
index 4632077..afd7119 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NReturnStatement.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NReturnStatement.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -74,11 +73,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(expr);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
expr = in.readNode(NExpression.class);
}
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NShlOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NShlOperation.java
index b4db2eb..1a210df 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NShlOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NShlOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NShortLiteral.java b/jack/src/com/android/jack/jayce/v0003/nodes/NShortLiteral.java
index abeb5bb..e54a20b 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NShortLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NShortLiteral.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -59,14 +58,8 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeShort(value);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
value = in.readShort();
-
}
@Override
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NShrOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NShrOperation.java
index 80ac4f1..36fc08b 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NShrOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NShrOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NShruOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NShruOperation.java
index bceb64c..2c416a9 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NShruOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NShruOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NSimpleName.java b/jack/src/com/android/jack/jayce/v0003/nodes/NSimpleName.java
index 2936ecd..1940eab 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NSimpleName.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NSimpleName.java
@@ -20,7 +20,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -54,11 +53,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeString(simpleName);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
simpleName = in.readString();
}
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NStringLiteral.java b/jack/src/com/android/jack/jayce/v0003/nodes/NStringLiteral.java
index dd12e7d..481c75f 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NStringLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NStringLiteral.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -61,11 +60,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeString(value);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
value = in.readString();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NSubOperation.java b/jack/src/com/android/jack/jayce/v0003/nodes/NSubOperation.java
index 839fe5c..c3bb3f3 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NSubOperation.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NSubOperation.java
@@ -21,7 +21,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -68,12 +67,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lhs);
- out.writeNode(rhs);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lhs = in.readNode(NExpression.class);
rhs = in.readNode(NExpression.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NSwitchStatement.java b/jack/src/com/android/jack/jayce/v0003/nodes/NSwitchStatement.java
index 1b2b312..cdb7cb7 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NSwitchStatement.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NSwitchStatement.java
@@ -24,7 +24,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -98,13 +97,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(expr);
- out.writeIds(cases);
- out.writeNode(body);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
expr = in.readNode(NExpression.class);
cases = in.readIds();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NSynchronizedBlock.java b/jack/src/com/android/jack/jayce/v0003/nodes/NSynchronizedBlock.java
index 84cbc8f..abda178 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NSynchronizedBlock.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NSynchronizedBlock.java
@@ -25,7 +25,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -86,12 +85,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lockExpr);
- out.writeNode(synchronizedBlock);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lockExpr = in.readNode(NExpression.class);
synchronizedBlock = in.readNode(NBlock.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NThisRef.java b/jack/src/com/android/jack/jayce/v0003/nodes/NThisRef.java
index b7386c5..7a2334a 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NThisRef.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NThisRef.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -63,11 +62,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeId(type);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
type = in.readId();
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NThisRefTypeInfo.java b/jack/src/com/android/jack/jayce/v0003/nodes/NThisRefTypeInfo.java
index aa61ea5..77ab782 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NThisRefTypeInfo.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NThisRefTypeInfo.java
@@ -20,7 +20,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -56,11 +55,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeString(genericSignature);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
genericSignature = in.readString();
}
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NThrowStatement.java b/jack/src/com/android/jack/jayce/v0003/nodes/NThrowStatement.java
index 5a8f7d1..23e4df9 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NThrowStatement.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NThrowStatement.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -75,11 +74,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(expr);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
expr = in.readNode(NExpression.class);
}
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NThrownExceptionMarker.java b/jack/src/com/android/jack/jayce/v0003/nodes/NThrownExceptionMarker.java
index 8f6d8bd..43f519d 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NThrownExceptionMarker.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NThrownExceptionMarker.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import java.io.IOException;
@@ -61,11 +60,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeIds(thrownExceptions);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
thrownExceptions = in.readIds();
}
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NTryStatement.java b/jack/src/com/android/jack/jayce/v0003/nodes/NTryStatement.java
index a209a31..f047541 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NTryStatement.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NTryStatement.java
@@ -24,7 +24,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -96,14 +95,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNodes(resourcesDeclaration);
- out.writeNode(tryBlock);
- out.writeNodes(catchBlocks);
- out.writeNode(finallyBlock);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
resourcesDeclaration = in.readNodes(NStatement.class);
tryBlock = in.readNode(NBlock.class);
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NUnlock.java b/jack/src/com/android/jack/jayce/v0003/nodes/NUnlock.java
index 2a2e5e7..1368efe 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NUnlock.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NUnlock.java
@@ -22,7 +22,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -75,11 +74,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(lockExpr);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
lockExpr = in.readNode(NExpression.class);
}
diff --git a/jack/src/com/android/jack/jayce/v0003/nodes/NWhileStatement.java b/jack/src/com/android/jack/jayce/v0003/nodes/NWhileStatement.java
index 30b7acf..764be05 100644
--- a/jack/src/com/android/jack/jayce/v0003/nodes/NWhileStatement.java
+++ b/jack/src/com/android/jack/jayce/v0003/nodes/NWhileStatement.java
@@ -23,7 +23,6 @@
import com.android.jack.jayce.v0003.io.ExportSession;
import com.android.jack.jayce.v0003.io.ImportHelper;
import com.android.jack.jayce.v0003.io.JayceInternalReaderImpl;
-import com.android.jack.jayce.v0003.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0003.io.Token;
import com.android.jack.lookup.JMethodLookupException;
@@ -79,12 +78,6 @@
}
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
- out.writeNode(testExpression);
- out.writeNode(body);
- }
-
- @Override
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
testExpression = in.readNode(NExpression.class);
body = in.readNode(NStatement.class);
diff --git a/jack/src/com/android/jack/jayce/v0004/io/JayceInputStream.java b/jack/src/com/android/jack/jayce/v0004/io/JayceInputStream.java
index 5c9d909..325261e 100644
--- a/jack/src/com/android/jack/jayce/v0004/io/JayceInputStream.java
+++ b/jack/src/com/android/jack/jayce/v0004/io/JayceInputStream.java
@@ -16,6 +16,8 @@
package com.android.jack.jayce.v0004.io;
+import com.google.common.io.ByteStreams;
+
import com.android.jack.util.StringUtils;
import java.io.DataInput;
@@ -57,31 +59,55 @@
return in.readBoolean();
}
+ public void skipBoolean() throws IOException {
+ ByteStreams.skipFully(in, 1);
+ }
+
@Override
public byte readByte() throws IOException {
return in.readByte();
}
+ public void skipByte() throws IOException {
+ ByteStreams.skipFully(in, 1);
+ }
+
@Override
public int readUnsignedByte() throws IOException {
return in.readUnsignedByte();
}
+ public void skipUnsignedByte() throws IOException {
+ ByteStreams.skipFully(in, 1);
+ }
+
@Override
public short readShort() throws IOException {
return in.readShort();
}
+ public void skipShort() throws IOException {
+ ByteStreams.skipFully(in, 2);
+ }
+
@Override
public int readUnsignedShort() throws IOException {
return in.readUnsignedShort();
}
+ public void skipUnsignedShort() throws IOException {
+ ByteStreams.skipFully(in, 2);
+ }
+
@Override
public char readChar() throws IOException {
return in.readChar();
}
+ public void skipChar() throws IOException {
+ ByteStreams.skipFully(in, 2);
+ }
+
@Override
public int readInt() throws IOException {
int result = 0;
@@ -108,6 +134,10 @@
return result;
}
+ public void skipInt() throws IOException {
+ readInt();
+ }
+
@Override
public long readLong() throws IOException {
long result = 0;
@@ -134,16 +164,28 @@
return result;
}
+ public void skipLong() throws IOException {
+ readLong();
+ }
+
@Override
public float readFloat() throws IOException {
return in.readFloat();
}
+ public void skipFloat() throws IOException {
+ ByteStreams.skipFully(in, 4);
+ }
+
@Override
public double readDouble() throws IOException {
return in.readDouble();
}
+ public void skipDouble() throws IOException {
+ ByteStreams.skipFully(in, 8);
+ }
+
@Deprecated
@Override
public String readLine() throws IOException {
@@ -166,6 +208,14 @@
}
}
+ public void skipUTF() throws IOException {
+ int length = readInt();
+
+ if (length > 0) {
+ ByteStreams.skipFully(in, length);
+ }
+ }
+
public byte[] readBuffer() throws IOException {
int length = readInt();
@@ -177,4 +227,12 @@
return b;
}
+
+ public void skipBuffer() throws IOException {
+ int length = readInt();
+
+ if (length > 0) {
+ ByteStreams.skipFully(in, length);
+ }
+ }
}
diff --git a/jack/src/com/android/jack/jayce/v0004/io/JayceInternalReaderImpl.java b/jack/src/com/android/jack/jayce/v0004/io/JayceInternalReaderImpl.java
index 69fd3d1..43601db 100644
--- a/jack/src/com/android/jack/jayce/v0004/io/JayceInternalReaderImpl.java
+++ b/jack/src/com/android/jack/jayce/v0004/io/JayceInternalReaderImpl.java
@@ -105,6 +105,10 @@
return readString();
}
+ public void skipId() throws IOException {
+ skipString();
+ }
+
@CheckForNull
public String readCurrentFileName() throws IOException {
if (tokenizer.readOpenFileName()) {
@@ -119,6 +123,14 @@
return currentFileName;
}
+ public void skipCurrentFileName() throws IOException {
+ if (tokenizer.readOpenFileName()) {
+ skipString();
+ currentLine = SourceInfo.UNKNOWN_LINE_NUMBER;
+ tokenizer.readCloseFileName();
+ }
+ }
+
@Nonnegative
public int readCurrentLine() throws IOException {
if (tokenizer.readOpenLineInfo()) {
@@ -128,41 +140,76 @@
return currentLine;
}
+ public void skipCurrentLine() throws IOException {
+ if (tokenizer.readOpenLineInfo()) {
+ skipInt();
+ tokenizer.readCloseLineInfo();
+ }
+ }
+
@Nonnull
public JRetentionPolicy readRetentionPolicyEnum() throws IOException {
return RetentionPolicyIdHelper.getValue(readByte());
}
+ public void skipRetentionPolicyEnum() throws IOException {
+ skipByte();
+ }
+
@Nonnull
public FieldKind readFieldRefKindEnum() throws IOException {
return FieldRefKindIdHelper.getValue(readByte());
}
+ public void skipFieldRefKindEnum() throws IOException {
+ skipByte();
+ }
+
@Nonnull
public MethodKind readMethodKindEnum() throws IOException {
return MethodKindIdHelper.getValue(readByte());
}
+ public void skipMethodKindEnum() throws IOException {
+ skipByte();
+ }
+
@Nonnull
public ReceiverKind readReceiverKindEnum() throws IOException {
return ReceiverKindIdHelper.getValue(readByte());
}
+ public void skipReceiverKindEnum() throws IOException {
+ skipByte();
+ }
+
@Nonnull
public DispatchKind readDispatchKindEnum() throws IOException {
return DispatchKindIdHelper.getValue(readByte());
}
+ public void skipDispatchKindEnum() throws IOException {
+ skipByte();
+ }
+
@CheckForNull
public String readString() throws IOException {
return tokenizer.readString();
}
+ public void skipString() throws IOException {
+ tokenizer.skipString();
+ }
+
@CheckForNull
public byte[] readBuffer() throws IOException {
return tokenizer.readBuffer();
}
+ public void skipBuffer() throws IOException {
+ tokenizer.skipBuffer();
+ }
+
@Nonnull
public List<String> readIds() throws IOException {
tokenizer.readOpen();
@@ -175,6 +222,15 @@
return ids;
}
+ public void skipIds() throws IOException {
+ tokenizer.readOpen();
+ int length = readInt();
+ for (int i = 0; i < length; i++) {
+ skipId();
+ }
+ tokenizer.readClose();
+ }
+
public void readCatchBlockIds() throws IOException {
if (tokenizer.readOpenCatchBlockIdAdd()) {
int length = tokenizer.readInt();
@@ -196,6 +252,63 @@
}
}
+ public void skipCatchBlockIds() throws IOException {
+ if (tokenizer.readOpenCatchBlockIdAdd()) {
+ int length = tokenizer.readInt();
+ for (int i = 0; i < length; i++) {
+ skipId();
+ }
+ tokenizer.readCloseCatchBlockId();
+ }
+ if (tokenizer.readOpenCatchBlockIdRemove()) {
+ int length = tokenizer.readInt();
+ for (int i = 0; i < length; i++) {
+ skipId();
+ }
+ tokenizer.readCloseCatchBlockId();
+ }
+ }
+
+ public <T extends NNode> void skipNode()
+ throws IOException, JayceFormatException {
+
+ skipCurrentFileName();
+ skipCurrentLine();
+
+ skipCatchBlockIds();
+
+ Token token = tokenizer.next();
+
+ if (token == Token.NULL) {
+ return;
+ }
+
+ tokenizer.readOpen();
+
+ skipNodeInternal(token);
+ }
+
+ private <T extends NNode> void skipNodeInternal(@Nonnull Token token)
+ throws IOException, JayceFormatException {
+
+ try {
+
+ token.skip(this);
+
+ if (nodeLevel != NodeLevel.TYPES) {
+ if (token.hasSourceInfo()) {
+ skipCurrentFileName();
+ skipCurrentLine();
+ }
+ tokenizer.readClose();
+ }
+
+ } catch (InvalidTokenException e) {
+ throw new ParseException(
+ "Unexpected token " + token.toString() + " while expecting node.", e);
+ }
+ }
+
@SuppressWarnings("unchecked")
@CheckForNull
public <T extends NNode> T readNode(@Nonnull Class<T> nodeClass) throws IOException,
@@ -214,17 +327,39 @@
tokenizer.readOpen();
NNode node;
try {
+
+ Percent statistic = null;
+ if (token == Token.METHOD_BODY) {
+ statistic = tracer.getStatistic(SKIPPED_BODY);
+ }
+
+ if (!nodeLevel.keep(token.getNodeLevel())) {
+
+ skipNodeInternal(token);
+
+ if (statistic != null) {
+ statistic.addTrue();
+ }
+ return null;
+ }
+
node = token.newNode();
+
+ if (node instanceof NDeclaredType) {
+ tracer.getStatistic(SKIPPED_TYPE_STRUCTURE).add(nodeLevel == NodeLevel.TYPES);
+ }
+
+ if (statistic != null) {
+ statistic.addFalse();
+ }
+
+
} catch (InvalidTokenException e) {
throw new ParseException(
"Unexpected token " + token.toString() + " while expecting node.", e);
}
- Percent statistic = null;
- if (token == Token.METHOD_BODY) {
- statistic = tracer.getStatistic(SKIPPED_BODY);
- } else if (node instanceof NDeclaredType) {
- tracer.getStatistic(SKIPPED_TYPE_STRUCTURE).add(nodeLevel == NodeLevel.TYPES);
- }
+
+ assert node != null;
if (!nodeClass.isAssignableFrom(node.getClass())) {
throw new JayceFormatException("Unexpected node " + node.getClass().getSimpleName() + ", "
@@ -257,17 +392,7 @@
tokenizer.readClose();
}
- if (nodeLevel.keep(token.getNodeLevel())) {
- if (statistic != null) {
- statistic.addFalse();
- }
- return (T) node;
- } else {
- if (statistic != null) {
- statistic.addTrue();
- }
- return null;
- }
+ return (T) node;
}
@Nonnull
@@ -287,38 +412,80 @@
}
+ public <T extends NNode> void skipNodes() throws IOException,
+ JayceFormatException {
+ tokenizer.readOpen();
+ int length = readInt();
+ for (int i = 0; i < length; i++) {
+ skipNode();
+ }
+ tokenizer.readClose();
+ }
+
public int readInt() throws IOException {
return tokenizer.readInt();
}
+ public void skipInt() throws IOException {
+ tokenizer.skipInt();
+ }
+
public byte readByte() throws IOException {
return tokenizer.readByte();
}
+ public void skipByte() throws IOException {
+ tokenizer.skipByte();
+ }
+
public boolean readBoolean() throws IOException {
return tokenizer.readBoolean();
}
+ public void skipBoolean() throws IOException {
+ tokenizer.skipBoolean();
+ }
+
public long readLong() throws IOException {
return tokenizer.readLong();
}
+ public void skipLong() throws IOException {
+ tokenizer.skipLong();
+ }
+
public short readShort() throws IOException {
return tokenizer.readShort();
}
+ public void skipShort() throws IOException {
+ tokenizer.skipShort();
+ }
+
public char readChar() throws IOException {
return tokenizer.readChar();
}
+ public void skipChar() throws IOException {
+ tokenizer.skipChar();
+ }
+
public float readFloat() throws IOException {
return tokenizer.readFloat();
}
+ public void skipFloat() throws IOException {
+ tokenizer.skipFloat();
+ }
+
public double readDouble() throws IOException {
return tokenizer.readDouble();
}
+ public void skipDouble() throws IOException {
+ tokenizer.skipDouble();
+ }
+
@Override
@Nonnull
public DeclaredTypeNode readType(@Nonnull NodeLevel nodeLevel) throws IOException,
diff --git a/jack/src/com/android/jack/jayce/v0004/io/Token.java b/jack/src/com/android/jack/jayce/v0004/io/Token.java
index fe9e1ba..b24fc5a 100644
--- a/jack/src/com/android/jack/jayce/v0004/io/Token.java
+++ b/jack/src/com/android/jack/jayce/v0004/io/Token.java
@@ -16,9 +16,9 @@
package com.android.jack.jayce.v0004.io;
-import com.android.jack.jayce.JayceFormatException;
import com.android.jack.jayce.NodeLevel;
import com.android.jack.jayce.v0004.NNode;
+import com.android.jack.jayce.v0004.nodes.HasSourceInfo;
import com.android.jack.jayce.v0004.nodes.NAbsentArrayDimension;
import com.android.jack.jayce.v0004.nodes.NAddOperation;
import com.android.jack.jayce.v0004.nodes.NAlloc;
@@ -138,6 +138,8 @@
import com.android.jack.jayce.v0004.nodes.NUnlock;
import com.android.jack.jayce.v0004.nodes.NWhileStatement;
+import java.io.IOException;
+
import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
@@ -169,6 +171,17 @@
public NNode newNode() {
return new NAbsentArrayDimension();
}
+
+ @Override
+ @Nonnull
+ public Class<NAbsentArrayDimension> getNNodeClass() {
+ return NAbsentArrayDimension.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NAbsentArrayDimension.skipContent(reader);
+ }
},
ADD_OPERATION("+") {
@Override
@@ -176,6 +189,17 @@
public NNode newNode() {
return new NAddOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NAddOperation> getNNodeClass() {
+ return NAddOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NAddOperation.skipContent(reader);
+ }
},
ALLOC("alloc") {
@Override
@@ -183,6 +207,17 @@
public NNode newNode() {
return new NAlloc();
}
+
+ @Override
+ @Nonnull
+ public Class<NAlloc> getNNodeClass() {
+ return NAlloc.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NAlloc.skipContent(reader);
+ }
},
AND_OPERATION("&&") {
@Override
@@ -190,6 +225,17 @@
public NNode newNode() {
return new NAndOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NAndOperation> getNNodeClass() {
+ return NAndOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NAndOperation.skipContent(reader);
+ }
},
ANNOTATION("annotation-literal", NodeLevel.STRUCTURE) {
@Nonnull
@@ -197,6 +243,17 @@
public NNode newNode() {
return new NAnnotation();
}
+
+ @Override
+ @Nonnull
+ public Class<NAnnotation> getNNodeClass() {
+ return NAnnotation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NAnnotation.skipContent(reader);
+ }
},
ANNOTATION_METHOD("annotation-method", NodeLevel.STRUCTURE) {
@Nonnull
@@ -204,6 +261,17 @@
public NNode newNode() {
return new NAnnotationMethod();
}
+
+ @Override
+ @Nonnull
+ public Class<NAnnotationMethod> getNNodeClass() {
+ return NAnnotationMethod.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NAnnotationMethod.skipContent(reader);
+ }
},
ANNOTATION_TYPE("annotation", NodeLevel.TYPES) {
@Override
@@ -211,6 +279,17 @@
public NNode newNode() {
return new NAnnotationType();
}
+
+ @Override
+ @Nonnull
+ public Class<NAnnotationType> getNNodeClass() {
+ return NAnnotationType.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NAnnotationType.skipContent(reader);
+ }
},
ARRAY_LENGTH("array-length") {
@Override
@@ -218,6 +297,17 @@
public NNode newNode() {
return new NArrayLength();
}
+
+ @Override
+ @Nonnull
+ public Class<NArrayLength> getNNodeClass() {
+ return NArrayLength.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NArrayLength.skipContent(reader);
+ }
},
ARRAY_LITERAL("array-literal", NodeLevel.STRUCTURE) {
@Nonnull
@@ -225,6 +315,17 @@
public NNode newNode() {
return new NArrayLiteral();
}
+
+ @Override
+ @Nonnull
+ public Class<NArrayLiteral> getNNodeClass() {
+ return NArrayLiteral.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NArrayLiteral.skipContent(reader);
+ }
},
ARRAY_REF("array-ref") {
@Override
@@ -232,6 +333,17 @@
public NNode newNode() {
return new NArrayRef();
}
+
+ @Override
+ @Nonnull
+ public Class<NArrayRef> getNNodeClass() {
+ return NArrayRef.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NArrayRef.skipContent(reader);
+ }
},
ASG_ADD_OPERATION("+=") {
@Override
@@ -239,6 +351,17 @@
public NNode newNode() {
return new NAsgAddOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NAsgAddOperation> getNNodeClass() {
+ return NAsgAddOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NAsgAddOperation.skipContent(reader);
+ }
},
ASG_BIT_AND_OPERATION("&=") {
@Override
@@ -246,6 +369,17 @@
public NNode newNode() {
return new NAsgBitAndOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NAsgBitAndOperation> getNNodeClass() {
+ return NAsgBitAndOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NAsgBitAndOperation.skipContent(reader);
+ }
},
ASG_BIT_OR_OPERATION("|=") {
@Override
@@ -253,6 +387,17 @@
public NNode newNode() {
return new NAsgBitOrOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NAsgBitOrOperation> getNNodeClass() {
+ return NAsgBitOrOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NAsgBitOrOperation.skipContent(reader);
+ }
},
ASG_BIT_XOR_OPERATION("^=") {
@Override
@@ -260,6 +405,17 @@
public NNode newNode() {
return new NAsgBitXorOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NAsgBitXorOperation> getNNodeClass() {
+ return NAsgBitXorOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NAsgBitXorOperation.skipContent(reader);
+ }
},
ASG_CONCAT_OPERATION("asg-concat") {
@Override
@@ -267,6 +423,17 @@
public NNode newNode() {
return new NAsgConcatOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NAsgConcatOperation> getNNodeClass() {
+ return NAsgConcatOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NAsgConcatOperation.skipContent(reader);
+ }
},
ASG_DIV_OPERATION("/=") {
@Override
@@ -274,6 +441,17 @@
public NNode newNode() {
return new NAsgDivOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NAsgDivOperation> getNNodeClass() {
+ return NAsgDivOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NAsgDivOperation.skipContent(reader);
+ }
},
ASG_MOD_OPERATION("%=") {
@Override
@@ -281,6 +459,17 @@
public NNode newNode() {
return new NAsgModOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NAsgModOperation> getNNodeClass() {
+ return NAsgModOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NAsgModOperation.skipContent(reader);
+ }
},
ASG_MUL_OPERATION("*=") {
@Override
@@ -288,6 +477,17 @@
public NNode newNode() {
return new NAsgMulOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NAsgMulOperation> getNNodeClass() {
+ return NAsgMulOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NAsgMulOperation.skipContent(reader);
+ }
},
ASG_OPERATION("=") {
@Override
@@ -295,6 +495,17 @@
public NNode newNode() {
return new NAsgOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NAsgOperation> getNNodeClass() {
+ return NAsgOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NAsgOperation.skipContent(reader);
+ }
},
ASG_SHL_OPERATION("<<=") {
@Override
@@ -302,6 +513,17 @@
public NNode newNode() {
return new NAsgShlOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NAsgShlOperation> getNNodeClass() {
+ return NAsgShlOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NAsgShlOperation.skipContent(reader);
+ }
},
ASG_SHR_OPERATION(">>=") {
@Override
@@ -309,6 +531,17 @@
public NNode newNode() {
return new NAsgShrOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NAsgShrOperation> getNNodeClass() {
+ return NAsgShrOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NAsgShrOperation.skipContent(reader);
+ }
},
ASG_SHRU_OPERATION(">>>=") {
@Override
@@ -316,6 +549,17 @@
public NNode newNode() {
return new NAsgShruOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NAsgShruOperation> getNNodeClass() {
+ return NAsgShruOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NAsgShruOperation.skipContent(reader);
+ }
},
ASG_SUB_OPERATION("-=") {
@Override
@@ -323,6 +567,17 @@
public NNode newNode() {
return new NAsgSubOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NAsgSubOperation> getNNodeClass() {
+ return NAsgSubOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NAsgSubOperation.skipContent(reader);
+ }
},
ASSERT_STATEMENT("assert") {
@Override
@@ -330,6 +585,17 @@
public NNode newNode() {
return new NAssertStatement();
}
+
+ @Override
+ @Nonnull
+ public Class<NAssertStatement> getNNodeClass() {
+ return NAssertStatement.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NAssertStatement.skipContent(reader);
+ }
},
BIT_AND_OPERATION("&") {
@Override
@@ -337,6 +603,17 @@
public NNode newNode() {
return new NBitAndOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NBitAndOperation> getNNodeClass() {
+ return NBitAndOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NBitAndOperation.skipContent(reader);
+ }
},
BIT_OR_OPERATION("|") {
@Override
@@ -344,6 +621,17 @@
public NNode newNode() {
return new NBitOrOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NBitOrOperation> getNNodeClass() {
+ return NBitOrOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NBitOrOperation.skipContent(reader);
+ }
},
BIT_XOR_OPERATION("^") {
@Override
@@ -351,6 +639,17 @@
public NNode newNode() {
return new NBitXorOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NBitXorOperation> getNNodeClass() {
+ return NBitXorOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NBitXorOperation.skipContent(reader);
+ }
},
BLOCK("block") {
@Nonnull
@@ -358,6 +657,17 @@
public NNode newNode() {
return new NBlock();
}
+
+ @Override
+ @Nonnull
+ public Class<NBlock> getNNodeClass() {
+ return NBlock.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NBlock.skipContent(reader);
+ }
},
BOOLEAN_LITERAL("boolean", NodeLevel.STRUCTURE) {
@Nonnull
@@ -365,6 +675,17 @@
public NNode newNode() {
return new NBooleanLiteral();
}
+
+ @Override
+ @Nonnull
+ public Class<NBooleanLiteral> getNNodeClass() {
+ return NBooleanLiteral.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NBooleanLiteral.skipContent(reader);
+ }
},
BREAK_STATEMENT("break") {
@Nonnull
@@ -372,6 +693,17 @@
public NNode newNode() {
return new NBreakStatement();
}
+
+ @Override
+ @Nonnull
+ public Class<NBreakStatement> getNNodeClass() {
+ return NBreakStatement.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NBreakStatement.skipContent(reader);
+ }
},
BYTE_LITERAL("byte", NodeLevel.STRUCTURE) {
@Nonnull
@@ -379,6 +711,17 @@
public NNode newNode() {
return new NByteLiteral();
}
+
+ @Override
+ @Nonnull
+ public Class<NByteLiteral> getNNodeClass() {
+ return NByteLiteral.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NByteLiteral.skipContent(reader);
+ }
},
CASE_STATEMENT("case") {
@Override
@@ -386,6 +729,17 @@
public NNode newNode() {
return new NCaseStatement();
}
+
+ @Override
+ @Nonnull
+ public Class<NCaseStatement> getNNodeClass() {
+ return NCaseStatement.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NCaseStatement.skipContent(reader);
+ }
},
CATCH_BLOCK("catch") {
@Nonnull
@@ -393,6 +747,17 @@
public NNode newNode() {
return new NCatchBlock();
}
+
+ @Override
+ @Nonnull
+ public Class<NCatchBlock> getNNodeClass() {
+ return NCatchBlock.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NCatchBlock.skipContent(reader);
+ }
},
CHAR_LITERAL("char", NodeLevel.STRUCTURE) {
@Nonnull
@@ -400,6 +765,17 @@
public NNode newNode() {
return new NCharLiteral();
}
+
+ @Override
+ @Nonnull
+ public Class<NCharLiteral> getNNodeClass() {
+ return NCharLiteral.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NCharLiteral.skipContent(reader);
+ }
},
CLASS("class", NodeLevel.TYPES) {
@Nonnull
@@ -407,6 +783,17 @@
public NNode newNode() {
return new NClassType();
}
+
+ @Override
+ @Nonnull
+ public Class<NClassType> getNNodeClass() {
+ return NClassType.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NClassType.skipContent(reader);
+ }
},
CLASS_LITERAL("class-literal", NodeLevel.STRUCTURE) {
@Nonnull
@@ -414,6 +801,17 @@
public NNode newNode() {
return new NClassLiteral();
}
+
+ @Override
+ @Nonnull
+ public Class<NClassLiteral> getNNodeClass() {
+ return NClassLiteral.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NClassLiteral.skipContent(reader);
+ }
},
CONCAT_OPERATION("concat") {
@Override
@@ -421,6 +819,17 @@
public NNode newNode() {
return new NConcatOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NConcatOperation> getNNodeClass() {
+ return NConcatOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NConcatOperation.skipContent(reader);
+ }
},
CONDITIONAL_EXPRESSION ("?") {
@Nonnull
@@ -428,6 +837,17 @@
public NNode newNode() {
return new NConditionalExpression();
}
+
+ @Override
+ @Nonnull
+ public Class<NConditionalExpression> getNNodeClass() {
+ return NConditionalExpression.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NConditionalExpression.skipContent(reader);
+ }
},
CONSTRUCTOR ("constructor", NodeLevel.STRUCTURE) {
@Nonnull
@@ -435,6 +855,17 @@
public NNode newNode() {
return new NConstructor();
}
+
+ @Override
+ @Nonnull
+ public Class<NConstructor> getNNodeClass() {
+ return NConstructor.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NConstructor.skipContent(reader);
+ }
},
CONTAINER_ANNOTATION("container-annotation", NodeLevel.STRUCTURE) {
@Nonnull
@@ -442,6 +873,17 @@
public NNode newNode() {
return new NContainerAnnotation();
}
+
+ @Override
+ @Nonnull
+ public Class<NContainerAnnotation> getNNodeClass() {
+ return NContainerAnnotation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NContainerAnnotation.skipContent(reader);
+ }
},
CONTINUE_STATEMENT("continue") {
@Nonnull
@@ -449,6 +891,17 @@
public NNode newNode() {
return new NContinueStatement();
}
+
+ @Override
+ @Nonnull
+ public Class<NContinueStatement> getNNodeClass() {
+ return NContinueStatement.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NContinueStatement.skipContent(reader);
+ }
},
DEBUG_VARIABLE_INFORMATION("debug-var", NodeLevel.STRUCTURE) {
@Nonnull
@@ -456,6 +909,17 @@
public NNode newNode() {
return new NDebugVariableInfo();
}
+
+ @Override
+ @Nonnull
+ public Class<NDebugVariableInfo> getNNodeClass() {
+ return NDebugVariableInfo.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NDebugVariableInfo.skipContent(reader);
+ }
},
DIV_OPERATION("/") {
@Nonnull
@@ -463,6 +927,17 @@
public NNode newNode() {
return new NDivOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NDivOperation> getNNodeClass() {
+ return NDivOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NDivOperation.skipContent(reader);
+ }
},
DO_STATEMENT("do") {
@Nonnull
@@ -470,6 +945,17 @@
public NNode newNode() {
return new NDoStatement();
}
+
+ @Override
+ @Nonnull
+ public Class<NDoStatement> getNNodeClass() {
+ return NDoStatement.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NDoStatement.skipContent(reader);
+ }
},
DOUBLE_LITERAL("double", NodeLevel.STRUCTURE) {
@Nonnull
@@ -477,6 +963,17 @@
public NNode newNode() {
return new NDoubleLiteral();
}
+
+ @Override
+ @Nonnull
+ public Class<NDoubleLiteral> getNNodeClass() {
+ return NDoubleLiteral.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NDoubleLiteral.skipContent(reader);
+ }
},
DYNAMIC_CAST_OPERATION("cast") {
@Override
@@ -484,6 +981,17 @@
public NNode newNode() {
return new NDynamicCastOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NDynamicCastOperation> getNNodeClass() {
+ return NDynamicCastOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NDynamicCastOperation.skipContent(reader);
+ }
},
ENUM("enum", NodeLevel.TYPES) {
@Nonnull
@@ -491,6 +999,17 @@
public NNode newNode() {
return new NEnumType();
}
+
+ @Override
+ @Nonnull
+ public Class<NEnumType> getNNodeClass() {
+ return NEnumType.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NEnumType.skipContent(reader);
+ }
},
ENUM_FIELD("enum-field", NodeLevel.STRUCTURE) {
@Nonnull
@@ -498,6 +1017,17 @@
public NNode newNode() {
return new NEnumField();
}
+
+ @Override
+ @Nonnull
+ public Class<NEnumField> getNNodeClass() {
+ return NEnumField.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NEnumType.skipContent(reader);
+ }
},
ENUM_LITERAL("enum-literal", NodeLevel.STRUCTURE) {
@Nonnull
@@ -505,6 +1035,17 @@
public NNode newNode() {
return new NEnumLiteral();
}
+
+ @Override
+ @Nonnull
+ public Class<NEnumLiteral> getNNodeClass() {
+ return NEnumLiteral.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NEnumLiteral.skipContent(reader);
+ }
},
EQ_OPERATION("==") {
@Nonnull
@@ -512,6 +1053,17 @@
public NNode newNode() {
return new NEqOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NEqOperation> getNNodeClass() {
+ return NEqOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NEqOperation.skipContent(reader);
+ }
},
EXCEPTION_RUNTIME_VALUE("ex-runtime-value") {
@Nonnull
@@ -519,6 +1071,17 @@
public NNode newNode() {
return new NExceptionRuntimeValue();
}
+
+ @Override
+ @Nonnull
+ public Class<NExceptionRuntimeValue> getNNodeClass() {
+ return NExceptionRuntimeValue.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NExceptionRuntimeValue.skipContent(reader);
+ }
},
EXPRESSION_STATEMENT("expression-statement") {
@Nonnull
@@ -526,6 +1089,17 @@
public NNode newNode() {
return new NExpressionStatement();
}
+
+ @Override
+ @Nonnull
+ public Class<NExpressionStatement> getNNodeClass() {
+ return NExpressionStatement.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NExpressionStatement.skipContent(reader);
+ }
},
FIELD("field", NodeLevel.STRUCTURE) {
@Nonnull
@@ -533,6 +1107,17 @@
public NNode newNode() {
return new NField();
}
+
+ @Override
+ @Nonnull
+ public Class<NField> getNNodeClass() {
+ return NField.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NField.skipContent(reader);
+ }
},
FIELD_INITIALIZER("field-intializer") {
@Nonnull
@@ -540,6 +1125,17 @@
public NNode newNode() {
return new NFieldInitializer();
}
+
+ @Override
+ @Nonnull
+ public Class<NFieldInitializer> getNNodeClass() {
+ return NFieldInitializer.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) {
+ NFieldInitializer.skipContent(reader);
+ }
},
FIELD_REF("field-ref") {
@Nonnull
@@ -547,6 +1143,17 @@
public NNode newNode() {
return new NFieldRef();
}
+
+ @Override
+ @Nonnull
+ public Class<NFieldRef> getNNodeClass() {
+ return NFieldRef.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NFieldRef.skipContent(reader);
+ }
},
FLOAT_LITERAL("float", NodeLevel.STRUCTURE) {
@Nonnull
@@ -554,6 +1161,17 @@
public NNode newNode() {
return new NFloatLiteral();
}
+
+ @Override
+ @Nonnull
+ public Class<NFloatLiteral> getNNodeClass() {
+ return NFloatLiteral.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NFloatLiteral.skipContent(reader);
+ }
},
FOR_STATEMENT("for") {
@Nonnull
@@ -561,6 +1179,17 @@
public NNode newNode() {
return new NForStatement();
}
+
+ @Override
+ @Nonnull
+ public Class<NForStatement> getNNodeClass() {
+ return NForStatement.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NForStatement.skipContent(reader);
+ }
},
GENERIC_SIGNATURE("generic-signature", NodeLevel.TYPES) {
@Override
@@ -568,6 +1197,17 @@
public NNode newNode() {
return new NGenericSignature();
}
+
+ @Override
+ @Nonnull
+ public Class<NGenericSignature> getNNodeClass() {
+ return NGenericSignature.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NGenericSignature.skipContent(reader);
+ }
},
GOTO("goto") {
@Nonnull
@@ -575,6 +1215,17 @@
public NNode newNode() {
return new NGoto();
}
+
+ @Override
+ @Nonnull
+ public Class<NGoto> getNNodeClass() {
+ return NGoto.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NGoto.skipContent(reader);
+ }
},
GTE_OPERATION(">=") {
@Nonnull
@@ -582,6 +1233,17 @@
public NNode newNode() {
return new NGteOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NGteOperation> getNNodeClass() {
+ return NGteOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NGteOperation.skipContent(reader);
+ }
},
GT_OPERATION(">") {
@Nonnull
@@ -589,6 +1251,17 @@
public NNode newNode() {
return new NGtOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NGtOperation> getNNodeClass() {
+ return NGtOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NGtOperation.skipContent(reader);
+ }
},
IF_STATEMENT("if") {
@Override
@@ -596,6 +1269,17 @@
public NNode newNode() {
return new NIfStatement();
}
+
+ @Override
+ @Nonnull
+ public Class<NIfStatement> getNNodeClass() {
+ return NIfStatement.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NIfStatement.skipContent(reader);
+ }
},
INSTANCE_OF("instanceof") {
@Override
@@ -603,6 +1287,17 @@
public NNode newNode() {
return new NInstanceOf();
}
+
+ @Override
+ @Nonnull
+ public Class<NInstanceOf> getNNodeClass() {
+ return NInstanceOf.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NInstanceOf.skipContent(reader);
+ }
},
INT_LITERAL("int", NodeLevel.STRUCTURE) {
@Nonnull
@@ -610,6 +1305,17 @@
public NNode newNode() {
return new NIntLiteral();
}
+
+ @Override
+ @Nonnull
+ public Class<NIntLiteral> getNNodeClass() {
+ return NIntLiteral.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NIntLiteral.skipContent(reader);
+ }
},
INTERFACE("interface", NodeLevel.TYPES) {
@Nonnull
@@ -617,6 +1323,17 @@
public NNode newNode() {
return new NInterfaceType();
}
+
+ @Override
+ @Nonnull
+ public Class<NInterfaceType> getNNodeClass() {
+ return NInterfaceType.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NInterfaceType.skipContent(reader);
+ }
},
LABELED_STATEMENT("label") {
@Nonnull
@@ -624,6 +1341,17 @@
public NNode newNode() {
return new NLabeledStatement();
}
+
+ @Override
+ @Nonnull
+ public Class<NLabeledStatement> getNNodeClass() {
+ return NLabeledStatement.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NLabeledStatement.skipContent(reader);
+ }
},
LAMBDA("lambda") {
@Nonnull
@@ -631,6 +1359,17 @@
public NNode newNode() {
return new NLambda();
}
+
+ @Override
+ @Nonnull
+ public Class<NLambda> getNNodeClass() {
+ return NLambda.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NLambda.skipContent(reader);
+ }
},
LAMBDA_FROM_JILL("lambda-from-jill") {
@Nonnull
@@ -638,6 +1377,17 @@
public NNode newNode() {
return new NLambdaFromJill();
}
+
+ @Override
+ @Nonnull
+ public Class<NLambdaFromJill> getNNodeClass() {
+ return NLambdaFromJill.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) {
+ NLambdaFromJill.skipContent(reader);
+ }
},
LOCAL("local") {
@Nonnull
@@ -645,6 +1395,18 @@
public NNode newNode() {
return new NLocal();
}
+
+ @Override
+ @Nonnull
+ public Class<NLocal> getNNodeClass() {
+ return NLocal.class;
+ }
+
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NLocal.skipContent(reader);
+ }
},
LOCAL_REF("local-ref") {
@Nonnull
@@ -652,6 +1414,17 @@
public NNode newNode() {
return new NLocalRef();
}
+
+ @Override
+ @Nonnull
+ public Class<NLocalRef> getNNodeClass() {
+ return NLocalRef.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NLocalRef.skipContent(reader);
+ }
},
LOCK("lock") {
@Nonnull
@@ -659,6 +1432,17 @@
public NNode newNode() {
return new NLock();
}
+
+ @Override
+ @Nonnull
+ public Class<NLock> getNNodeClass() {
+ return NLock.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NLock.skipContent(reader);
+ }
},
LONG_LITERAL("long", NodeLevel.STRUCTURE) {
@Nonnull
@@ -666,6 +1450,17 @@
public NNode newNode() {
return new NLongLiteral();
}
+
+ @Override
+ @Nonnull
+ public Class<NLongLiteral> getNNodeClass() {
+ return NLongLiteral.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NLongLiteral.skipContent(reader);
+ }
},
LTE_OPERATION("<=") {
@Nonnull
@@ -673,6 +1468,18 @@
public NNode newNode() {
return new NLteOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NLteOperation> getNNodeClass() {
+ return NLteOperation.class;
+ }
+
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NLteOperation.skipContent(reader);
+ }
},
LT_OPERATION("<") {
@Nonnull
@@ -680,6 +1487,17 @@
public NNode newNode() {
return new NLtOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NLtOperation> getNNodeClass() {
+ return NLtOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NLtOperation.skipContent(reader);
+ }
},
METHOD("method", NodeLevel.STRUCTURE) {
@Nonnull
@@ -687,6 +1505,17 @@
public NNode newNode() {
return new NMethod();
}
+
+ @Override
+ @Nonnull
+ public Class<NMethod> getNNodeClass() {
+ return NMethod.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NMethod.skipContent(reader);
+ }
},
METHOD_BODY("body") {
@Nonnull
@@ -694,6 +1523,17 @@
public NNode newNode() {
return new NMethodBody();
}
+
+ @Override
+ @Nonnull
+ public Class<NMethodBody> getNNodeClass() {
+ return NMethodBody.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NMethodBody.skipContent(reader);
+ }
},
METHOD_CALL("call") {
@Nonnull
@@ -701,6 +1541,17 @@
public NNode newNode() {
return new NMethodCall();
}
+
+ @Override
+ @Nonnull
+ public Class<NMethodCall> getNNodeClass() {
+ return NMethodCall.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NMethodCall.skipContent(reader);
+ }
},
METHODID_WITH_RETURN_TYPE("method-id-with-return-type", NodeLevel.STRUCTURE) {
@Nonnull
@@ -708,6 +1559,17 @@
public NNode newNode() {
return new NMethodId();
}
+
+ @Override
+ @Nonnull
+ public Class<NMethodId> getNNodeClass() {
+ return NMethodId.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NMethodId.skipContent(reader);
+ }
},
METHOD_LITERAL("method-literal", NodeLevel.STRUCTURE) {
@Nonnull
@@ -715,6 +1577,17 @@
public NNode newNode() {
return new NMethodLiteral();
}
+
+ @Override
+ @Nonnull
+ public Class<NMethodLiteral> getNNodeClass() {
+ return NMethodLiteral.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NMethodLiteral.skipContent(reader);
+ }
},
MOD_OPERATION("%") {
@Nonnull
@@ -722,6 +1595,17 @@
public NNode newNode() {
return new NModOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NModOperation> getNNodeClass() {
+ return NModOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NModOperation.skipContent(reader);
+ }
},
MUL_OPERATION("*") {
@Nonnull
@@ -729,6 +1613,17 @@
public NNode newNode() {
return new NMulOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NMulOperation> getNNodeClass() {
+ return NMulOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NMulOperation.skipContent(reader);
+ }
},
MULTI_EXPRESSION("multi-expression") {
@Nonnull
@@ -736,6 +1631,17 @@
public NNode newNode() {
return new NMultiExpression();
}
+
+ @Override
+ @Nonnull
+ public Class<NMultiExpression> getNNodeClass() {
+ return NMultiExpression.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NMultiExpression.skipContent(reader);
+ }
},
NAME_VALUE_PAIR("name-value-pair", NodeLevel.STRUCTURE) {
@Nonnull
@@ -743,6 +1649,17 @@
public NNode newNode() {
return new NNameValuePair();
}
+
+ @Override
+ @Nonnull
+ public Class<NNameValuePair> getNNodeClass() {
+ return NNameValuePair.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NNameValuePair.skipContent(reader);
+ }
},
NEQ_OPERATION("!=") {
@Nonnull
@@ -750,6 +1667,17 @@
public NNode newNode() {
return new NNeqOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NNeqOperation> getNNodeClass() {
+ return NNeqOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NNeqOperation.skipContent(reader);
+ }
},
NATIVE_METHOD_BODY("native-body") {
@Nonnull
@@ -757,6 +1685,17 @@
public NNode newNode() {
return new NNativeMethodBody();
}
+
+ @Override
+ @Nonnull
+ public Class<NNativeMethodBody> getNNodeClass() {
+ return NNativeMethodBody.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) {
+ NNativeMethodBody.skipContent(reader);
+ }
},
NEW_ARRAY("new-array") {
@Nonnull
@@ -764,6 +1703,17 @@
public NNode newNode() {
return new NNewArray();
}
+
+ @Override
+ @Nonnull
+ public Class<NNewArray> getNNodeClass() {
+ return NNewArray.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NNewArray.skipContent(reader);
+ }
},
NEW_INSTANCE("new") {
@Nonnull
@@ -771,6 +1721,17 @@
public NNode newNode() {
return new NNewInstance();
}
+
+ @Override
+ @Nonnull
+ public Class<NNewInstance> getNNodeClass() {
+ return NNewInstance.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NNewInstance.skipContent(reader);
+ }
},
NULL_LITERAL("null-literal", NodeLevel.STRUCTURE) {
@Nonnull
@@ -778,6 +1739,17 @@
public NNode newNode() {
return new NNullLiteral();
}
+
+ @Override
+ @Nonnull
+ public Class<NNullLiteral> getNNodeClass() {
+ return NNullLiteral.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) {
+ NNullLiteral.skipContent(reader);
+ }
},
OR_OPERATION("||") {
@Override
@@ -785,6 +1757,17 @@
public NNode newNode() {
return new NOrOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NOrOperation> getNNodeClass() {
+ return NOrOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NOrOperation.skipContent(reader);
+ }
},
ORIGIN_DIGEST("origin-digest", NodeLevel.STRUCTURE) {
@Override
@@ -792,6 +1775,17 @@
public NNode newNode() {
return new NOriginDigest();
}
+
+ @Override
+ @Nonnull
+ public Class<NOriginDigest> getNNodeClass() {
+ return NOriginDigest.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NOriginDigest.skipContent(reader);
+ }
},
PARAMETER("parameter", NodeLevel.STRUCTURE) {
@Nonnull
@@ -799,6 +1793,17 @@
public NNode newNode() {
return new NParameter();
}
+
+ @Override
+ @Nonnull
+ public Class<NParameter> getNNodeClass() {
+ return NParameter.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NParameter.skipContent(reader);
+ }
},
PARAMETER_REF("parameter-ref") {
@Nonnull
@@ -806,6 +1811,17 @@
public NNode newNode() {
return new NParameterRef();
}
+
+ @Override
+ @Nonnull
+ public Class<NParameterRef> getNNodeClass() {
+ return NParameterRef.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NParameterRef.skipContent(reader);
+ }
},
POLYMORPHIC_CALL("polymorphic-call") {
@Nonnull
@@ -813,6 +1829,17 @@
public NNode newNode() {
return new NPolymorphicCall();
}
+
+ @Override
+ @Nonnull
+ public Class<NPolymorphicCall> getNNodeClass() {
+ return NPolymorphicCall.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NPolymorphicCall.skipContent(reader);
+ }
},
POSTFIX_DEC_OPERATION("postfix-dec") {
@Nonnull
@@ -820,6 +1847,17 @@
public NNode newNode() {
return new NPostfixDecOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NPostfixDecOperation> getNNodeClass() {
+ return NPostfixDecOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NPostfixDecOperation.skipContent(reader);
+ }
},
POSTFIX_INC_OPERATION("postfix-inc") {
@Nonnull
@@ -827,6 +1865,17 @@
public NNode newNode() {
return new NPostfixIncOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NPostfixIncOperation> getNNodeClass() {
+ return NPostfixIncOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NPostfixIncOperation.skipContent(reader);
+ }
},
PREFIX_BIT_NOT_OPERATION("~") {
@Nonnull
@@ -834,6 +1883,17 @@
public NNode newNode() {
return new NPrefixBitNotOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NPrefixBitNotOperation> getNNodeClass() {
+ return NPrefixBitNotOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NPrefixBitNotOperation.skipContent(reader);
+ }
},
PREFIX_DEC_OPERATION("prefix-dec") {
@Nonnull
@@ -841,6 +1901,17 @@
public NNode newNode() {
return new NPrefixDecOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NPrefixDecOperation> getNNodeClass() {
+ return NPrefixDecOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NPrefixDecOperation.skipContent(reader);
+ }
},
PREFIX_INC_OPERATION("prefix-inc") {
@Nonnull
@@ -848,6 +1919,17 @@
public NNode newNode() {
return new NPrefixIncOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NPrefixIncOperation> getNNodeClass() {
+ return NPrefixIncOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NPrefixIncOperation.skipContent(reader);
+ }
},
PREFIX_NEG_OPERATION("neg") {
@Nonnull
@@ -855,6 +1937,17 @@
public NNode newNode() {
return new NPrefixNegOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NPrefixNegOperation> getNNodeClass() {
+ return NPrefixNegOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NPrefixNegOperation.skipContent(reader);
+ }
},
PREFIX_NOT_OPERATION("not") {
@Nonnull
@@ -862,20 +1955,36 @@
public NNode newNode() {
return new NPrefixNotOperation();
}
- },
- RESERVED("reserved") {
- @Nonnull
+
@Override
- public NNode newNode() {
- throw new JayceFormatException("Unexpected node '" + toString() + "'");
+ @Nonnull
+ public Class<NPrefixNotOperation> getNNodeClass() {
+ return NPrefixNotOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NPrefixNotOperation.skipContent(reader);
}
},
+ RESERVED("reserved"),
REINTERPRETCAST_OPERATION("reinterpret-cast") {
@Override
@Nonnull
public NNode newNode() {
return new NReinterpretCastOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NReinterpretCastOperation> getNNodeClass() {
+ return NReinterpretCastOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NReinterpretCastOperation.skipContent(reader);
+ }
},
RETURN_STATEMENT("return") {
@Nonnull
@@ -883,6 +1992,17 @@
public NNode newNode() {
return new NReturnStatement();
}
+
+ @Override
+ @Nonnull
+ public Class<NReturnStatement> getNNodeClass() {
+ return NReturnStatement.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NReturnStatement.skipContent(reader);
+ }
},
SHL_OPERATION("<<") {
@Nonnull
@@ -890,6 +2010,17 @@
public NNode newNode() {
return new NShlOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NShlOperation> getNNodeClass() {
+ return NShlOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NShlOperation.skipContent(reader);
+ }
},
SHORT_LITERAL("short", NodeLevel.STRUCTURE) {
@Nonnull
@@ -897,6 +2028,17 @@
public NNode newNode() {
return new NShortLiteral();
}
+
+ @Override
+ @Nonnull
+ public Class<NShortLiteral> getNNodeClass() {
+ return NShortLiteral.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NShortLiteral.skipContent(reader);
+ }
},
SHR_OPERATION(">>") {
@Nonnull
@@ -904,6 +2046,17 @@
public NNode newNode() {
return new NShrOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NShrOperation> getNNodeClass() {
+ return NShrOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NShrOperation.skipContent(reader);
+ }
},
SHRU_OPERATION(">>>") {
@Nonnull
@@ -911,6 +2064,17 @@
public NNode newNode() {
return new NShruOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NShruOperation> getNNodeClass() {
+ return NShruOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NShruOperation.skipContent(reader);
+ }
},
SIMPLE_NAME("simple-name", NodeLevel.TYPES) {
@Override
@@ -918,6 +2082,17 @@
public NNode newNode() {
return new NSimpleName();
}
+
+ @Override
+ @Nonnull
+ public Class<NSimpleName> getNNodeClass() {
+ return NSimpleName.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NSimpleName.skipContent(reader);
+ }
},
SUB_OPERATION("-") {
@Nonnull
@@ -925,6 +2100,17 @@
public NNode newNode() {
return new NSubOperation();
}
+
+ @Override
+ @Nonnull
+ public Class<NSubOperation> getNNodeClass() {
+ return NSubOperation.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NSubOperation.skipContent(reader);
+ }
},
STRING_LITERAL("string", NodeLevel.STRUCTURE) {
@Nonnull
@@ -932,6 +2118,18 @@
public NNode newNode() {
return new NStringLiteral();
}
+
+ @Override
+ @Nonnull
+ public Class<NStringLiteral> getNNodeClass() {
+ return NStringLiteral.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NStringLiteral.skipContent(reader);
+ }
+
},
SWITCH_STATEMENT("switch") {
@Nonnull
@@ -939,6 +2137,17 @@
public NNode newNode() {
return new NSwitchStatement();
}
+
+ @Override
+ @Nonnull
+ public Class<NSwitchStatement> getNNodeClass() {
+ return NSwitchStatement.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NSwitchStatement.skipContent(reader);
+ }
},
SYNCHRONIZED_BLOCK("synchronized-block") {
@Nonnull
@@ -946,6 +2155,17 @@
public NNode newNode() {
return new NSynchronizedBlock();
}
+
+ @Override
+ @Nonnull
+ public Class<NSynchronizedBlock> getNNodeClass() {
+ return NSynchronizedBlock.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NSynchronizedBlock.skipContent(reader);
+ }
},
THIS_REF("this") {
@Nonnull
@@ -953,13 +2173,35 @@
public NNode newNode() {
return new NThisRef();
}
+
+ @Override
+ @Nonnull
+ public Class<NThisRef> getNNodeClass() {
+ return NThisRef.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NThisRef.skipContent(reader);
+ }
},
- THIS_REF_TYPE_INFO("this-type-info") {
+ THIS_REF_TYPE_INFO("this-type-info", NodeLevel.STRUCTURE) {
@Nonnull
@Override
public NNode newNode() {
return new NThisRefTypeInfo();
}
+
+ @Override
+ @Nonnull
+ public Class<NThisRefTypeInfo> getNNodeClass() {
+ return NThisRefTypeInfo.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NThisRefTypeInfo.skipContent(reader);
+ }
},
THROW_STATEMENT("throw") {
@Nonnull
@@ -967,6 +2209,17 @@
public NNode newNode() {
return new NThrowStatement();
}
+
+ @Override
+ @Nonnull
+ public Class<NThrowStatement> getNNodeClass() {
+ return NThrowStatement.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NThrowStatement.skipContent(reader);
+ }
},
THROWN_EXCEPTION("thrown-exception", NodeLevel.STRUCTURE) {
@Override
@@ -974,6 +2227,17 @@
public NNode newNode() {
return new NThrownExceptionMarker();
}
+
+ @Override
+ @Nonnull
+ public Class<NThrownExceptionMarker> getNNodeClass() {
+ return NThrownExceptionMarker.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NThrownExceptionMarker.skipContent(reader);
+ }
},
TRY_STATEMENT("try") {
@Nonnull
@@ -981,6 +2245,17 @@
public NNode newNode() {
return new NTryStatement();
}
+
+ @Override
+ @Nonnull
+ public Class<NTryStatement> getNNodeClass() {
+ return NTryStatement.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NTryStatement.skipContent(reader);
+ }
},
UNLOCK("unlock") {
@Nonnull
@@ -988,6 +2263,17 @@
public NNode newNode() {
return new NUnlock();
}
+
+ @Override
+ @Nonnull
+ public Class<NUnlock> getNNodeClass() {
+ return NUnlock.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NUnlock.skipContent(reader);
+ }
},
WHILE_STATEMENT("while") {
@Nonnull
@@ -995,6 +2281,17 @@
public NNode newNode() {
return new NWhileStatement();
}
+
+ @Override
+ @Nonnull
+ public Class<NWhileStatement> getNNodeClass() {
+ return NWhileStatement.class;
+ }
+
+ @Override
+ public void skip(@Nonnull JayceInternalReaderImpl reader) throws IOException {
+ NWhileStatement.skipContent(reader);
+ }
},
;
@@ -1004,12 +2301,21 @@
@CheckForNull
private String label;
+ private final boolean hasSourceInfo;
+
private Token(@CheckForNull String text) {
this(text, NodeLevel.FULL);
}
private Token(@CheckForNull String text, NodeLevel nodeLevel) {
this.label = text;
this.nodeLevel = nodeLevel;
+ boolean tmpHasSourceInfo;
+ try {
+ tmpHasSourceInfo = HasSourceInfo.class.isAssignableFrom(getNNodeClass());
+ } catch (InvalidTokenException e) {
+ tmpHasSourceInfo = false;
+ }
+ hasSourceInfo = tmpHasSourceInfo;
}
public int getId() {
@@ -1023,6 +2329,21 @@
@Nonnull
public NNode newNode() throws InvalidTokenException {
+ throw new InvalidTokenException("No node corresponding to token " + this.toString());
+ }
+
+ @Nonnull
+ public Class<? extends NNode> getNNodeClass() throws InvalidTokenException {
+ throw new InvalidTokenException("No node corresponding to token " + this.toString());
+ }
+
+ public final boolean hasSourceInfo() {
+ return hasSourceInfo;
+ }
+
+ @SuppressWarnings("unused")
+ public void skip(@Nonnull JayceInternalReaderImpl reader)
+ throws InvalidTokenException, IOException {
throw new InvalidTokenException("No node coresponding to token " + this.toString());
}
diff --git a/jack/src/com/android/jack/jayce/v0004/io/Tokenizer.java b/jack/src/com/android/jack/jayce/v0004/io/Tokenizer.java
index 05e170b..66a510b 100644
--- a/jack/src/com/android/jack/jayce/v0004/io/Tokenizer.java
+++ b/jack/src/com/android/jack/jayce/v0004/io/Tokenizer.java
@@ -72,50 +72,97 @@
return in.readInt();
}
+ public void skipInt() throws IOException {
+ currentTokenId = Token.NUMBER_VALUE;
+ in.skipInt();
+ }
+
public byte readByte() throws IOException {
currentTokenId = Token.NUMBER_VALUE;
return in.readByte();
}
+ public void skipByte() throws IOException {
+ currentTokenId = Token.NUMBER_VALUE;
+ in.skipByte();
+ }
+
public boolean readBoolean() throws IOException {
return in.readBoolean();
}
+ public void skipBoolean() throws IOException {
+ in.skipBoolean();
+ }
+
public long readLong() throws IOException {
currentTokenId = Token.NUMBER_VALUE;
return in.readLong();
}
+ public void skipLong() throws IOException {
+ currentTokenId = Token.NUMBER_VALUE;
+ in.skipLong();
+ }
+
public short readShort() throws IOException {
currentTokenId = Token.NUMBER_VALUE;
return in.readShort();
}
+ public void skipShort() throws IOException {
+ currentTokenId = Token.NUMBER_VALUE;
+ in.skipShort();
+ }
+
public char readChar() throws IOException {
currentTokenId = Token.NUMBER_VALUE;
return in.readChar();
}
+ public void skipChar() throws IOException {
+ currentTokenId = Token.NUMBER_VALUE;
+ in.skipChar();
+ }
+
public float readFloat() throws IOException {
currentTokenId = Token.NUMBER_VALUE;
return Float.intBitsToFloat(readInt());
}
+ public void skipFloat() throws IOException {
+ currentTokenId = Token.NUMBER_VALUE;
+ in.skipInt();
+ }
+
public double readDouble() throws IOException {
currentTokenId = Token.NUMBER_VALUE;
return Double.longBitsToDouble(readLong());
}
+ public void skipDouble() throws IOException {
+ currentTokenId = Token.NUMBER_VALUE;
+ in.skipLong();
+ }
+
@CheckForNull
public String readString() throws IOException {
return in.readUTF();
}
+ public void skipString() throws IOException {
+ in.skipUTF();
+ }
+
@CheckForNull
public byte[] readBuffer() throws IOException {
return in.readBuffer();
}
+ public void skipBuffer() throws IOException {
+ in.skipBuffer();
+ }
+
private void readToken(@Nonnull Token expected) throws IOException {
next();
if (currentTokenId != expected) {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NAbsentArrayDimension.java b/jack/src/com/android/jack/jayce/v0004/nodes/NAbsentArrayDimension.java
index 7db047c..d7694cb 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NAbsentArrayDimension.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NAbsentArrayDimension.java
@@ -58,6 +58,10 @@
public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
}
+ @SuppressWarnings("unused")
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NAddOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NAddOperation.java
index 425bba3..b030c0f 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NAddOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NAddOperation.java
@@ -76,6 +76,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NAlloc.java b/jack/src/com/android/jack/jayce/v0004/nodes/NAlloc.java
index 012aa0f..4c4edfd 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NAlloc.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NAlloc.java
@@ -67,6 +67,10 @@
instanceType = in.readId();
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipId();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NAndOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NAndOperation.java
index ea30700..85bf84e 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NAndOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NAndOperation.java
@@ -76,6 +76,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NAnnotation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NAnnotation.java
index b1c6328..aef2425 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NAnnotation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NAnnotation.java
@@ -101,6 +101,13 @@
markers = in.readNodes(NMarker.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipRetentionPolicyEnum();
+ in.skipId();
+ in.skipNodes();
+ in.skipNodes();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NAnnotationMethod.java b/jack/src/com/android/jack/jayce/v0004/nodes/NAnnotationMethod.java
index 1fd3113..1a033ef 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NAnnotationMethod.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NAnnotationMethod.java
@@ -123,6 +123,15 @@
markers = in.readNodes(NMarker.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipId();
+ in.skipId();
+ in.skipInt();
+ in.skipNodes();
+ in.skipNode();
+ in.skipNodes();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NAnnotationType.java b/jack/src/com/android/jack/jayce/v0004/nodes/NAnnotationType.java
index 116bed3..bed6f8c 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NAnnotationType.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NAnnotationType.java
@@ -152,6 +152,22 @@
}
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ NodeLevel level = in.getNodeLevel();
+ in.skipRetentionPolicyEnum();
+ in.skipInt();
+ in.skipId();
+ if (level != NodeLevel.TYPES) {
+ in.skipIds();
+ in.skipId();
+ in.skipIds();
+ in.skipNodes();
+ in.skipNodes();
+ in.skipNodes();
+ in.skipNodes();
+ }
+ }
+
@Nonnull
@Override
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NArrayLength.java b/jack/src/com/android/jack/jayce/v0004/nodes/NArrayLength.java
index dc54cb6..223b9c9 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NArrayLength.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NArrayLength.java
@@ -70,6 +70,10 @@
instance = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NArrayLiteral.java b/jack/src/com/android/jack/jayce/v0004/nodes/NArrayLiteral.java
index f501add..3a72b9c 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NArrayLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NArrayLiteral.java
@@ -74,6 +74,10 @@
values = in.readNodes(NLiteral.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNodes();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NArrayRef.java b/jack/src/com/android/jack/jayce/v0004/nodes/NArrayRef.java
index 31183f6..3388d63 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NArrayRef.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NArrayRef.java
@@ -78,6 +78,11 @@
index = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgAddOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgAddOperation.java
index 09def26..23cc134 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgAddOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgAddOperation.java
@@ -76,6 +76,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgBitAndOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgBitAndOperation.java
index de764be..8859a8b 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgBitAndOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgBitAndOperation.java
@@ -76,6 +76,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgBitOrOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgBitOrOperation.java
index fc29f33..ae27f55 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgBitOrOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgBitOrOperation.java
@@ -76,6 +76,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgBitXorOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgBitXorOperation.java
index 696cee5..6af8985 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgBitXorOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgBitXorOperation.java
@@ -76,6 +76,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgConcatOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgConcatOperation.java
index d62176f..ebf8e24 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgConcatOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgConcatOperation.java
@@ -76,6 +76,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgDivOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgDivOperation.java
index b0bc219..22fbcaf 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgDivOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgDivOperation.java
@@ -76,6 +76,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgModOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgModOperation.java
index 14431fd..f980005 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgModOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgModOperation.java
@@ -75,6 +75,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgMulOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgMulOperation.java
index 5301fea..f6cbbb2 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgMulOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgMulOperation.java
@@ -75,6 +75,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgOperation.java
index af72b4b..e5f1b12 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgOperation.java
@@ -75,6 +75,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgShlOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgShlOperation.java
index 9ae3860..dee5fb8 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgShlOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgShlOperation.java
@@ -75,6 +75,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgShrOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgShrOperation.java
index 317ce2b..b3f7eaa 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgShrOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgShrOperation.java
@@ -75,6 +75,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgShruOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgShruOperation.java
index 7185899..bba5720 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgShruOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgShruOperation.java
@@ -75,6 +75,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgSubOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgSubOperation.java
index 29abd39..e309a62 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NAsgSubOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NAsgSubOperation.java
@@ -75,6 +75,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NAssertStatement.java b/jack/src/com/android/jack/jayce/v0004/nodes/NAssertStatement.java
index 6be2deb..156943d 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NAssertStatement.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NAssertStatement.java
@@ -92,6 +92,11 @@
arg = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.readNode(NExpression.class);
+ in.readNode(NExpression.class);
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NBitAndOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NBitAndOperation.java
index f863a65..d440903 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NBitAndOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NBitAndOperation.java
@@ -76,6 +76,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NBitOrOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NBitOrOperation.java
index 705fb11..8aef5a1 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NBitOrOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NBitOrOperation.java
@@ -75,6 +75,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NBitXorOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NBitXorOperation.java
index 34e2d4e..91d1a9f 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NBitXorOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NBitXorOperation.java
@@ -75,6 +75,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NBlock.java b/jack/src/com/android/jack/jayce/v0004/nodes/NBlock.java
index 1346104..f338a47 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NBlock.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NBlock.java
@@ -80,6 +80,10 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNodes();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NBooleanLiteral.java b/jack/src/com/android/jack/jayce/v0004/nodes/NBooleanLiteral.java
index 75d9ac9..f9206da 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NBooleanLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NBooleanLiteral.java
@@ -63,6 +63,10 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipBoolean();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NBreakStatement.java b/jack/src/com/android/jack/jayce/v0004/nodes/NBreakStatement.java
index b46667c..527a955 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NBreakStatement.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NBreakStatement.java
@@ -75,6 +75,10 @@
label = in.readString();
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipString();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NByteLiteral.java b/jack/src/com/android/jack/jayce/v0004/nodes/NByteLiteral.java
index 2e3ef7f..945e419 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NByteLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NByteLiteral.java
@@ -64,6 +64,10 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipByte();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NCaseStatement.java b/jack/src/com/android/jack/jayce/v0004/nodes/NCaseStatement.java
index 3af72a0..8556f83 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NCaseStatement.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NCaseStatement.java
@@ -88,6 +88,11 @@
expr = in.readNode(NLiteral.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipId();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NCatchBlock.java b/jack/src/com/android/jack/jayce/v0004/nodes/NCatchBlock.java
index 3083355..688ebb4 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NCatchBlock.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NCatchBlock.java
@@ -114,6 +114,13 @@
statements = in.readNodes(NStatement.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipId();
+ in.skipIds();
+ in.skipNode();
+ in.skipNodes();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NCharLiteral.java b/jack/src/com/android/jack/jayce/v0004/nodes/NCharLiteral.java
index f85b784..a859a57 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NCharLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NCharLiteral.java
@@ -63,6 +63,10 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipChar();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NClassLiteral.java b/jack/src/com/android/jack/jayce/v0004/nodes/NClassLiteral.java
index 22c545c..679c0ef 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NClassLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NClassLiteral.java
@@ -70,6 +70,10 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipId();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NClassType.java b/jack/src/com/android/jack/jayce/v0004/nodes/NClassType.java
index b52fdb7..4e962fa 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NClassType.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NClassType.java
@@ -216,6 +216,24 @@
}
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ NodeLevel nodeLevel = in.getNodeLevel();
+ in.skipInt();
+ in.skipId();
+ if (nodeLevel != NodeLevel.TYPES) {
+ in.skipId();
+ in.skipIds();
+ in.skipId();
+ in.skipId();
+ in.skipId();
+ in.skipIds();
+ in.skipNodes();
+ in.skipNodes();
+ in.skipNodes();
+ in.skipNodes();
+ }
+ }
+
@Nonnull
@Override
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NConcatOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NConcatOperation.java
index 786fe03..7541a76 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NConcatOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NConcatOperation.java
@@ -78,6 +78,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NConditionalExpression.java b/jack/src/com/android/jack/jayce/v0004/nodes/NConditionalExpression.java
index ce33747..7faf691 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NConditionalExpression.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NConditionalExpression.java
@@ -88,6 +88,12 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NConstructor.java b/jack/src/com/android/jack/jayce/v0004/nodes/NConstructor.java
index 0580754..99e6f3b 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NConstructor.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NConstructor.java
@@ -107,6 +107,14 @@
markers = in.readNodes(NMarker.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNodes();
+ in.skipInt();
+ in.skipNodes();
+ in.skipNode();
+ in.skipNodes();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NContainerAnnotation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NContainerAnnotation.java
index 9312b54..58f5db0 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NContainerAnnotation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NContainerAnnotation.java
@@ -72,6 +72,11 @@
annotationTypeSig = in.readId();
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipRetentionPolicyEnum();
+ in.skipId();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NContinueStatement.java b/jack/src/com/android/jack/jayce/v0004/nodes/NContinueStatement.java
index 6bfcc87..a059e63 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NContinueStatement.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NContinueStatement.java
@@ -77,6 +77,10 @@
label = in.readString();
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipString();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NDebugVariableInfo.java b/jack/src/com/android/jack/jayce/v0004/nodes/NDebugVariableInfo.java
index 6c9b205..e26dc30 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NDebugVariableInfo.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NDebugVariableInfo.java
@@ -81,6 +81,12 @@
genericSignature = in.readString();
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipString();
+ in.skipId();
+ in.skipString();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NDivOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NDivOperation.java
index 0e0ae0c..7838b04 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NDivOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NDivOperation.java
@@ -75,6 +75,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NDoStatement.java b/jack/src/com/android/jack/jayce/v0004/nodes/NDoStatement.java
index c4bd69e..20b05fb 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NDoStatement.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NDoStatement.java
@@ -87,6 +87,11 @@
body = in.readNode(NStatement.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NDoubleLiteral.java b/jack/src/com/android/jack/jayce/v0004/nodes/NDoubleLiteral.java
index 6bd87ab..41fdf72 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NDoubleLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NDoubleLiteral.java
@@ -64,6 +64,10 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipDouble();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NDynamicCastOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NDynamicCastOperation.java
index 30ea886..3f1b3eb 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NDynamicCastOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NDynamicCastOperation.java
@@ -85,6 +85,11 @@
expr = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipIds();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NEnumField.java b/jack/src/com/android/jack/jayce/v0004/nodes/NEnumField.java
index e8a16ec..3083446 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NEnumField.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NEnumField.java
@@ -114,6 +114,16 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipInt();
+ in.skipId();
+ in.skipId();
+ in.skipNode();
+ in.skipInt();
+ in.skipNodes();
+ in.skipNodes();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NEnumLiteral.java b/jack/src/com/android/jack/jayce/v0004/nodes/NEnumLiteral.java
index bb57bf0..1af3fee 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NEnumLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NEnumLiteral.java
@@ -84,6 +84,11 @@
enumFieldName = in.readId();
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipId();
+ in.skipId();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NEnumType.java b/jack/src/com/android/jack/jayce/v0004/nodes/NEnumType.java
index d2ff72c..149ccd2 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NEnumType.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NEnumType.java
@@ -174,6 +174,24 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ NodeLevel nodeLevel = in.getNodeLevel();
+ in.skipInt();
+ in.skipId();
+ if (nodeLevel != NodeLevel.TYPES) {
+ in.skipId();
+ in.skipIds();
+ in.skipId();
+ in.skipId();
+ in.skipId();
+ in.skipIds();
+ in.skipNodes();
+ in.skipNodes();
+ in.skipNodes();
+ in.skipNodes();
+ }
+ }
+
@Nonnull
@Override
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NEqOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NEqOperation.java
index b324435..bd38f9e 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NEqOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NEqOperation.java
@@ -75,6 +75,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NExceptionRuntimeValue.java b/jack/src/com/android/jack/jayce/v0004/nodes/NExceptionRuntimeValue.java
index 75c7ccc..5f8e340 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NExceptionRuntimeValue.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NExceptionRuntimeValue.java
@@ -67,6 +67,10 @@
catchedType = in.readId();
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipId();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NExpressionStatement.java b/jack/src/com/android/jack/jayce/v0004/nodes/NExpressionStatement.java
index 01e3dac..bba18f3 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NExpressionStatement.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NExpressionStatement.java
@@ -81,6 +81,10 @@
expression = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NField.java b/jack/src/com/android/jack/jayce/v0004/nodes/NField.java
index 174a6bb..dfb2f15 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NField.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NField.java
@@ -142,6 +142,15 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipInt();
+ in.skipId();
+ in.skipId();
+ in.skipNode();
+ in.skipNodes();
+ in.skipNodes();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NFieldInitializer.java b/jack/src/com/android/jack/jayce/v0004/nodes/NFieldInitializer.java
index 539f6d1..aedae4f 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NFieldInitializer.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NFieldInitializer.java
@@ -59,6 +59,11 @@
throw new UnsupportedOperationException();
}
+ @SuppressWarnings("unused")
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) {
+ throw new UnsupportedOperationException();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NFieldRef.java b/jack/src/com/android/jack/jayce/v0004/nodes/NFieldRef.java
index 9009afc..2f3f472 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NFieldRef.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NFieldRef.java
@@ -105,6 +105,14 @@
instance = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipId();
+ in.skipId();
+ in.readId();
+ in.skipFieldRefKindEnum();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NFloatLiteral.java b/jack/src/com/android/jack/jayce/v0004/nodes/NFloatLiteral.java
index f2cb5a0..dc354d9 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NFloatLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NFloatLiteral.java
@@ -64,6 +64,10 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipFloat();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NForStatement.java b/jack/src/com/android/jack/jayce/v0004/nodes/NForStatement.java
index c746c7c..e0b8b65 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NForStatement.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NForStatement.java
@@ -116,6 +116,13 @@
body = in.readNode(NStatement.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNodes();
+ in.skipNode();
+ in.skipNodes();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NGenericSignature.java b/jack/src/com/android/jack/jayce/v0004/nodes/NGenericSignature.java
index a352bd8..ebcfec6 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NGenericSignature.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NGenericSignature.java
@@ -62,6 +62,10 @@
genericSignature = in.readString();
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipString();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NGoto.java b/jack/src/com/android/jack/jayce/v0004/nodes/NGoto.java
index 8845cf1..1854584 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NGoto.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NGoto.java
@@ -78,6 +78,10 @@
target = in.readId();
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipId();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NGtOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NGtOperation.java
index 0baeb71..fb61d28 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NGtOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NGtOperation.java
@@ -75,6 +75,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NGteOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NGteOperation.java
index 45d1848..875dcb9 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NGteOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NGteOperation.java
@@ -76,6 +76,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NIfStatement.java b/jack/src/com/android/jack/jayce/v0004/nodes/NIfStatement.java
index 9e701c4..769fcef 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NIfStatement.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NIfStatement.java
@@ -98,6 +98,12 @@
elseStatement = in.readNode(NStatement.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NInstanceOf.java b/jack/src/com/android/jack/jayce/v0004/nodes/NInstanceOf.java
index 07134d3..70b3824 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NInstanceOf.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NInstanceOf.java
@@ -79,6 +79,11 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipId();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NIntLiteral.java b/jack/src/com/android/jack/jayce/v0004/nodes/NIntLiteral.java
index a15f270..acbda0b 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NIntLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NIntLiteral.java
@@ -63,6 +63,10 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipInt();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NInterfaceType.java b/jack/src/com/android/jack/jayce/v0004/nodes/NInterfaceType.java
index 721e086..e779bd8 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NInterfaceType.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NInterfaceType.java
@@ -166,6 +166,21 @@
}
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ NodeLevel nodeLevel = in.getNodeLevel();
+ in.skipInt();
+ in.skipId();
+ if (nodeLevel != NodeLevel.TYPES) {
+ in.skipIds();
+ in.skipId();
+ in.skipIds();
+ in.skipNodes();
+ in.skipNodes();
+ in.skipNodes();
+ in.skipNodes();
+ }
+ }
+
@Nonnull
@Override
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NLabeledStatement.java b/jack/src/com/android/jack/jayce/v0004/nodes/NLabeledStatement.java
index a462c24..c605aaf 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NLabeledStatement.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NLabeledStatement.java
@@ -97,6 +97,12 @@
body = in.readNode(NStatement.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipString();
+ in.skipId();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NLambda.java b/jack/src/com/android/jack/jayce/v0004/nodes/NLambda.java
index 4684f08..818bbf7 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NLambda.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NLambda.java
@@ -213,6 +213,22 @@
markers = in.readNodes(NMarker.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNodes();
+ in.skipReceiverKindEnum();
+ in.skipId();
+ in.skipId();
+ in.skipIds();
+ in.skipMethodKindEnum();
+ in.skipId();
+ in.skipId();
+ in.skipIds();
+ in.skipNode();
+ in.skipNode();
+ in.skipNodes();
+ in.skipNodes();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NLambdaFromJill.java b/jack/src/com/android/jack/jayce/v0004/nodes/NLambdaFromJill.java
index 00ad245..3cbf53f 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NLambdaFromJill.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NLambdaFromJill.java
@@ -53,6 +53,10 @@
public void readContent(@Nonnull JayceInternalReaderImpl in) {
}
+ @SuppressWarnings("unused")
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) {
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NLocal.java b/jack/src/com/android/jack/jayce/v0004/nodes/NLocal.java
index e435df2..bf7a9d8 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NLocal.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NLocal.java
@@ -113,6 +113,15 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipId();
+ in.skipInt();
+ in.skipId();
+ in.skipId();
+ in.skipNodes();
+ in.skipNodes();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NLocalRef.java b/jack/src/com/android/jack/jayce/v0004/nodes/NLocalRef.java
index 3dbbe6d..cd91aa7 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NLocalRef.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NLocalRef.java
@@ -86,6 +86,11 @@
markers = in.readNodes(NMarker.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipId();
+ in.skipNodes();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NLock.java b/jack/src/com/android/jack/jayce/v0004/nodes/NLock.java
index 6a5bffe..78a35c9 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NLock.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NLock.java
@@ -80,6 +80,10 @@
lockExpr = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NLongLiteral.java b/jack/src/com/android/jack/jayce/v0004/nodes/NLongLiteral.java
index 420b639..c102938 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NLongLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NLongLiteral.java
@@ -63,6 +63,10 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipLong();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NLtOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NLtOperation.java
index 2372e7b..e49d635 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NLtOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NLtOperation.java
@@ -75,6 +75,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NLteOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NLteOperation.java
index 3d0b362..36b29eb 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NLteOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NLteOperation.java
@@ -75,6 +75,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NMethod.java b/jack/src/com/android/jack/jayce/v0004/nodes/NMethod.java
index dccf59b..044052e 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NMethod.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NMethod.java
@@ -196,6 +196,17 @@
markers = in.readNodes(NMarker.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipId();
+ in.skipId();
+ in.skipNodes();
+ in.skipMethodKindEnum();
+ in.skipInt();
+ in.skipNodes();
+ in.skipNode();
+ in.skipNodes();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NMethodBody.java b/jack/src/com/android/jack/jayce/v0004/nodes/NMethodBody.java
index 251efc5..f633bab 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NMethodBody.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NMethodBody.java
@@ -81,6 +81,11 @@
block = in.readNode(NBlock.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNodes();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NMethodCall.java b/jack/src/com/android/jack/jayce/v0004/nodes/NMethodCall.java
index 88f5b5f..89696ce 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NMethodCall.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NMethodCall.java
@@ -164,6 +164,18 @@
dispatchKind = in.readDispatchKindEnum();
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipId();
+ in.skipReceiverKindEnum();
+ in.skipId();
+ in.skipIds();
+ in.skipMethodKindEnum();
+ in.skipId();
+ in.skipNodes();
+ in.skipDispatchKindEnum();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NMethodId.java b/jack/src/com/android/jack/jayce/v0004/nodes/NMethodId.java
index 8bcfb3f..329390f 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NMethodId.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NMethodId.java
@@ -95,6 +95,13 @@
paramTypeSigs = in.readIds();
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipId();
+ in.skipMethodKindEnum();
+ in.skipId();
+ in.skipIds();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NMethodLiteral.java b/jack/src/com/android/jack/jayce/v0004/nodes/NMethodLiteral.java
index ac4f67a..1455182 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NMethodLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NMethodLiteral.java
@@ -81,6 +81,11 @@
methodEnclosingType = in.readId();
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipId();
+ in.skipId();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NModOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NModOperation.java
index 1a5acd2..0556021 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NModOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NModOperation.java
@@ -75,6 +75,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NMulOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NMulOperation.java
index 3875055..82dd870 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NMulOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NMulOperation.java
@@ -75,6 +75,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NMultiExpression.java b/jack/src/com/android/jack/jayce/v0004/nodes/NMultiExpression.java
index 316c3b6..d9bdf53 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NMultiExpression.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NMultiExpression.java
@@ -75,6 +75,10 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNodes();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NNameValuePair.java b/jack/src/com/android/jack/jayce/v0004/nodes/NNameValuePair.java
index ceac9cf..f41c5ae 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NNameValuePair.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NNameValuePair.java
@@ -98,6 +98,11 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipString();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NNativeMethodBody.java b/jack/src/com/android/jack/jayce/v0004/nodes/NNativeMethodBody.java
index 5f5a7bb..ce1a0f8 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NNativeMethodBody.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NNativeMethodBody.java
@@ -23,8 +23,6 @@
import com.android.jack.jayce.v0004.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0004.io.Token;
-import java.io.IOException;
-
import javax.annotation.Nonnull;
/**
@@ -49,15 +47,18 @@
return jNativeMethodBody;
}
- @SuppressWarnings("unused")
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
+ public void writeContent(@Nonnull JayceInternalWriterImpl out) {
+
+ }
+
+ @Override
+ public void readContent(@Nonnull JayceInternalReaderImpl in) {
}
@SuppressWarnings("unused")
- @Override
- public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) {
}
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NNeqOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NNeqOperation.java
index 6b25e7d..2131cef 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NNeqOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NNeqOperation.java
@@ -75,6 +75,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NNewArray.java b/jack/src/com/android/jack/jayce/v0004/nodes/NNewArray.java
index 0db2fee..44e6105 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NNewArray.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NNewArray.java
@@ -97,6 +97,12 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipId();
+ in.skipNodes();
+ in.skipNodes();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NNewInstance.java b/jack/src/com/android/jack/jayce/v0004/nodes/NNewInstance.java
index 2117a3b..450ecb8 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NNewInstance.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NNewInstance.java
@@ -93,6 +93,12 @@
args = in.readNodes(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipId();
+ in.skipIds();
+ in.skipNodes();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NNullLiteral.java b/jack/src/com/android/jack/jayce/v0004/nodes/NNullLiteral.java
index 769d0b7..e22cd0a 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NNullLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NNullLiteral.java
@@ -23,8 +23,6 @@
import com.android.jack.jayce.v0004.io.JayceInternalWriterImpl;
import com.android.jack.jayce.v0004.io.Token;
-import java.io.IOException;
-
import javax.annotation.Nonnull;
/**
@@ -49,14 +47,16 @@
return jNullLiteral;
}
- @SuppressWarnings("unused")
@Override
- public void writeContent(@Nonnull JayceInternalWriterImpl out) throws IOException {
+ public void writeContent(@Nonnull JayceInternalWriterImpl out) {
+ }
+
+ @Override
+ public void readContent(@Nonnull JayceInternalReaderImpl in) {
}
@SuppressWarnings("unused")
- @Override
- public void readContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) {
}
@Override
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NOrOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NOrOperation.java
index 4bd4792..a45747b 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NOrOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NOrOperation.java
@@ -75,6 +75,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NOriginDigest.java b/jack/src/com/android/jack/jayce/v0004/nodes/NOriginDigest.java
index 1e12bdc..6e0a5d9 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NOriginDigest.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NOriginDigest.java
@@ -91,6 +91,15 @@
minor = in.readInt();
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipInt();
+ in.skipString();
+ in.skipBuffer();
+ in.skipString();
+ in.skipInt();
+ in.skipInt();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NParameter.java b/jack/src/com/android/jack/jayce/v0004/nodes/NParameter.java
index 9ab6fbd..9f8ff0e 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NParameter.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NParameter.java
@@ -126,6 +126,15 @@
markers = in.readNodes(NMarker.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipId();
+ in.skipInt();
+ in.skipId();
+ in.skipId();
+ in.skipNodes();
+ in.skipNodes();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NParameterRef.java b/jack/src/com/android/jack/jayce/v0004/nodes/NParameterRef.java
index 1650a31..84f1d13 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NParameterRef.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NParameterRef.java
@@ -79,6 +79,11 @@
markers = in.readNodes(NMarker.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipId();
+ in.skipNodes();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NPolymorphicCall.java b/jack/src/com/android/jack/jayce/v0004/nodes/NPolymorphicCall.java
index beea2eb..344ab10 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NPolymorphicCall.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NPolymorphicCall.java
@@ -175,6 +175,19 @@
callSiteParameterStrTypes = in.readIds();
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipId();
+ in.skipReceiverKindEnum();
+ in.skipId();
+ in.skipIds();
+ in.skipMethodKindEnum();
+ in.skipId();
+ in.skipNodes();
+ in.skipId();
+ in.skipIds();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NPostfixDecOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NPostfixDecOperation.java
index a0c89a7..e0b95b2 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NPostfixDecOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NPostfixDecOperation.java
@@ -68,6 +68,10 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NPostfixIncOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NPostfixIncOperation.java
index bcdfd51..25509fe 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NPostfixIncOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NPostfixIncOperation.java
@@ -68,6 +68,10 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NPrefixBitNotOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NPrefixBitNotOperation.java
index 7d3c334..02c0770 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NPrefixBitNotOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NPrefixBitNotOperation.java
@@ -68,6 +68,10 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NPrefixDecOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NPrefixDecOperation.java
index 832028d..6b1ab6d 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NPrefixDecOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NPrefixDecOperation.java
@@ -68,6 +68,10 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NPrefixIncOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NPrefixIncOperation.java
index 62703e0..29b030b 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NPrefixIncOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NPrefixIncOperation.java
@@ -68,6 +68,10 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NPrefixNegOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NPrefixNegOperation.java
index e79a7c3..be1f706 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NPrefixNegOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NPrefixNegOperation.java
@@ -68,6 +68,10 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NPrefixNotOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NPrefixNotOperation.java
index 04dc90d..c6fb7e9 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NPrefixNotOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NPrefixNotOperation.java
@@ -68,6 +68,10 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NReinterpretCastOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NReinterpretCastOperation.java
index 488bf0b..3a8ea08 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NReinterpretCastOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NReinterpretCastOperation.java
@@ -81,6 +81,11 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipId();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NReturnStatement.java b/jack/src/com/android/jack/jayce/v0004/nodes/NReturnStatement.java
index 1336e06..d94630a 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NReturnStatement.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NReturnStatement.java
@@ -79,6 +79,10 @@
expr = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NShlOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NShlOperation.java
index c0d15d6..71be6ee 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NShlOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NShlOperation.java
@@ -75,6 +75,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NShortLiteral.java b/jack/src/com/android/jack/jayce/v0004/nodes/NShortLiteral.java
index b68e477..e7b93f5 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NShortLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NShortLiteral.java
@@ -63,6 +63,10 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipShort();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NShrOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NShrOperation.java
index 9c7786e..1ea6327 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NShrOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NShrOperation.java
@@ -75,6 +75,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NShruOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NShruOperation.java
index e52f0cb..efdc95e 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NShruOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NShruOperation.java
@@ -75,6 +75,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NSimpleName.java b/jack/src/com/android/jack/jayce/v0004/nodes/NSimpleName.java
index 011d736..12a40cb 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NSimpleName.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NSimpleName.java
@@ -63,6 +63,10 @@
simpleName = in.readString();
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipString();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NStringLiteral.java b/jack/src/com/android/jack/jayce/v0004/nodes/NStringLiteral.java
index 83cb03d..ab6c513 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NStringLiteral.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NStringLiteral.java
@@ -67,6 +67,10 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipString();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NSubOperation.java b/jack/src/com/android/jack/jayce/v0004/nodes/NSubOperation.java
index 82cf998..716e043 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NSubOperation.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NSubOperation.java
@@ -75,6 +75,11 @@
rhs = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NSwitchStatement.java b/jack/src/com/android/jack/jayce/v0004/nodes/NSwitchStatement.java
index bda2846..4e35d0e 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NSwitchStatement.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NSwitchStatement.java
@@ -108,6 +108,12 @@
body = in.readNode(NBlock.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipIds();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NSynchronizedBlock.java b/jack/src/com/android/jack/jayce/v0004/nodes/NSynchronizedBlock.java
index 09ca751..24f2be5 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NSynchronizedBlock.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NSynchronizedBlock.java
@@ -92,6 +92,11 @@
synchronizedBlock = in.readNode(NBlock.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.readNode(NExpression.class);
+ in.readNode(NBlock.class);
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NThisRef.java b/jack/src/com/android/jack/jayce/v0004/nodes/NThisRef.java
index faa5439..d41ede5 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NThisRef.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NThisRef.java
@@ -68,6 +68,10 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipId();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NThisRefTypeInfo.java b/jack/src/com/android/jack/jayce/v0004/nodes/NThisRefTypeInfo.java
index e35325e..9739baa 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NThisRefTypeInfo.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NThisRefTypeInfo.java
@@ -65,6 +65,10 @@
genericSignature = in.readString();
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipString();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NThrowStatement.java b/jack/src/com/android/jack/jayce/v0004/nodes/NThrowStatement.java
index f28846f..f077a9f 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NThrowStatement.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NThrowStatement.java
@@ -80,6 +80,10 @@
expr = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NThrownExceptionMarker.java b/jack/src/com/android/jack/jayce/v0004/nodes/NThrownExceptionMarker.java
index e6e26ad..6abc1a8 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NThrownExceptionMarker.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NThrownExceptionMarker.java
@@ -70,6 +70,10 @@
thrownExceptions = in.readIds();
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipIds();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NTryStatement.java b/jack/src/com/android/jack/jayce/v0004/nodes/NTryStatement.java
index e86f0c9..3434822 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NTryStatement.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NTryStatement.java
@@ -109,6 +109,13 @@
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNodes();
+ in.skipNode();
+ in.skipNodes();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NUnlock.java b/jack/src/com/android/jack/jayce/v0004/nodes/NUnlock.java
index 335b958..cfbd394 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NUnlock.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NUnlock.java
@@ -80,6 +80,10 @@
lockExpr = in.readNode(NExpression.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/jayce/v0004/nodes/NWhileStatement.java b/jack/src/com/android/jack/jayce/v0004/nodes/NWhileStatement.java
index 9503353..230c976 100644
--- a/jack/src/com/android/jack/jayce/v0004/nodes/NWhileStatement.java
+++ b/jack/src/com/android/jack/jayce/v0004/nodes/NWhileStatement.java
@@ -87,6 +87,11 @@
body = in.readNode(NStatement.class);
}
+ public static void skipContent(@Nonnull JayceInternalReaderImpl in) throws IOException {
+ in.skipNode();
+ in.skipNode();
+ }
+
@Override
@Nonnull
public Token getToken() {
diff --git a/jack/src/com/android/jack/library/v0001/InputJackLibraryImpl.java b/jack/src/com/android/jack/library/v0001/InputJackLibraryImpl.java
index 9caec39..4e6b95e 100644
--- a/jack/src/com/android/jack/library/v0001/InputJackLibraryImpl.java
+++ b/jack/src/com/android/jack/library/v0001/InputJackLibraryImpl.java
@@ -32,6 +32,7 @@
import com.android.sched.util.file.CannotCloseException;
import com.android.sched.util.file.CannotCreateFileException;
import com.android.sched.util.file.CannotDeleteFileException;
+import com.android.sched.util.file.FileOrDirectory.Existence;
import com.android.sched.util.file.NoSuchFileException;
import com.android.sched.util.file.NotDirectoryException;
import com.android.sched.util.file.NotFileOrDirectoryException;
@@ -44,6 +45,7 @@
import com.android.sched.vfs.PrefixedFS;
import com.android.sched.vfs.VFS;
import com.android.sched.vfs.VPath;
+import com.android.sched.vfs.WrongVFSTypeException;
import java.util.ArrayList;
import java.util.EnumMap;
@@ -148,12 +150,15 @@
} else {
VFS prefixedInputVFS = null;
try {
- prefixedInputVFS = new PrefixedFS(vfs, getSectionPath(fileType));
+ prefixedInputVFS = new PrefixedFS(vfs, getSectionPath(fileType), Existence.MUST_EXIST);
+ } catch (WrongVFSTypeException e) {
+ // If library is well formed this exception cannot be triggered
+ throw new AssertionError(e);
} catch (CannotCreateFileException e) {
- // If library is well formed this exception can not be triggered
+ // If library is well formed this exception cannot be triggered
throw new AssertionError(e);
} catch (NotDirectoryException e) {
- // If library is well formed this exception can not be triggered
+ // If library is well formed this exception cannot be triggered
throw new AssertionError(e);
}
if (fileType == FileType.PREBUILT) {
@@ -161,7 +166,7 @@
currentSectionVFS = new GenericInputVFS(new MessageDigestFS(prefixedInputVFS,
ThreadConfig.get(JackLibraryFactory.MESSAGE_DIGEST_ALGO)));
} catch (BadVFSFormatException e) {
- // If library is well formed this exception can not be triggered
+ // If library is well formed this exception cannot be triggered
throw new AssertionError(e);
}
} else {
diff --git a/jack/src/com/android/jack/library/v0002/InputJackLibraryImpl.java b/jack/src/com/android/jack/library/v0002/InputJackLibraryImpl.java
index d77194b..e24bed6 100644
--- a/jack/src/com/android/jack/library/v0002/InputJackLibraryImpl.java
+++ b/jack/src/com/android/jack/library/v0002/InputJackLibraryImpl.java
@@ -37,6 +37,7 @@
import com.android.sched.util.file.CannotCloseException;
import com.android.sched.util.file.CannotCreateFileException;
import com.android.sched.util.file.CannotDeleteFileException;
+import com.android.sched.util.file.FileOrDirectory.Existence;
import com.android.sched.util.file.NoSuchFileException;
import com.android.sched.util.file.NotDirectoryException;
import com.android.sched.util.file.NotFileOrDirectoryException;
@@ -49,6 +50,7 @@
import com.android.sched.vfs.PrefixedFS;
import com.android.sched.vfs.VFS;
import com.android.sched.vfs.VPath;
+import com.android.sched.vfs.WrongVFSTypeException;
import java.util.ArrayList;
import java.util.EnumMap;
@@ -155,12 +157,15 @@
} else {
VFS prefixedInputVFS = null;
try {
- prefixedInputVFS = new PrefixedFS(vfs, getSectionPath(fileType));
+ prefixedInputVFS = new PrefixedFS(vfs, getSectionPath(fileType), Existence.MUST_EXIST);
+ } catch (WrongVFSTypeException e) {
+ // If library is well formed this exception cannot be triggered
+ throw new AssertionError(e);
} catch (CannotCreateFileException e) {
- // If library is well formed this exception can not be triggered
+ // If library is well formed this exception cannot be triggered
throw new AssertionError(e);
} catch (NotDirectoryException e) {
- // If library is well formed this exception can not be triggered
+ // If library is well formed this exception cannot be triggered
throw new AssertionError(e);
}
if (fileType == FileType.PREBUILT) {
@@ -168,7 +173,7 @@
currentSectionVFS = new GenericInputVFS(new MessageDigestFS(prefixedInputVFS,
ThreadConfig.get(JackLibraryFactory.MESSAGE_DIGEST_ALGO)));
} catch (BadVFSFormatException e) {
- // If library is well formed this exception can not be triggered
+ // If library is well formed this exception cannot be triggered
throw new AssertionError(e);
}
} else {
diff --git a/jack/src/com/android/jack/library/v0003/InputJackLibraryImpl.java b/jack/src/com/android/jack/library/v0003/InputJackLibraryImpl.java
index f0413c7..610112f 100644
--- a/jack/src/com/android/jack/library/v0003/InputJackLibraryImpl.java
+++ b/jack/src/com/android/jack/library/v0003/InputJackLibraryImpl.java
@@ -37,6 +37,7 @@
import com.android.sched.util.file.CannotCloseException;
import com.android.sched.util.file.CannotCreateFileException;
import com.android.sched.util.file.CannotDeleteFileException;
+import com.android.sched.util.file.FileOrDirectory.Existence;
import com.android.sched.util.file.NoSuchFileException;
import com.android.sched.util.file.NotDirectoryException;
import com.android.sched.util.file.NotFileOrDirectoryException;
@@ -50,6 +51,7 @@
import com.android.sched.vfs.PrefixedFS;
import com.android.sched.vfs.VFS;
import com.android.sched.vfs.VPath;
+import com.android.sched.vfs.WrongVFSTypeException;
import java.util.ArrayList;
import java.util.EnumMap;
@@ -172,12 +174,15 @@
} else {
VFS inputVFS = null;
try {
- inputVFS = new PrefixedFS(vfs, getSectionPath(fileType));
+ inputVFS = new PrefixedFS(vfs, getSectionPath(fileType), Existence.MUST_EXIST);
+ } catch (WrongVFSTypeException e) {
+ // If library is well formed this exception cannot be triggered
+ throw new AssertionError(e);
} catch (CannotCreateFileException e) {
- // If library is well formed this exception can not be triggered
+ // If library is well formed this exception cannot be triggered
throw new AssertionError(e);
} catch (NotDirectoryException e) {
- // If library is well formed this exception can not be triggered
+ // If library is well formed this exception cannot be triggered
throw new AssertionError(e);
}
@@ -186,7 +191,7 @@
inputVFS = new MessageDigestFS(inputVFS,
ThreadConfig.get(JackLibraryFactory.MESSAGE_DIGEST_ALGO));
} catch (BadVFSFormatException e) {
- // If library is well formed this exception can not be triggered
+ // If library is well formed this exception cannot be triggered
throw new AssertionError(e);
}
}
diff --git a/jack/src/com/android/jack/library/v0003/OutputJackLibraryImpl.java b/jack/src/com/android/jack/library/v0003/OutputJackLibraryImpl.java
index e4ea796..d52d8b8 100644
--- a/jack/src/com/android/jack/library/v0003/OutputJackLibraryImpl.java
+++ b/jack/src/com/android/jack/library/v0003/OutputJackLibraryImpl.java
@@ -32,6 +32,7 @@
import com.android.sched.util.file.CannotCloseException;
import com.android.sched.util.file.CannotCreateFileException;
import com.android.sched.util.file.CannotDeleteFileException;
+import com.android.sched.util.file.FileOrDirectory.Existence;
import com.android.sched.util.file.NoSuchFileException;
import com.android.sched.util.file.NotDirectoryException;
import com.android.sched.util.file.NotFileOrDirectoryException;
@@ -51,6 +52,7 @@
import com.android.sched.vfs.PrefixedFS;
import com.android.sched.vfs.VFS;
import com.android.sched.vfs.VPath;
+import com.android.sched.vfs.WrongVFSTypeException;
import java.io.IOException;
import java.io.InputStream;
@@ -143,18 +145,21 @@
VPath prefixPath = InputJackLibraryImpl.getSectionPath(fileType);
VFS outputVFS = null;
try {
- outputVFS = new PrefixedFS(vfs, prefixPath);
+ outputVFS = new PrefixedFS(vfs, prefixPath, Existence.MAY_EXIST);
if (generateJacklibDigest && fileType == FileType.PREBUILT) {
outputVFS = new MessageDigestFS(outputVFS,
ThreadConfig.get(JackLibraryFactory.MESSAGE_DIGEST_ALGO));
}
+ } catch (WrongVFSTypeException e) {
+ // prefix may not exist so this cannot happen
+ throw new AssertionError(e);
} catch (BadVFSFormatException e) {
- // if library is well formed and digest exists this exception can not be triggered
+ // if library is well formed and digest exists this exception cannot be triggered
throw new AssertionError(e);
} catch (NotDirectoryException e) {
- // if library is well formed this exception can not be triggered
+ // if library is well formed this exception cannot be triggered
throw new AssertionError(e);
}
diff --git a/jack/src/com/android/jack/lookup/JLookup.java b/jack/src/com/android/jack/lookup/JLookup.java
index aaf0376..a431bbc 100644
--- a/jack/src/com/android/jack/lookup/JLookup.java
+++ b/jack/src/com/android/jack/lookup/JLookup.java
@@ -262,17 +262,22 @@
T type;
synchronized (cache) {
type = cache.get(signature);
+ }
- if (type == null) {
- int typeNameLength = signature.length();
- assert typeNameLength > 1 : "Invalid signature '" + signature + "'";
- if (signature.charAt(0) == '[') {
- type = (T) findArrayType(signature);
- } else {
- type = findClassOrInterface(signature, adapter);
- }
+ if (type == null) {
+ int typeNameLength = signature.length();
+ assert typeNameLength > 1 : "Invalid signature '" + signature + "'";
+ if (signature.charAt(0) == '[') {
+ type = (T) findArrayType(signature);
+ } else {
+ type = findClassOrInterface(signature, adapter);
+ }
+ synchronized (cache) {
+ // Model already ensures unicity of types, so the worst that could happen here would be to
+ // store the exact same type that is already stored.
+ assert cache.get(signature) == null || cache.get(signature) == type;
cache.put(signature, type);
- }
+ }
}
return type;
}
diff --git a/jack/src/com/android/jack/reporting/CommonReporter.java b/jack/src/com/android/jack/reporting/CommonReporter.java
index ac0589b..242c778 100644
--- a/jack/src/com/android/jack/reporting/CommonReporter.java
+++ b/jack/src/com/android/jack/reporting/CommonReporter.java
@@ -18,7 +18,7 @@
import com.android.jack.Jack;
import com.android.jack.Options;
-import com.android.jack.Options.VerbosityLevel;
+import com.android.jack.VerbosityLevel;
import com.android.jack.ir.HasSourceInfo;
import com.android.jack.reporting.Reportable.ProblemLevel;
import com.android.sched.util.config.ThreadConfig;
diff --git a/jack/src/com/android/jack/reporting/Reportable.java b/jack/src/com/android/jack/reporting/Reportable.java
index df34c27..956e23d 100644
--- a/jack/src/com/android/jack/reporting/Reportable.java
+++ b/jack/src/com/android/jack/reporting/Reportable.java
@@ -16,7 +16,7 @@
package com.android.jack.reporting;
-import com.android.jack.Options.VerbosityLevel;
+import com.android.jack.VerbosityLevel;
import com.android.sched.util.codec.EnumName;
import com.android.sched.util.codec.VariableName;
diff --git a/jack/src/com/android/jack/tools/merger/JackMerger.java b/jack/src/com/android/jack/tools/merger/JackMerger.java
index a28cd97..5da082f 100644
--- a/jack/src/com/android/jack/tools/merger/JackMerger.java
+++ b/jack/src/com/android/jack/tools/merger/JackMerger.java
@@ -34,6 +34,8 @@
import com.android.jack.dx.rop.type.StdTypeList;
import com.android.jack.dx.rop.type.Type;
import com.android.jack.dx.rop.type.TypeList;
+import com.android.sched.util.file.CannotWriteException;
+import com.android.sched.util.location.HasLocation;
import java.io.IOException;
import java.io.OutputStream;
@@ -142,13 +144,18 @@
}
}
- public void finish(@Nonnull OutputStream out) throws IOException {
+ public void finish(@Nonnull OutputStream out, @Nonnull HasLocation locationProvider)
+ throws CannotWriteException {
dexResult.prepare(cstManager.getCstStrings(), cstManager.getCstFieldRefs(),
cstManager.getCstMethodRefs(), cstManager.getTypes(), cstManager.getCstPrototypeRefs());
if (!cstManager.validate(dexResult)) {
throw new AssertionError();
}
- dexResult.writeTo(out, null /* humanOut */, false /* verbose */);
+ try {
+ dexResult.writeTo(out, null /* humanOut */, false /* verbose */);
+ } catch (IOException e) {
+ throw new CannotWriteException(locationProvider);
+ }
finished = true;
}
diff --git a/jack/src/com/android/jack/transformations/ast/SynchronizeTransformer.java b/jack/src/com/android/jack/transformations/ast/SynchronizeTransformer.java
index 0a7cf3f..3b33935 100644
--- a/jack/src/com/android/jack/transformations/ast/SynchronizeTransformer.java
+++ b/jack/src/com/android/jack/transformations/ast/SynchronizeTransformer.java
@@ -74,6 +74,7 @@
@Constraint(need = {NoImplicitBlock.class})
@Transform(remove = {JSynchronizedBlock.class, ThreeAddressCodeForm.class}, add = {JBlock.class,
JTryStatement.class,
+ JTryStatement.FinallyBlock.class,
JLock.class,
JUnlock.class,
JLocalRef.class,
diff --git a/jack/src/com/android/jack/transformations/ast/string/FieldStringLiteralRefiner.java b/jack/src/com/android/jack/transformations/ast/string/FieldStringLiteralRefiner.java
index 7a7aab0..edee06b 100644
--- a/jack/src/com/android/jack/transformations/ast/string/FieldStringLiteralRefiner.java
+++ b/jack/src/com/android/jack/transformations/ast/string/FieldStringLiteralRefiner.java
@@ -33,7 +33,7 @@
@Description("Refine JStringLiteral in fields into more specific string literals.")
@Use(StringLiteralRefinerVisitor.class)
@Transform(add = StringLiteralRefined.Field.class)
-// Uses StringLiteralRefinerVisitor which lookup types.
+// Uses StringLiteralRefinerVisitor which looks up types.
@Access(JSession.class)
public class FieldStringLiteralRefiner implements RunnableSchedulable<JField> {
diff --git a/jack/src/com/android/jack/transformations/ast/string/MethodStringLiteralRefiner.java b/jack/src/com/android/jack/transformations/ast/string/MethodStringLiteralRefiner.java
index 0cc57c2..5375d83 100644
--- a/jack/src/com/android/jack/transformations/ast/string/MethodStringLiteralRefiner.java
+++ b/jack/src/com/android/jack/transformations/ast/string/MethodStringLiteralRefiner.java
@@ -32,6 +32,7 @@
*/
@Description("Refine JStringLiteral in methods into more specific string literals.")
@Use(StringLiteralRefinerVisitor.class)
+// Uses StringLiteralRefinerVisitor which looks up types.
@Access(JSession.class)
@Transform(add = StringLiteralRefined.Method.class)
public class MethodStringLiteralRefiner implements RunnableSchedulable<JMethod> {
diff --git a/jack/src/com/android/jack/transformations/ast/string/ReflectionStringLiteralRefiner.java b/jack/src/com/android/jack/transformations/ast/string/ReflectionStringLiteralRefiner.java
index 5c2f03d..cbefc39 100644
--- a/jack/src/com/android/jack/transformations/ast/string/ReflectionStringLiteralRefiner.java
+++ b/jack/src/com/android/jack/transformations/ast/string/ReflectionStringLiteralRefiner.java
@@ -65,6 +65,7 @@
AtomicReferenceUpdaterParameterRefiner.class,
GetMethodParameterRefiner.class,
GetDeclaredMethodParameterRefiner.class})
+// Uses refiners which look up types.
@Access(JSession.class)
public class ReflectionStringLiteralRefiner implements RunnableSchedulable<JMethod> {
diff --git a/jack/src/com/android/jack/transformations/ast/string/TypeStringLiteralRefiner.java b/jack/src/com/android/jack/transformations/ast/string/TypeStringLiteralRefiner.java
index 81ea40c..f02921e 100644
--- a/jack/src/com/android/jack/transformations/ast/string/TypeStringLiteralRefiner.java
+++ b/jack/src/com/android/jack/transformations/ast/string/TypeStringLiteralRefiner.java
@@ -32,6 +32,7 @@
*/
@Description("Refine JStringLiteral in types into more specific string literals.")
@Use(StringLiteralRefinerVisitor.class)
+// Uses StringLiteralRefinerVisitor which looks up types.
@Access(JSession.class)
@Transform(add = StringLiteralRefined.Type.class)
public class TypeStringLiteralRefiner implements RunnableSchedulable<JDefinedClassOrInterface> {
@@ -40,7 +41,7 @@
public void run(@Nonnull JDefinedClassOrInterface type) {
TransformationRequest tr = new TransformationRequest(type);
StringLiteralRefinerVisitor visitor = new StringLiteralRefinerVisitor(tr);
- visitor.accept(type);
+ visitor.accept(type.getAnnotations());
tr.commit();
}
diff --git a/jack/src/com/android/jack/transformations/ast/string/parameterrefiners/CommonStringParameterRefiner.java b/jack/src/com/android/jack/transformations/ast/string/parameterrefiners/CommonStringParameterRefiner.java
index 78de47c..8e1c463 100644
--- a/jack/src/com/android/jack/transformations/ast/string/parameterrefiners/CommonStringParameterRefiner.java
+++ b/jack/src/com/android/jack/transformations/ast/string/parameterrefiners/CommonStringParameterRefiner.java
@@ -25,6 +25,7 @@
import com.android.jack.ir.ast.JExpression;
import com.android.jack.ir.ast.JMethodCall;
import com.android.jack.ir.ast.JReferenceType;
+import com.android.jack.ir.ast.JReinterpretCastOperation;
import com.android.jack.ir.ast.JStringLiteral;
import com.android.jack.ir.ast.JType;
import com.android.jack.ir.formatter.BinarySignatureFormatter;
@@ -81,6 +82,9 @@
if (arg instanceof JStringLiteral) {
return (JStringLiteral) arg;
+ } else if (arg instanceof JReinterpretCastOperation
+ && ((JReinterpretCastOperation) arg).getExpr() instanceof JStringLiteral) {
+ return (JStringLiteral) ((JReinterpretCastOperation) arg).getExpr();
}
return null;
diff --git a/jack/src/com/android/jack/transformations/ast/string/parameterrefiners/GetMethodParameterRefiner.java b/jack/src/com/android/jack/transformations/ast/string/parameterrefiners/GetMethodParameterRefiner.java
index f81fcef..f16caa0 100644
--- a/jack/src/com/android/jack/transformations/ast/string/parameterrefiners/GetMethodParameterRefiner.java
+++ b/jack/src/com/android/jack/transformations/ast/string/parameterrefiners/GetMethodParameterRefiner.java
@@ -93,7 +93,7 @@
JMethodNameLiteral strMethodLiteral = null;
String methodName = paramToRefine.getValue();
JDefinedClassOrInterface type = getTypeFromClassLiteralExpression(call.getInstance());
- String methodSignature = getMethodSignature(call);
+ String methodSignature = getMethodSignature(methodName, call);
if (type != null && methodSignature != null) {
JMethod method = lookupMethod(type, methodSignature);
@@ -120,17 +120,16 @@
}
@CheckForNull
- private String getMethodSignature(@Nonnull JMethodCall call) {
+ private String getMethodSignature(@Nonnull String methodName, @Nonnull JMethodCall call) {
JExpression instance = call.getInstance();
assert instance != null;
List<JExpression> args = call.getArgs();
assert args.size() == 2;
- JExpression methodName = args.get(0);
JExpression parameters = args.get(1);
- if (methodName instanceof JStringLiteral && parameters instanceof JNewArray) {
- StringBuilder sb = new StringBuilder(((JStringLiteral) methodName).getValue());
+ if (parameters instanceof JNewArray) {
+ StringBuilder sb = new StringBuilder(methodName);
sb.append("(");
for (JExpression param : ((JNewArray) parameters).getInitializers()) {
if (param instanceof JClassLiteral) {
diff --git a/jack/src/com/android/jack/transformations/OptimizedSwitchEnumFeedbackFeature.java b/jack/src/com/android/jack/transformations/enums/opt/OptimizedSwitchEnumFeedbackFeature.java
similarity index 89%
rename from jack/src/com/android/jack/transformations/OptimizedSwitchEnumFeedbackFeature.java
rename to jack/src/com/android/jack/transformations/enums/opt/OptimizedSwitchEnumFeedbackFeature.java
index 7bc01ea..f740a1c 100644
--- a/jack/src/com/android/jack/transformations/OptimizedSwitchEnumFeedbackFeature.java
+++ b/jack/src/com/android/jack/transformations/enums/opt/OptimizedSwitchEnumFeedbackFeature.java
@@ -14,9 +14,8 @@
* limitations under the License.
*/
-package com.android.jack.transformations;
+package com.android.jack.transformations.enums.opt;
-import com.android.jack.transformations.enums.opt.OptimizedSwitchEnumSupport;
import com.android.sched.item.Description;
import com.android.sched.item.Feature;
import com.android.sched.item.Name;
diff --git a/jack/src/com/android/jack/transformations/OptimizedSwitchEnumNonFeedbackFeature.java b/jack/src/com/android/jack/transformations/enums/opt/OptimizedSwitchEnumNonFeedbackFeature.java
similarity index 89%
rename from jack/src/com/android/jack/transformations/OptimizedSwitchEnumNonFeedbackFeature.java
rename to jack/src/com/android/jack/transformations/enums/opt/OptimizedSwitchEnumNonFeedbackFeature.java
index dda415c..6a2cb06 100644
--- a/jack/src/com/android/jack/transformations/OptimizedSwitchEnumNonFeedbackFeature.java
+++ b/jack/src/com/android/jack/transformations/enums/opt/OptimizedSwitchEnumNonFeedbackFeature.java
@@ -14,9 +14,8 @@
* limitations under the License.
*/
-package com.android.jack.transformations;
+package com.android.jack.transformations.enums.opt;
-import com.android.jack.transformations.enums.opt.OptimizedSwitchEnumSupport;
import com.android.sched.item.Description;
import com.android.sched.item.Feature;
import com.android.sched.item.Name;
diff --git a/jack/src/com/android/jack/transformations/enums/opt/OptimizedSwitchEnumSupport.java b/jack/src/com/android/jack/transformations/enums/opt/OptimizedSwitchEnumSupport.java
index 62b7647..00decd8 100644
--- a/jack/src/com/android/jack/transformations/enums/opt/OptimizedSwitchEnumSupport.java
+++ b/jack/src/com/android/jack/transformations/enums/opt/OptimizedSwitchEnumSupport.java
@@ -50,6 +50,8 @@
import com.android.jack.ir.ast.JTryStatement;
import com.android.jack.ir.ast.JType;
import com.android.jack.ir.ast.JVisitor;
+import com.android.jack.library.DumpInLibrary;
+import com.android.jack.library.PrebuiltCompatibility;
import com.android.jack.scheduling.filter.SourceTypeFilter;
import com.android.jack.shrob.obfuscation.OriginalNames;
import com.android.jack.transformations.LocalVarCreator;
@@ -67,6 +69,8 @@
import com.android.sched.schedulable.RunnableSchedulable;
import com.android.sched.schedulable.Transform;
import com.android.sched.schedulable.Use;
+import com.android.sched.util.config.HasKeyId;
+import com.android.sched.util.config.id.EnumPropertyId;
import java.util.Map;
@@ -98,7 +102,22 @@
@Filter(SourceTypeFilter.class)
// This schedulable modifies a class (that it added in a previous run) that it is not visiting.
@ExclusiveAccess(JSession.class)
+@HasKeyId
public class OptimizedSwitchEnumSupport implements RunnableSchedulable<JMethod> {
+
+ /**
+ * property used to specify the kind of switch enum optimization that is enabled. See(@link
+ * SwitchEnumOptStrategy)
+ */
+ @Nonnull
+ public static final EnumPropertyId<SwitchEnumOptStrategy> OPTIMIZED_ENUM_SWITCH =
+ EnumPropertyId.create(
+ "jack.optimization.enum.switch", "Optimize enum switch", SwitchEnumOptStrategy.class)
+ .addDefaultValue(SwitchEnumOptStrategy.NEVER)
+ .ignoreCase()
+ .addCategory(DumpInLibrary.class)
+ .addCategory(PrebuiltCompatibility.class);
+
// switch map filler which will fills synthetic switch map field and initializer
@Nonnull
private final SwitchMapClassFiller classFiller = new SwitchMapClassFiller();
diff --git a/jack/src/com/android/jack/transformations/enums/opt/SwitchEnumOptStrategy.java b/jack/src/com/android/jack/transformations/enums/opt/SwitchEnumOptStrategy.java
new file mode 100644
index 0000000..1e06882
--- /dev/null
+++ b/jack/src/com/android/jack/transformations/enums/opt/SwitchEnumOptStrategy.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.jack.transformations.enums.opt;
+
+import com.android.sched.util.codec.EnumName;
+import com.android.sched.util.codec.VariableName;
+
+/**
+ * Types of switch enum optimization strategies.
+ * 1. feedback (set on by default)
+ * 2. always
+ * 3. never
+ */
+@VariableName("strategy")
+public enum SwitchEnumOptStrategy {
+ // feedback-based optimization: this strategy will be enabled/disabled based on the
+ // compile time information collected, e.g., if it is detected that an enum is only
+ // used in one/few switch statements, it is useless to optimize it. Potentially enable
+ // this strategy will cost more compilation time, but save more dex code
+ @EnumName(name = "feedback")
+ FEEDBACK(),
+ // different from feedback-based optimization, always strategy doesn't collect compile-
+ // time information to guide switch enum optimization. It will always enable switch enum
+ // optimization no matter the enum is rarely/frequently used. Ideally this strategy will
+ // compile code quicker than feedback-based strategy does, but the generated dex may be
+ // larger than feedback strategy
+ @EnumName(name = "always")
+ ALWAYS(),
+ // this actually is not real strategy, but we still need it because switch enum
+ // optimization is disabled when incremental compilation is triggered
+ @EnumName(name = "never")
+ NEVER();
+}
\ No newline at end of file
diff --git a/jack/src/com/android/jack/transformations/enums/opt/SyntheticClassManager.java b/jack/src/com/android/jack/transformations/enums/opt/SyntheticClassManager.java
index 3ab512f..6b08ecc 100644
--- a/jack/src/com/android/jack/transformations/enums/opt/SyntheticClassManager.java
+++ b/jack/src/com/android/jack/transformations/enums/opt/SyntheticClassManager.java
@@ -21,8 +21,6 @@
import com.google.common.collect.Sets;
import com.android.jack.Jack;
-import com.android.jack.Options;
-import com.android.jack.Options.SwitchEnumOptStrategy;
import com.android.jack.ir.ast.JDefinedClass;
import com.android.jack.ir.ast.JDefinedClassOrInterface;
import com.android.jack.ir.ast.JDefinedEnum;
@@ -79,7 +77,7 @@
@Nonnull
private final SwitchEnumOptStrategy optimizationStrategy =
- ThreadConfig.get(Options.OPTIMIZED_ENUM_SWITCH);
+ ThreadConfig.get(OptimizedSwitchEnumSupport.OPTIMIZED_ENUM_SWITCH);
// this map represents relationship from the package to synthetic class. There should only be
// one synthetic class at most per package. Synthetic class cannot be located anywhere because
diff --git a/jack/src/com/android/jack/transformations/lambda/LambdaCollection.java b/jack/src/com/android/jack/transformations/lambda/LambdaCollection.java
index b1e3e4e..1882659 100644
--- a/jack/src/com/android/jack/transformations/lambda/LambdaCollection.java
+++ b/jack/src/com/android/jack/transformations/lambda/LambdaCollection.java
@@ -45,11 +45,11 @@
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.util.Collection;
+import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
import java.util.TreeSet;
import java.util.concurrent.ConcurrentHashMap;
-import javax.annotation.Nonnegative;
import javax.annotation.Nonnull;
/**
@@ -214,14 +214,14 @@
* </pre>
*/
void createLambdaClassGroups(@Nonnull JSession session) {
- int nextId = 0;
// Create a map sorted by key to ensure a stable order
// of the created lambda group classes
+ Map<String, Integer> typeHashConflicts = new HashMap<>();
TreeMap<Key, ConcurrentHashMap<String, JLambda>> sorted = new TreeMap<>(lambdaClassSets);
for (Map.Entry<Key, ConcurrentHashMap<String, JLambda>> entry : sorted.entrySet()) {
// Create a group class to represent lambda group
- JDefinedClass groupClass = createGroupClass(
- nextId++, session, entry.getKey().pkg, getLambdaTypesHash(entry.getValue().values()));
+ JDefinedClass groupClass = createGroupClass(session, entry.getKey().pkg,
+ getLambdaTypesHash(entry.getValue().values()), typeHashConflicts);
LambdaGroup lambdaGroup = new LambdaGroup(
entry.getValue(), groupClass, entry.getKey().captureSignature);
@@ -248,16 +248,28 @@
digest.update(name.getBytes(StandardCharsets.UTF_8));
digest.update((byte) 0);
}
- return BaseEncoding.base64Url().omitPadding().encode(digest.digest());
+ String encode = BaseEncoding.base64Url().omitPadding().encode(digest.digest());
+ assert encode != null;
+ return encode;
}
@Nonnull
- private JDefinedClass createGroupClass(@Nonnegative int id,
- @Nonnull JSession session, @Nonnull JPackage pkg, @Nonnull String typesHash) {
+ private JDefinedClass createGroupClass(@Nonnull JSession session, @Nonnull JPackage pkg,
+ @Nonnull String typesHash, @Nonnull Map<String, Integer> typeHashConflicts) {
+ String lambdaClassName =
+ NamingTools.getNonSourceConflictingName(LAMBDA_GROUP_CLASS_NAME_PREFIX + typesHash);
+ Integer count = typeHashConflicts.get(typesHash);
+ if (count == null) {
+ typeHashConflicts.put(typesHash, Integer.valueOf(0));
+ } else {
+ int nextId = count.intValue() + 1;
+ lambdaClassName += "$" + nextId;
+ typeHashConflicts.put(typesHash, Integer.valueOf(nextId));
+ }
+
// Create a class
- JDefinedClass groupClass = new JDefinedClass(SourceInfo.UNKNOWN,
- NamingTools.getNonSourceConflictingName(
- LAMBDA_GROUP_CLASS_NAME_PREFIX + id + "$" + typesHash),
+ JDefinedClass groupClass = new JDefinedClass(
+ SourceInfo.UNKNOWN, lambdaClassName,
JModifier.FINAL | JModifier.SYNTHETIC,
pkg, NopClassOrInterfaceLoader.INSTANCE);
groupClass.setSuperClass(javaLangObject);
diff --git a/jack/tests/com/android/jack/AllUnitTests.java b/jack/tests/com/android/jack/AllUnitTests.java
index 9042487..b0af5fb 100644
--- a/jack/tests/com/android/jack/AllUnitTests.java
+++ b/jack/tests/com/android/jack/AllUnitTests.java
@@ -20,7 +20,7 @@
import com.android.jack.ir.ast.JDefinedInterfaceTest;
import com.android.jack.ir.ast.MarkerCollectorTest;
import com.android.jack.ir.impl.ReferenceMapperTest;
-import com.android.jack.jayce.v0002.io.EscapeStringTest;
+import com.android.jack.jayce.v0004.io.EscapeStringTest;
import com.android.jack.optimizations.ExpressionSimplifierTest;
import com.android.jack.optimizations.tailrecursion.TailRecursionTest;
import com.android.jack.preprocessor.PreProcessorTest;
diff --git a/jack/tests/com/android/jack/frontend/ClinitTest.java b/jack/tests/com/android/jack/frontend/ClinitTest.java
index 7f4fac0..f88725e 100644
--- a/jack/tests/com/android/jack/frontend/ClinitTest.java
+++ b/jack/tests/com/android/jack/frontend/ClinitTest.java
@@ -36,9 +36,9 @@
public class ClinitTest {
public static final String CLASS_WITH_VARIABLE_INIT_BINARY_NAME
- = "com/android/jack/clinit/jack/ClInitWithVariableInit";
+ = "com/android/jack/clinit/test001/jack/ClInitWithVariableInit";
public static final String CLASS_BINARY_NAME
- = "com/android/jack/clinit/jack/ClInit";
+ = "com/android/jack/clinit/test001/jack/ClInit";
@After
public void tearDown() {
diff --git a/jack/tests/com/android/jack/jayce/v0003/io/EscapeStringTest.java b/jack/tests/com/android/jack/jayce/v0003/io/EscapeStringTest.java
deleted file mode 100644
index 8ee4e46..0000000
--- a/jack/tests/com/android/jack/jayce/v0003/io/EscapeStringTest.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.jack.jayce.v0003.io;
-
-import com.android.jack.IllegalOptionsException;
-import com.android.jack.Options;
-import com.android.jack.TestTools;
-import com.android.sched.util.RunnableHooks;
-import com.android.sched.util.config.ConfigurationException;
-import com.android.sched.util.config.ThreadConfig;
-import com.android.sched.util.file.CannotChangePermissionException;
-import com.android.sched.util.file.CannotCreateFileException;
-
-import junit.framework.Assert;
-
-import org.junit.Test;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-
-import javax.annotation.Nonnull;
-
-public class EscapeStringTest {
-
- @Test
- public void test001() throws Exception {
- String string = "abcd";
- Assert.assertEquals(string, writeStringAndReadItAfter(string));
- }
-
- @Test
- public void test002() throws Exception {
- String string = "ab\"cd\"";
- Assert.assertEquals(string, writeStringAndReadItAfter(string));
- }
-
- @Test
- public void test003() throws Exception {
- String string = "ab'cd'";
- Assert.assertEquals(string, writeStringAndReadItAfter(string));
- }
-
- @Test
- public void test004() throws Exception {
- String string = "ab\tcd";
- Assert.assertEquals(string, writeStringAndReadItAfter(string));
- }
-
- @Test
- public void test005() throws Exception {
- String string = "ab\rcd";
- Assert.assertEquals(string, writeStringAndReadItAfter(string));
- }
-
- @Test
- public void test006() throws Exception {
- String string = "ab\ncd";
- Assert.assertEquals(string, writeStringAndReadItAfter(string));
- }
-
- @Test
- public void test007() throws Exception {
- String string = "ab\bcd";
- Assert.assertEquals(string, writeStringAndReadItAfter(string));
- }
-
- @Test
- public void test008() throws Exception {
- String string = "ab\fcd";
- Assert.assertEquals(string, writeStringAndReadItAfter(string));
- }
-
- @Test
- public void test009() throws Exception {
- String string = "\"'\\";
- Assert.assertEquals(string, writeStringAndReadItAfter(string));
- }
-
- @Test
- public void test010() throws Exception {
- String string = "[ab]\\b\\\\o5\\xF9\\u1E7B\\t\\n\\f\\r\\a\\e[yz]";
- Assert.assertEquals(string, writeStringAndReadItAfter(string));
- }
-
- @Test
- public void test011() throws Exception {
- String string = "\uD9A0\uDE81*abc";
- Assert.assertEquals(string, writeStringAndReadItAfter(string));
- }
-
- @Test
- public void test012() throws Exception {
- String string = "\uDE81|\uD9A0\uDE81|\uD9A0";
- Assert.assertEquals(string, writeStringAndReadItAfter(string));
- }
-
- @Nonnull
- private String writeStringAndReadItAfter(@Nonnull String stringToWrite) throws IOException,
- IllegalOptionsException, CannotCreateFileException, CannotChangePermissionException {
- File tmp = TestTools.createTempFile("tmp", "");
- RunnableHooks hooks = new RunnableHooks();
- try {
- Options options = new Options();
- options.checkValidity(hooks);
- options.getConfigBuilder(hooks).getCodecContext().setDebug();
- ThreadConfig.setConfig(options.getConfig());
- FileOutputStream fos = new FileOutputStream(tmp);
- JayceInternalWriterImpl jw = new JayceInternalWriterImpl(fos);
- jw.writeString(stringToWrite);
- jw.close();
- FileInputStream fis = new FileInputStream(tmp);
- Tokenizer t = new Tokenizer(fis);
- String result = t.readString();
- fis.close();
- assert result != null;
- return result;
- } catch (ConfigurationException e) {
- throw new AssertionError(e);
- } finally {
- ThreadConfig.unsetConfig();
- hooks.runHooks();
- }
- }
-}
diff --git a/jack/tests/com/android/jack/jayce/v0002/io/EscapeStringTest.java b/jack/tests/com/android/jack/jayce/v0004/io/EscapeStringTest.java
similarity index 98%
rename from jack/tests/com/android/jack/jayce/v0002/io/EscapeStringTest.java
rename to jack/tests/com/android/jack/jayce/v0004/io/EscapeStringTest.java
index 4900be2..a503170 100644
--- a/jack/tests/com/android/jack/jayce/v0002/io/EscapeStringTest.java
+++ b/jack/tests/com/android/jack/jayce/v0004/io/EscapeStringTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.jack.jayce.v0002.io;
+package com.android.jack.jayce.v0004.io;
import com.android.jack.IllegalOptionsException;
import com.android.jack.Options;
diff --git a/jack/tests/com/android/jack/reporting/ProblemLevelTest.java b/jack/tests/com/android/jack/reporting/ProblemLevelTest.java
index 0b5eb5f..5551c5c 100644
--- a/jack/tests/com/android/jack/reporting/ProblemLevelTest.java
+++ b/jack/tests/com/android/jack/reporting/ProblemLevelTest.java
@@ -16,7 +16,7 @@
package com.android.jack.reporting;
-import com.android.jack.Options.VerbosityLevel;
+import com.android.jack.VerbosityLevel;
import com.android.jack.reporting.Reportable.ProblemLevel;
import junit.framework.Assert;
diff --git a/jill-api/.classpath b/jill-api/.classpath
index 6a74d2e..dcc207a 100644
--- a/jill-api/.classpath
+++ b/jill-api/.classpath
@@ -2,7 +2,7 @@
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="lib" path="libs/jsr305-lib.jar"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="src" path=".apt_generated">
<attributes>
<attribute name="optional" value="true"/>
diff --git a/jill-api/.settings/org.eclipse.jdt.core.prefs b/jill-api/.settings/org.eclipse.jdt.core.prefs
index f6e5ff1..7eb95e1 100644
--- a/jill-api/.settings/org.eclipse.jdt.core.prefs
+++ b/jill-api/.settings/org.eclipse.jdt.core.prefs
@@ -6,9 +6,9 @@
org.eclipse.jdt.core.compiler.annotation.nullable=javax.annotation.CheckForNull
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -97,7 +97,7 @@
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.processAnnotations=enabled
-org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.source=1.8
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field=1585
org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field.count_dependent=1585|-1|1585
diff --git a/jill-api/build.gradle b/jill-api/build.gradle
index 731e0d9..f746453 100644
--- a/jill-api/build.gradle
+++ b/jill-api/build.gradle
@@ -17,8 +17,8 @@
apply plugin: 'java'
apply plugin: 'com.github.johnrengelman.shadow'
-sourceCompatibility = 1.6
-targetCompatibility = 1.6
+sourceCompatibility = 1.8
+targetCompatibility = 1.8
apply from: "$rootDir/gradle-script/checkstyle.gradle"
apply from: "$rootDir/gradle-script/findbugs.gradle"
diff --git a/jill/.classpath b/jill/.classpath
index d583854..e82e9f7 100644
--- a/jill/.classpath
+++ b/jill/.classpath
@@ -8,6 +8,6 @@
<classpathentry kind="lib" path="libs/jsr305-lib.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/jill-api"/>
<classpathentry combineaccessrules="false" kind="src" path="/Scheduler"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/jill/.settings/org.eclipse.jdt.core.prefs b/jill/.settings/org.eclipse.jdt.core.prefs
index 1e8b72f..9ca25ee 100644
--- a/jill/.settings/org.eclipse.jdt.core.prefs
+++ b/jill/.settings/org.eclipse.jdt.core.prefs
@@ -7,9 +7,9 @@
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -97,7 +97,7 @@
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.compiler.source=1.8
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field=1585
org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field.count_dependent=1585|-1|1585
diff --git a/jill/build.gradle b/jill/build.gradle
index 3c421a2..fbce8a7 100644
--- a/jill/build.gradle
+++ b/jill/build.gradle
@@ -17,8 +17,8 @@
apply plugin: 'java'
apply plugin: 'com.github.johnrengelman.shadow'
-sourceCompatibility = 1.7
-targetCompatibility = 1.7
+sourceCompatibility = 1.8
+targetCompatibility = 1.8
apply from: "$rootDir/gradle-script/checkstyle.gradle"
apply from: "$rootDir/gradle-script/findbugs.gradle"
diff --git a/jill/src/com/android/jill/frontend/java/ClassNodeWriter.java b/jill/src/com/android/jill/frontend/java/ClassNodeWriter.java
index 60d56ba..1114df4 100644
--- a/jill/src/com/android/jill/frontend/java/ClassNodeWriter.java
+++ b/jill/src/com/android/jill/frontend/java/ClassNodeWriter.java
@@ -154,7 +154,6 @@
writeAnnotationMethods(cn);
annotWriter.writeAnnotations(cn);
writer.writeOpenNodeList(); // Markers
- writeGenericSignatureMarker(cn);
writeSourceNameMarker(cn);
writer.writeCloseNodeList();
sourceInfoWriter.writeDebugEnd(cn);
diff --git a/jill/src/com/android/jill/frontend/java/JavaTransformer.java b/jill/src/com/android/jill/frontend/java/JavaTransformer.java
index fcfc082..5fe7cec 100644
--- a/jill/src/com/android/jill/frontend/java/JavaTransformer.java
+++ b/jill/src/com/android/jill/frontend/java/JavaTransformer.java
@@ -50,6 +50,7 @@
import com.android.sched.vfs.VFS;
import com.android.sched.vfs.VPath;
import com.android.sched.vfs.WriteZipFS;
+import com.android.sched.vfs.WrongVFSTypeException;
import org.objectweb.asm.ClassReader;
import org.objectweb.asm.tree.ClassNode;
@@ -200,9 +201,15 @@
Service service = mdCodec.parseString(new CodecContext(), "SHA");
try {
- return new GenericOutputVFS(new DeflateFS(new MessageDigestFS(
- new PrefixedFS(baseVFS, new VPath("jayce", '/')), new MessageDigestFactory(service))));
- } catch (NotDirectoryException | CannotCreateFileException | BadVFSFormatException e) {
+ return new GenericOutputVFS(
+ new DeflateFS(
+ new MessageDigestFS(
+ new PrefixedFS(baseVFS, new VPath("jayce", '/'), Existence.MAY_EXIST),
+ new MessageDigestFactory(service))));
+ } catch (NotDirectoryException
+ | CannotCreateFileException
+ | BadVFSFormatException
+ | WrongVFSTypeException e) {
throw new JillException(e);
}
}
diff --git a/jill/src/com/android/jill/frontend/java/JillWriter.java b/jill/src/com/android/jill/frontend/java/JillWriter.java
index 8c9efa2..5da7fb8 100644
--- a/jill/src/com/android/jill/frontend/java/JillWriter.java
+++ b/jill/src/com/android/jill/frontend/java/JillWriter.java
@@ -51,7 +51,7 @@
protected void writeValue(Object value, @CheckForNull ClassNode classNode,
@Nonnegative int currentLine) throws IOException{
if (value == null) {
- writer.writeNull();
+ writeValue(classNode, currentLine);
} else if (value instanceof Boolean) {
writeValue(((Boolean) value).booleanValue(), classNode, currentLine);
} else if (value instanceof Integer) {
diff --git a/jill/src/com/android/jill/frontend/java/MethodBodyWriter.java b/jill/src/com/android/jill/frontend/java/MethodBodyWriter.java
index 86d6893..0ac6c97 100644
--- a/jill/src/com/android/jill/frontend/java/MethodBodyWriter.java
+++ b/jill/src/com/android/jill/frontend/java/MethodBodyWriter.java
@@ -66,6 +66,7 @@
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
+import java.util.Map.Entry;
import java.util.Set;
import javax.annotation.CheckForNull;
@@ -159,14 +160,19 @@
@Nonnegative
int opcode;
@Nonnull
- Variable lhs;
+ Frame<BasicValue> lhsFrame;
+ int lhsStackIdx;
@Nonnull
- Variable rhs;
+ Frame<BasicValue> rhsFrame;
+ int rhsStackIdx;
- public CmpOperands(@Nonnegative int opcode, @Nonnull Variable lhs, @Nonnull Variable rhs) {
+ public CmpOperands(@Nonnegative int opcode, @Nonnull Frame<BasicValue> lhsFrame,
+ int lhsStackIdx, @Nonnull Frame<BasicValue> rhsFrame, int rhsStackIdx) {
this.opcode = opcode;
- this.lhs = lhs;
- this.rhs = rhs;
+ this.lhsFrame = lhsFrame;
+ this.lhsStackIdx = lhsStackIdx;
+ this.rhsFrame = rhsFrame;
+ this.rhsStackIdx = rhsStackIdx;
}
}
@@ -175,6 +181,9 @@
new HashMap<Variable, MethodBodyWriter.CmpOperands>();
@Nonnull
+ private final HashMap<Variable, Object> varWithCstValue = new HashMap<>();
+
+ @Nonnull
private final AnnotationWriter annotWriter;
@Nonnegative
@@ -272,7 +281,7 @@
annotWriter.writeAnnotations(currentMethod);
writeMethodBody();
writer.writeOpenNodeList(); // Markers
- writeOriginalTypeInfoMarker();
+ writeGenericSignatureMarker();
writeThrownExceptionMarker();
writer.writeCloseNodeList();
sourceInfoWriter.writeDebugEnd(currentClass, endLine);
@@ -333,7 +342,7 @@
annotWriter.writeAnnotations(currentMethod);
writeMethodBody();
writer.writeOpenNodeList(); // Markers
- writeOriginalTypeInfoMarker();
+ writeGenericSignatureMarker();
writeThrownExceptionMarker();
writer.writeCloseNodeList();
sourceInfoWriter.writeDebugEnd(currentClass, endLine);
@@ -355,20 +364,18 @@
writer.writeNull();
}
writer.writeOpenNodeList(); // Markers
- writeOriginalTypeInfoMarker();
+ writeGenericSignatureMarker();
writer.writeCloseNodeList();
sourceInfoWriter.writeDebugEnd(currentClass, endLine);
writer.writeClose();
}
- private void writeOriginalTypeInfoMarker() throws IOException {
+ private void writeGenericSignatureMarker() throws IOException {
if (AsmHelper.hasValidGenericSignature(currentMethod)) {
writer.writeKeyword(Token.GENERIC_SIGNATURE);
writer.writeOpen();
writer.writeString(currentMethod.signature);
writer.writeClose();
- } else {
- writer.writeNull();
}
}
@@ -444,7 +451,7 @@
caughtType = Type.getType(Throwable.class);
}
String id = "-e_" + (unusedVarCount++);
- declaringCatchVariable = new Variable(id, id, caughtType, null);
+ declaringCatchVariable = new Variable(id, id, caughtType);
catchBlockToCatchedVariable.put(tryCatchNode, declaringCatchVariable);
}
}
@@ -528,6 +535,7 @@
Frame<BasicValue> nextFrame = (insnIdx < frames.length - 1) ? frames[insnIdx + 1] : null;
if (insn instanceof JumpInsnNode) {
+ forceToUseCstThroughVariable();
writeInsn(currentFrame, (JumpInsnNode) insn, insnIdx);
} else if (insn instanceof LdcInsnNode) {
assert nextFrame != null;
@@ -538,6 +546,7 @@
assert nextFrame != null;
writeInsn(currentFrame, nextFrame, (VarInsnNode) insn);
} else if (insn instanceof LabelNode) {
+ forceToUseCstThroughVariable();
computeCatchList((LabelNode) insn);
writeCatchBlock((LabelNode) insn, insnIdx, frames);
writeLabelInsn(insnIdx);
@@ -596,6 +605,33 @@
writer.writeClose();
}
+
+ // Stack variable is produced before a branch instruction and was not yet consumed,
+ // generated it on this branch because another branch can produce another value and Jill
+ // do not know which value used since it depend on a runtime behavior.
+ // In the same way, if we reach a label, generate stack variable with constant because
+ // several path can produce different values.
+ private void forceToUseCstThroughVariable() throws IOException {
+ if (!varWithCstValue.isEmpty()) {
+ for (Entry<Variable, Object> entry : varWithCstValue.entrySet()) {
+ writeDebugBegin(currentClass, currentLine);
+ writer.writeCatchBlockIds(currentCatchList);
+ writer.writeKeyword(Token.EXPRESSION_STATEMENT);
+ writer.writeOpen();
+ writeDebugBegin(currentClass, currentLine);
+ writer.writeKeyword(Token.ASG_OPERATION);
+ writer.writeOpen();
+ writeLocalRef(entry.getKey());
+ writeValue(entry.getValue(), currentClass, currentLine);
+ writeDebugEnd(currentClass, currentLine);
+ writer.writeClose();
+ writeDebugEnd(currentClass, currentLine);
+ writer.writeClose();
+ }
+ varWithCstValue.clear();
+ }
+ }
+
private void writeLambda(@Nonnull Frame<BasicValue> frame, @Nonnull Frame<BasicValue> nextFrame,
@Nonnull InvokeDynamicInsnNode iDyn) throws IOException {
Handle mthImplementingLambda = (Handle) iDyn.bsmArgs[1];
@@ -608,7 +644,7 @@
writeDebugBegin(currentClass, currentLine);
writer.writeKeyword(Token.ASG_OPERATION);
writer.writeOpen();
- writeStackAccess(nextFrame, TOP_OF_STACK);
+ writeStack(nextFrame, TOP_OF_STACK);
writeDebugBegin(currentClass, currentLine);
writer.writeKeyword(Token.LAMBDA);
@@ -990,7 +1026,7 @@
writeDebugBegin(currentClass, currentLine);
writer.writeKeyword(Token.ASG_OPERATION);
writer.writeOpen();
- writeStackAccess(frames[labelIdx], TOP_OF_STACK);
+ writeStack(frames[labelIdx], TOP_OF_STACK);
writeLocalRef(declaringCatchVariable);
writeDebugEnd(currentClass, currentLine);
writer.writeClose();
@@ -1078,6 +1114,12 @@
private void writeInsn(@Nonnull Frame<BasicValue> frame, @Nonnull Frame<BasicValue> nextFrame,
@Nonnull IntInsnNode intInsn) throws IOException {
+ if (intInsn.getOpcode() == BIPUSH || intInsn.getOpcode() == SIPUSH) {
+ varWithCstValue.put(getStackVariable(nextFrame, TOP_OF_STACK),
+ new Integer(intInsn.operand));
+ return;
+ }
+
writeDebugBegin(currentClass, currentLine);
writer.writeCatchBlockIds(currentCatchList);
writer.writeKeyword(Token.EXPRESSION_STATEMENT);
@@ -1085,17 +1127,9 @@
writeDebugBegin(currentClass, currentLine);
writer.writeKeyword(Token.ASG_OPERATION);
writer.writeOpen();
- writeStackAccess(nextFrame, TOP_OF_STACK);
+ writeStack(nextFrame, TOP_OF_STACK);
switch (intInsn.getOpcode()) {
- case BIPUSH: {
- writeValue(intInsn.operand, currentClass, currentLine);
- break;
- }
- case SIPUSH: {
- writeValue(intInsn.operand, currentClass, currentLine);
- break;
- }
case NEWARRAY: {
switch (intInsn.operand) {
@@ -1157,7 +1191,7 @@
writeDebugBegin(currentClass, currentLine);
writer.writeKeyword(Token.ASG_OPERATION);
writer.writeOpen();
- writeStackAccess(nextFrame, TOP_OF_STACK);
+ writeStack(nextFrame, TOP_OF_STACK);
writeNewArray(frame, manaIns.desc, manaIns.dims);
writeDebugEnd(currentClass, currentLine);
writer.writeClose();
@@ -1174,7 +1208,7 @@
writer.writeId(typeDesc);
writer.writeOpenNodeList();
for (int i = (dims - 1); i >= 0; i--) {
- writeStackAccess(frame, TOP_OF_STACK - i);
+ readStack(frame, TOP_OF_STACK - i);
}
writer.writeCloseNodeList();
writer.writeOpenNodeList(); // Empty initializers list.
@@ -1247,11 +1281,11 @@
throw new JillException("Not yet supported " + Printer.OPCODES[opcode]);
}
}
- writeStackAccess(frame, startIdx);
+ readStack(frame, startIdx);
writeDebugEnd(currentClass, currentLine);
writer.writeClose();
- writeStackAccess(frame, startIdx + 1);
+ readStack(frame, startIdx + 1);
writeDebugEnd(currentClass, currentLine);
writer.writeClose();
}
@@ -1295,7 +1329,7 @@
writer.writeCatchBlockIds(currentCatchList);
writer.writeKeyword(Token.SWITCH_STATEMENT);
writer.writeOpen();
- writeStackAccess(frame, TOP_OF_STACK);
+ readStack(frame, TOP_OF_STACK);
writer.writeIds(cases);
writeDebugBegin(currentClass, currentLine);
writer.writeCatchBlockIds(currentCatchList);
@@ -1308,7 +1342,11 @@
writer.writeKeyword(Token.CASE_STATEMENT);
writer.writeOpen();
writer.writeId(c.caseId);
- writeValue(c.key, currentClass, currentLine);
+ if (c.key == null) {
+ writer.writeNull();
+ } else {
+ writeValue(c.key, currentClass, currentLine);
+ }
writeDebugEnd(currentClass, currentLine);
writer.writeClose();
writeGoto(c.labelNode);
@@ -1330,7 +1368,7 @@
writeDebugBegin(currentClass, currentLine);
writer.writeKeyword(Token.ASG_OPERATION);
writer.writeOpen();
- writeStackAccess(nextFrame, TOP_OF_STACK);
+ writeStack(nextFrame, TOP_OF_STACK);
String descriptor = Type.getObjectType(typeInsn.desc).getDescriptor();
@@ -1356,7 +1394,7 @@
writeDebugBegin(currentClass, currentLine);
writer.writeKeyword(Token.INSTANCE_OF);
writer.writeOpen();
- writeStackAccess(frame, TOP_OF_STACK);
+ readStack(frame, TOP_OF_STACK);
writer.writeId(descriptor);
writeDebugEnd(currentClass, currentLine);
writer.writeClose();
@@ -1396,7 +1434,7 @@
writeCastOperation(Token.REINTERPRETCAST_OPERATION, frame,
Type.BOOLEAN_TYPE.getDescriptor(), TOP_OF_STACK);
} else {
- writeStackAccess(frame, TOP_OF_STACK);
+ readStack(frame, TOP_OF_STACK);
}
break;
}
@@ -1406,12 +1444,12 @@
writeCastOperation(Token.REINTERPRETCAST_OPERATION, frame,
Type.BOOLEAN_TYPE.getDescriptor(), TOP_OF_STACK);
} else {
- writeStackAccess(frame, TOP_OF_STACK);
+ readStack(frame, TOP_OF_STACK);
}
break;
}
case GETFIELD: {
- writeStackAccess(nextFrame, TOP_OF_STACK);
+ writeStack(nextFrame, TOP_OF_STACK);
if (Type.getType(fldInsn.desc) == Type.BOOLEAN_TYPE) {
writeDebugBegin(currentClass, currentLine);
writer.writeKeyword(Token.REINTERPRETCAST_OPERATION);
@@ -1426,7 +1464,7 @@
break;
}
case GETSTATIC: {
- writeStackAccess(nextFrame, TOP_OF_STACK);
+ writeStack(nextFrame, TOP_OF_STACK);
if (Type.getType(fldInsn.desc) == Type.BOOLEAN_TYPE) {
writeDebugBegin(currentClass, currentLine);
writer.writeKeyword(Token.REINTERPRETCAST_OPERATION);
@@ -1473,7 +1511,7 @@
writeDebugBegin(currentClass, currentLine);
writer.writeKeyword(Token.ASG_OPERATION);
writer.writeOpen();
- writeStackAccess(nextFrame, TOP_OF_STACK);
+ writeStack(nextFrame, TOP_OF_STACK);
if (returnType == Type.BOOLEAN_TYPE) {
writeDebugBegin(currentClass, currentLine);
writer.writeKeyword(Token.REINTERPRETCAST_OPERATION);
@@ -1539,7 +1577,7 @@
if ((receiverType.equals(frame.getStack(frame.getStackSize() - stackArgIndex).getType())
&& !isCallToPolymorphicMethod) || mthInsn.name.equals("<init>")) {
// It is not possible to add cast on object before call to init
- writeStackAccess(frame, -stackArgIndex);
+ readStack(frame, -stackArgIndex);
} else {
writeCastOperation(Token.REINTERPRETCAST_OPERATION, frame, receiverType.getDescriptor(),
-stackArgIndex);
@@ -1588,7 +1626,7 @@
writeCastOperation(Token.REINTERPRETCAST_OPERATION, frame, argType.getDescriptor(),
-stackArgIndex);
} else {
- writeStackAccess(frame, -stackArgIndex);
+ readStack(frame, -stackArgIndex);
}
stackArgIndex--;
}
@@ -1638,7 +1676,7 @@
writeDebugBegin(currentClass, currentLine);
writer.writeKeyword(Token.ASG_OPERATION);
writer.writeOpen();
- writeStackAccess(nextFrame, TOP_OF_STACK);
+ writeStack(nextFrame, TOP_OF_STACK);
if (getLocalVariable(frame, varInsn.var).getType() == Type.BOOLEAN_TYPE) {
writeCastOperation(Token.REINTERPRETCAST_OPERATION, getLocalVariable(frame, varInsn.var),
Type.INT_TYPE.getDescriptor());
@@ -1674,7 +1712,7 @@
writeCastOperation(Token.REINTERPRETCAST_OPERATION, frame, destType.getDescriptor(),
TOP_OF_STACK);
} else {
- writeStackAccess(frame, TOP_OF_STACK);
+ readStack(frame, TOP_OF_STACK);
}
writeDebugEnd(currentClass, currentLine);
writer.writeClose();
@@ -1700,91 +1738,35 @@
case ICONST_4:
case ICONST_5: {
assert nextFrame != null;
- writeDebugBegin(currentClass, currentLine);
- writer.writeCatchBlockIds(currentCatchList);
- writer.writeKeyword(Token.EXPRESSION_STATEMENT);
- writer.writeOpen();
- writeDebugBegin(currentClass, currentLine);
- writer.writeKeyword(Token.ASG_OPERATION);
- writer.writeOpen();
- writeStackAccess(nextFrame, TOP_OF_STACK);
- writeValue(insn.getOpcode() - ICONST_0, currentClass, currentLine);
- writeDebugEnd(currentClass, currentLine);
- writer.writeClose();
- writeDebugEnd(currentClass, currentLine);
- writer.writeClose();
+ varWithCstValue.put(getStackVariable(nextFrame, TOP_OF_STACK),
+ new Integer(insn.getOpcode() - ICONST_0));
break;
}
case ACONST_NULL: {
assert nextFrame != null;
- writeDebugBegin(currentClass, currentLine);
- writer.writeCatchBlockIds(currentCatchList);
- writer.writeKeyword(Token.EXPRESSION_STATEMENT);
- writer.writeOpen();
- writeDebugBegin(currentClass, currentLine);
- writer.writeKeyword(Token.ASG_OPERATION);
- writer.writeOpen();
- writeStackAccess(nextFrame, TOP_OF_STACK);
- writeValue(currentClass, currentLine);
- writeDebugEnd(currentClass, currentLine);
- writer.writeClose();
- writeDebugEnd(currentClass, currentLine);
- writer.writeClose();
+ varWithCstValue.put(getStackVariable(nextFrame, TOP_OF_STACK), null);
break;
}
case LCONST_0:
case LCONST_1: {
assert nextFrame != null;
- writeDebugBegin(currentClass, currentLine);
- writer.writeCatchBlockIds(currentCatchList);
- writer.writeKeyword(Token.EXPRESSION_STATEMENT);
- writer.writeOpen();
- writeDebugBegin(currentClass, currentLine);
- writer.writeKeyword(Token.ASG_OPERATION);
- writer.writeOpen();
- writeStackAccess(nextFrame, TOP_OF_STACK);
- writeValue((long) (insn.getOpcode() - LCONST_0), currentClass, currentLine);
- writeDebugEnd(currentClass, currentLine);
- writer.writeClose();
- writeDebugEnd(currentClass, currentLine);
- writer.writeClose();
+ varWithCstValue.put(getStackVariable(nextFrame, TOP_OF_STACK),
+ new Long(insn.getOpcode() - LCONST_0));
break;
}
case FCONST_0:
case FCONST_1:
case FCONST_2: {
assert nextFrame != null;
- writeDebugBegin(currentClass, currentLine);
- writer.writeCatchBlockIds(currentCatchList);
- writer.writeKeyword(Token.EXPRESSION_STATEMENT);
- writer.writeOpen();
- writeDebugBegin(currentClass, currentLine);
- writer.writeKeyword(Token.ASG_OPERATION);
- writer.writeOpen();
- writeStackAccess(nextFrame, TOP_OF_STACK);
- writeValue((float) (insn.getOpcode() - FCONST_0), currentClass, currentLine);
- writeDebugEnd(currentClass, currentLine);
- writer.writeClose();
- writeDebugEnd(currentClass, currentLine);
- writer.writeClose();
+ varWithCstValue.put(getStackVariable(nextFrame, TOP_OF_STACK),
+ new Float(insn.getOpcode() - FCONST_0));
break;
}
case DCONST_0:
case DCONST_1: {
assert nextFrame != null;
- writeDebugBegin(currentClass, currentLine);
- writer.writeCatchBlockIds(currentCatchList);
- writer.writeKeyword(Token.EXPRESSION_STATEMENT);
- writer.writeOpen();
- writeDebugBegin(currentClass, currentLine);
- writer.writeKeyword(Token.ASG_OPERATION);
- writer.writeOpen();
- writeStackAccess(nextFrame, TOP_OF_STACK);
- writeValue((double) (insn.getOpcode() - DCONST_0), currentClass, currentLine);
- writeDebugEnd(currentClass, currentLine);
- writer.writeClose();
- writeDebugEnd(currentClass, currentLine);
- writer.writeClose();
+ varWithCstValue.put(getStackVariable(nextFrame, TOP_OF_STACK),
+ new Double(insn.getOpcode() - DCONST_0));
break;
}
case D2L:
@@ -1867,10 +1849,9 @@
case DCMPL:
case DCMPG: {
assert nextFrame != null;
- Variable lhs = getStackVariable(frame, TOP_OF_STACK - 1);
- Variable rhs = getStackVariable(frame, TOP_OF_STACK);
Variable result = getStackVariable(nextFrame, TOP_OF_STACK);
- cmpOperands.put(result, new CmpOperands(insn.getOpcode(), lhs, rhs));
+ cmpOperands.put(result,
+ new CmpOperands(insn.getOpcode(), frame, TOP_OF_STACK - 1, frame, TOP_OF_STACK));
break;
}
case DSUB:
@@ -1917,11 +1898,11 @@
writeDebugBegin(currentClass, currentLine);
writer.writeKeyword(Token.ASG_OPERATION);
writer.writeOpen();
- writeStackAccess(nextFrame, TOP_OF_STACK);
+ writeStack(nextFrame, TOP_OF_STACK);
writeDebugBegin(currentClass, currentLine);
writer.writeKeyword(Token.PREFIX_NEG_OPERATION);
writer.writeOpen();
- writeStackAccess(frame, TOP_OF_STACK);
+ readStack(frame, TOP_OF_STACK);
writeDebugEnd(currentClass, currentLine);
writer.writeClose();
writeDebugEnd(currentClass, currentLine);
@@ -1975,11 +1956,11 @@
writeDebugBegin(currentClass, currentLine);
writer.writeKeyword(Token.ASG_OPERATION);
writer.writeOpen();
- writeStackAccess(nextFrame, TOP_OF_STACK);
+ writeStack(nextFrame, TOP_OF_STACK);
writeDebugBegin(currentClass, currentLine);
writer.writeKeyword(Token.ARRAY_LENGTH);
writer.writeOpen();
- writeStackAccess(frame, TOP_OF_STACK);
+ readStack(frame, TOP_OF_STACK);
writeDebugEnd(currentClass, currentLine);
writer.writeClose();
writeDebugEnd(currentClass, currentLine);
@@ -2005,7 +1986,7 @@
writeDebugBegin(currentClass, currentLine);
writer.writeKeyword(Token.ASG_OPERATION);
writer.writeOpen();
- writeStackAccess(nextFrame, TOP_OF_STACK);
+ writeStack(nextFrame, TOP_OF_STACK);
writeArrayRef(frame, TOP_OF_STACK - 1, insn.getOpcode());
writeDebugEnd(currentClass, currentLine);
writer.writeClose();
@@ -2029,7 +2010,7 @@
writer.writeKeyword(Token.ASG_OPERATION);
writer.writeOpen();
writeArrayRef(frame, TOP_OF_STACK - 2, insn.getOpcode());
- writeStackAccess(frame, TOP_OF_STACK);
+ readStack(frame, TOP_OF_STACK);
writeDebugEnd(currentClass, currentLine);
writer.writeClose();
writeDebugEnd(currentClass, currentLine);
@@ -2041,7 +2022,7 @@
writer.writeCatchBlockIds(currentCatchList);
writer.writeKeyword(Token.LOCK);
writer.writeOpen();
- writeStackAccess(frame, TOP_OF_STACK);
+ readStack(frame, TOP_OF_STACK);
writeDebugEnd(currentClass, currentLine);
writer.writeClose();
break;
@@ -2051,7 +2032,7 @@
writer.writeCatchBlockIds(currentCatchList);
writer.writeKeyword(Token.UNLOCK);
writer.writeOpen();
- writeStackAccess(frame, TOP_OF_STACK);
+ readStack(frame, TOP_OF_STACK);
writeDebugEnd(currentClass, currentLine);
writer.writeClose();
break;
@@ -2081,7 +2062,7 @@
writer.writeKeyword(Token.ASG_OPERATION);
writer.writeOpen();
writeLocalRef(tmpVar);
- writeStackAccess(frame, TOP_OF_STACK - 1);
+ readStack(frame, TOP_OF_STACK - 1);
writeDebugEnd(currentClass, currentLine);
writer.writeClose();
writeDebugEnd(currentClass, currentLine);
@@ -2111,7 +2092,7 @@
writeDebugBegin(currentClass, currentLine);
writer.writeKeyword(Token.ASG_OPERATION);
writer.writeOpen();
- writeStackAccess(nextFrame, TOP_OF_STACK);
+ writeStack(nextFrame, TOP_OF_STACK);
writeLocalRef(tmpVar);
writeDebugEnd(currentClass, currentLine);
writer.writeClose();
@@ -2199,6 +2180,7 @@
// Result of comparison must be pop
cmpOperands.remove(getStackVariable(frame, TOP_OF_STACK));
}
+ removeStackVariableConstant(frame, TOP_OF_STACK);
break;
}
case NOP:
@@ -2214,6 +2196,10 @@
// Result of comparison must be pop
cmpOperands.remove(getStackVariable(frame, TOP_OF_STACK - 1));
}
+ removeStackVariableConstant(frame, TOP_OF_STACK);
+ removeStackVariableConstant(frame, TOP_OF_STACK - 1);
+ } else {
+ removeStackVariableConstant(frame, TOP_OF_STACK);
}
break;
}
@@ -2222,7 +2208,7 @@
writer.writeCatchBlockIds(currentCatchList);
writer.writeKeyword(Token.THROW_STATEMENT);
writer.writeOpen();
- writeStackAccess(frame, TOP_OF_STACK);
+ readStack(frame, TOP_OF_STACK);
writeDebugEnd(currentClass, currentLine);
writer.writeClose();
break;
@@ -2238,21 +2224,8 @@
return cmpOperands.containsKey(stackVar);
}
- private void writeInsn(@Nonnull Frame<BasicValue> nextFrame, @Nonnull LdcInsnNode ldcInsn)
- throws IOException {
- writeDebugBegin(currentClass, currentLine);
- writer.writeCatchBlockIds(currentCatchList);
- writer.writeKeyword(Token.EXPRESSION_STATEMENT);
- writer.writeOpen();
- writeDebugBegin(currentClass, currentLine);
- writer.writeKeyword(Token.ASG_OPERATION);
- writer.writeOpen();
- writeStackAccess(nextFrame, TOP_OF_STACK);
- writeValue(ldcInsn.cst, currentClass, currentLine);
- writeDebugEnd(currentClass, currentLine);
- writer.writeClose();
- writeDebugEnd(currentClass, currentLine);
- writer.writeClose();
+ private void writeInsn(@Nonnull Frame<BasicValue> nextFrame, @Nonnull LdcInsnNode ldcInsn) {
+ varWithCstValue.put(getStackVariable(nextFrame, TOP_OF_STACK), ldcInsn.cst);
}
private void writeInsn(
@@ -2294,8 +2267,8 @@
writeDebugBegin(currentClass, currentLine);
writer.writeKeyword(comparisonToken);
writer.writeOpen();
- writeLocalRef(cmpOps.lhs);
- writeLocalRef(cmpOps.rhs);
+ readStack(cmpOps.lhsFrame, cmpOps.lhsStackIdx);
+ readStack(cmpOps.rhsFrame, cmpOps.rhsStackIdx);
writeDebugEnd(currentClass, currentLine);
writer.writeClose();
@@ -2336,7 +2309,7 @@
writeDebugBegin(currentClass, currentLine);
writer.writeKeyword(conditionalToken);
writer.writeOpen();
- writeStackAccess(frame, TOP_OF_STACK);
+ readStack(frame, TOP_OF_STACK);
Variable v = getStackVariable(frame, TOP_OF_STACK);
if (v.getType().equals(Type.BOOLEAN_TYPE)) {
writeValue(false, currentClass, currentLine);
@@ -2381,8 +2354,8 @@
writeDebugBegin(currentClass, currentLine);
writer.writeKeyword(conditionalToken);
writer.writeOpen();
- writeStackAccess(frame, TOP_OF_STACK - 1);
- writeStackAccess(frame, TOP_OF_STACK);
+ readStack(frame, TOP_OF_STACK - 1);
+ readStack(frame, TOP_OF_STACK);
writeDebugEnd(currentClass, currentLine);
writer.writeClose();
// Then block
@@ -2524,17 +2497,27 @@
if (stackIdx == 0) {
writer.writeNull();
} else {
- writeStackAccess(frame, stackIdx);
+ readStack(frame, stackIdx);
}
writeDebugEnd(currentClass, currentLine);
writer.writeClose();
}
- private void writeStackAccess(@Nonnull Frame<BasicValue> frame, int stackIdx)
+ private void writeStack(@Nonnull Frame<BasicValue> frame, int stackIdx)
throws IndexOutOfBoundsException, IOException {
writeLocalRef(getStackVariable(frame, stackIdx));
}
+ private void readStack(@Nonnull Frame<BasicValue> frame, int stackIdx)
+ throws IndexOutOfBoundsException, IOException {
+ Variable stackVariable = getStackVariable(frame, stackIdx);
+ if (varWithCstValue.containsKey(stackVariable)) {
+ writeValue(varWithCstValue.remove(stackVariable), currentClass, currentLine);
+ } else {
+ writeLocalRef(stackVariable);
+ }
+ }
+
private void writeLocalAccess(@Nonnull Frame<BasicValue> frame, @Nonnegative int localIdx)
throws IndexOutOfBoundsException, IOException {
writeLocalRef(getLocalVariable(frame, localIdx));
@@ -2601,7 +2584,7 @@
writer.writeId(fldInsn.desc);
writer.writeId(Type.getObjectType(fldInsn.owner).getDescriptor());
writer.writeFieldRefKindEnum(FieldRefKind.INSTANCE);
- writeStackAccess(frame, offset);
+ readStack(frame, offset);
writeDebugEnd(currentClass, currentLine);
writer.writeClose();
}
@@ -2686,7 +2669,7 @@
writeDebugBegin(currentClass, currentLine);
writer.writeKeyword(Token.ASG_OPERATION);
writer.writeOpen();
- writeStackAccess(nextFrame, TOP_OF_STACK);
+ writeStack(nextFrame, TOP_OF_STACK);
writeCastOperation(Token.DYNAMIC_CAST_OPERATION, frame, Type.getDescriptor(targetType),
TOP_OF_STACK);
writeDebugEnd(currentClass, currentLine);
@@ -2715,7 +2698,20 @@
private void writeCastOperation(@Nonnull Token cast, @Nonnull Frame<BasicValue> frame,
@Nonnull String typeDesc, int stackIdx) throws IOException {
- writeCastOperation(cast, getStackVariable(frame, stackIdx), typeDesc);
+ assert cast == Token.DYNAMIC_CAST_OPERATION || cast == Token.REINTERPRETCAST_OPERATION;
+ writeDebugBegin(currentClass, currentLine);
+ writer.writeKeyword(cast);
+ writer.writeOpen();
+ if (cast == Token.DYNAMIC_CAST_OPERATION) {
+ ArrayList<String> types = new ArrayList<String>(1);
+ types.add(typeDesc);
+ writer.writeIds(types);
+ } else {
+ writer.writeId(typeDesc);
+ }
+ readStack(frame, stackIdx);
+ writeDebugEnd(currentClass, currentLine);
+ writer.writeClose();
}
private void writeDup(@Nonnull Frame<BasicValue> frame, @Nonnull Frame<BasicValue> nextFrame)
@@ -2735,15 +2731,26 @@
private void writeDupX1(@Nonnull Frame<BasicValue> frame, @Nonnull Frame<BasicValue> nextFrame)
throws IOException {
writeAssign(frame, TOP_OF_STACK, nextFrame, TOP_OF_STACK);
+ removeStackVariableConstant(frame, TOP_OF_STACK);
writeAssign(frame, TOP_OF_STACK - 1, nextFrame, TOP_OF_STACK - 1);
+ removeStackVariableConstant(frame, TOP_OF_STACK - 1);
writeAssign(nextFrame, TOP_OF_STACK, nextFrame, TOP_OF_STACK - 2);
}
+ private void removeStackVariableConstant(@Nonnull Frame<BasicValue> frame, int stackIdx) {
+ // Stack level will be erased by an assignment thus it is no longer a constant, it could become
+ // one again if the stack variable read is a constant
+ varWithCstValue.remove(getStackVariable(frame, stackIdx));
+ }
+
private void writeDupX2(@Nonnull Frame<BasicValue> frame, @Nonnull Frame<BasicValue> nextFrame)
throws IOException {
writeAssign(frame, TOP_OF_STACK, nextFrame, TOP_OF_STACK);
+ removeStackVariableConstant(frame, TOP_OF_STACK);
writeAssign(frame, TOP_OF_STACK - 1, nextFrame, TOP_OF_STACK - 1);
+ removeStackVariableConstant(frame, TOP_OF_STACK - 1);
writeAssign(frame, TOP_OF_STACK - 2, nextFrame, TOP_OF_STACK - 2);
+ removeStackVariableConstant(frame, TOP_OF_STACK - 2);
writeAssign(nextFrame, TOP_OF_STACK, nextFrame, TOP_OF_STACK - 3);
}
@@ -2774,8 +2781,11 @@
private void writeDup2X1(@Nonnull Frame<BasicValue> frame, @Nonnull Frame<BasicValue> nextFrame)
throws IOException {
writeAssign(frame, TOP_OF_STACK, nextFrame, TOP_OF_STACK);
+ removeStackVariableConstant(frame, TOP_OF_STACK);
writeAssign(frame, TOP_OF_STACK - 1, nextFrame, TOP_OF_STACK - 1);
+ removeStackVariableConstant(frame, TOP_OF_STACK - 1);
writeAssign(frame, TOP_OF_STACK - 2, nextFrame, TOP_OF_STACK - 2);
+ removeStackVariableConstant(frame, TOP_OF_STACK - 2);
writeAssign(nextFrame, TOP_OF_STACK, nextFrame, TOP_OF_STACK - 3);
writeAssign(nextFrame, TOP_OF_STACK - 1, nextFrame, TOP_OF_STACK - 4);
}
@@ -2783,15 +2793,20 @@
private void writeDup2X2(@Nonnull Frame<BasicValue> frame, @Nonnull Frame<BasicValue> nextFrame)
throws IOException {
writeAssign(frame, TOP_OF_STACK, nextFrame, TOP_OF_STACK);
+ removeStackVariableConstant(frame, TOP_OF_STACK);
writeAssign(frame, TOP_OF_STACK - 1, nextFrame, TOP_OF_STACK - 1);
+ removeStackVariableConstant(frame, TOP_OF_STACK - 1);
writeAssign(frame, TOP_OF_STACK - 2, nextFrame, TOP_OF_STACK - 2);
+ removeStackVariableConstant(frame, TOP_OF_STACK - 2);
writeAssign(frame, TOP_OF_STACK - 3, nextFrame, TOP_OF_STACK - 3);
+ removeStackVariableConstant(frame, TOP_OF_STACK - 3);
writeAssign(nextFrame, TOP_OF_STACK, nextFrame, TOP_OF_STACK - 4);
writeAssign(nextFrame, TOP_OF_STACK - 1, nextFrame, TOP_OF_STACK - 5);
}
/**
* writes frame2.stack[frame.stack.size() + offset2] = frame1.stack[frame.stack.size() + offset1]
+ * This method is used to simulate stack operations such swap, dup and so on.
*
* @throws IOException
*/
@@ -2800,19 +2815,27 @@
assert !isBooleanAssignIssue(
getStackVariable(frame2, offset2),
getStackVariable(frame1, offset1));
- writeDebugBegin(currentClass, currentLine);
- writer.writeCatchBlockIds(currentCatchList);
- writer.writeKeyword(Token.EXPRESSION_STATEMENT);
- writer.writeOpen();
- writeDebugBegin(currentClass, currentLine);
- writer.writeKeyword(Token.ASG_OPERATION);
- writer.writeOpen();
- writeStackAccess(frame2, offset2);
- writeStackAccess(frame1, offset1);
- writeDebugEnd(currentClass, currentLine);
- writer.writeClose();
- writeDebugEnd(currentClass, currentLine);
- writer.writeClose();
+ Variable stackVariableRead = getStackVariable(frame1, offset1);
+ if (varWithCstValue.containsKey(stackVariableRead)) {
+ // The read variable is a constant, thus do not write the constant into the stack but
+ // associate this stack variable with the same constant.
+ varWithCstValue.put(getStackVariable(frame2, offset2),
+ varWithCstValue.get(stackVariableRead));
+ } else {
+ writeDebugBegin(currentClass, currentLine);
+ writer.writeCatchBlockIds(currentCatchList);
+ writer.writeKeyword(Token.EXPRESSION_STATEMENT);
+ writer.writeOpen();
+ writeDebugBegin(currentClass, currentLine);
+ writer.writeKeyword(Token.ASG_OPERATION);
+ writer.writeOpen();
+ writeStack(frame2, offset2);
+ readStack(frame1, offset1);
+ writeDebugEnd(currentClass, currentLine);
+ writer.writeClose();
+ writeDebugEnd(currentClass, currentLine);
+ writer.writeClose();
+ }
}
private void writeBinaryOperation(
@@ -2828,12 +2851,12 @@
writeDebugBegin(currentClass, currentLine);
writer.writeKeyword(Token.ASG_OPERATION);
writer.writeOpen();
- writeStackAccess(nextFrame, TOP_OF_STACK);
+ writeStack(nextFrame, TOP_OF_STACK);
writeDebugBegin(currentClass, currentLine);
writer.writeKeyword(op);
writer.writeOpen();
- writeStackAccess(frame, TOP_OF_STACK - 1);
- writeStackAccess(frame, TOP_OF_STACK);
+ readStack(frame, TOP_OF_STACK - 1);
+ readStack(frame, TOP_OF_STACK);
writeDebugEnd(currentClass, currentLine);
writer.writeClose();
writeDebugEnd(currentClass, currentLine);
@@ -2861,6 +2884,9 @@
}
}
for (int stackIdx = 0; stackIdx < frame.getStackSize(); stackIdx++) {
+ // Useless local variables can be created by Jill, indeed all stack variables are created
+ // but some of them will be never used, for instance constant will be put directly on
+ // their usage and will not used stack variable.
Variable v = getStackVariable(frame, -stackIdx - 1);
locals.add(v);
}
@@ -2882,7 +2908,7 @@
private Variable getTempVarFromTopOfStackMinus1(@Nonnull Frame<BasicValue> frame) {
Variable topOfStackBeforeInst = getStackVariable(frame, TOP_OF_STACK - 1);
String tmpVarId = "-swap_tmp_" + typeToUntypedDesc(topOfStackBeforeInst.getType());
- Variable tmpVariable = getVariable(tmpVarId, tmpVarId, topOfStackBeforeInst.getType(), null);
+ Variable tmpVariable = getVariable(tmpVarId, tmpVarId, topOfStackBeforeInst.getType());
return tmpVariable;
}
@@ -3051,17 +3077,16 @@
BasicValue bv = frame.getStack(stackHeight);
assert bv != BasicValue.UNINITIALIZED_VALUE;
String id = "-s_" + stackHeight + "_" + typeToUntypedDesc(bv.getType());
- Variable variable = getVariable(id, id, typeToUntyped(bv.getType()), null);
+ Variable variable = getVariable(id, id, typeToUntyped(bv.getType()));
return variable;
}
@Nonnull
- private Variable getVariable(@Nonnull String id, @Nonnull String name, @Nonnull Type type,
- @CheckForNull String signature) {
+ private Variable getVariable(@Nonnull String id, @Nonnull String name, @Nonnull Type type) {
Variable var = nameToVar.get(id);
if (var == null) {
- var = new Variable(id, name, type, signature);
+ var = new Variable(id, name, type);
nameToVar.put(id, var);
}
diff --git a/jill/src/com/android/jill/frontend/java/Variable.java b/jill/src/com/android/jill/frontend/java/Variable.java
index 04619ed..1bad9a1 100644
--- a/jill/src/com/android/jill/frontend/java/Variable.java
+++ b/jill/src/com/android/jill/frontend/java/Variable.java
@@ -51,9 +51,8 @@
/* Index of local variable, -1 means the variable does not represent a local variable. */
private final int localIdx;
- public Variable(@Nonnull String id, @CheckForNull String name, @Nonnull Type type,
- @CheckForNull String signature) {
- this(id, name, type, signature, NO_LOCAL_IDX, Opcodes.ACC_SYNTHETIC);
+ public Variable(@Nonnull String id, @CheckForNull String name, @Nonnull Type type) {
+ this(id, name, type, null, NO_LOCAL_IDX, Opcodes.ACC_SYNTHETIC);
}
public Variable(@Nonnull String id, @CheckForNull String name, @Nonnull Type type,
diff --git a/sched/.classpath b/sched/.classpath
index b7f9d32..28dfb36 100644
--- a/sched/.classpath
+++ b/sched/.classpath
@@ -3,7 +3,7 @@
<classpathentry excluding="com/android/sched/util/log/tracer/SpeedTracer.java" kind="src" path="src"/>
<classpathentry kind="src" path="tests"/>
<classpathentry kind="src" path="rsc"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="src" path=".apt_generated">
<attributes>
<attribute name="optional" value="true"/>
diff --git a/sched/.settings/org.eclipse.jdt.core.prefs b/sched/.settings/org.eclipse.jdt.core.prefs
index ffb197c..0a1d86d 100644
--- a/sched/.settings/org.eclipse.jdt.core.prefs
+++ b/sched/.settings/org.eclipse.jdt.core.prefs
@@ -7,9 +7,9 @@
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -98,7 +98,7 @@
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.processAnnotations=enabled
-org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.compiler.source=1.8
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field=1585
org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field.count_dependent=1585|-1|1585
diff --git a/sched/build.gradle b/sched/build.gradle
index 6413e19..fa55937 100644
--- a/sched/build.gradle
+++ b/sched/build.gradle
@@ -21,8 +21,8 @@
apply from: "$rootDir/gradle-script/checkstyle.gradle"
apply from: "$rootDir/gradle-script/findbugs.gradle"
- sourceCompatibility = 1.7
- targetCompatibility = 1.7
+ sourceCompatibility = 1.8
+ targetCompatibility = 1.8
sourceSets {
main {
diff --git a/sched/src/com/android/sched/build/SchedAnnotationProcessor.java b/sched/src/com/android/sched/build/SchedAnnotationProcessor.java
index 2f10208..64802a0 100644
--- a/sched/src/com/android/sched/build/SchedAnnotationProcessor.java
+++ b/sched/src/com/android/sched/build/SchedAnnotationProcessor.java
@@ -16,6 +16,8 @@
package com.android.sched.build;
+import com.android.sched.util.findbugs.SuppressFBWarnings;
+
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
@@ -99,9 +101,10 @@
FILTER("com.android.sched.schedulable.ComponentFilter") {
@Override
@Nonnull
+ @SuppressFBWarnings("NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE") // probably a FindBugs bug
public TypeMirror getTypeMirror() throws AbortException {
return env.getTypeUtils().getDeclaredType(getTypeElement(),
- env.getTypeUtils().getWildcardType(null, null));
+ env.getTypeUtils().getWildcardType(null, null));
}
},
PRODUCTION("com.android.sched.item.Production"),
@@ -145,6 +148,7 @@
if (typeElement == null) {
typeElement = env.getElementUtils().getTypeElement(getCanonicalName(fqName));
if (typeElement == null) {
+ assert env != null;
env.getMessager().printMessage(Kind.ERROR, "Can not get element type '" + fqName + "'");
throw new AbortException();
}
diff --git a/sched/src/com/android/sched/vfs/DeflateFS.java b/sched/src/com/android/sched/vfs/DeflateFS.java
index 90edda1..a6a5825 100644
--- a/sched/src/com/android/sched/vfs/DeflateFS.java
+++ b/sched/src/com/android/sched/vfs/DeflateFS.java
@@ -37,9 +37,7 @@
import java.util.Collection;
import java.util.List;
import java.util.Set;
-import java.util.zip.Deflater;
import java.util.zip.DeflaterOutputStream;
-import java.util.zip.Inflater;
import java.util.zip.InflaterInputStream;
import javax.annotation.CheckForNull;
@@ -160,7 +158,7 @@
@Override
@Nonnull
InputStream openRead(@Nonnull DeflateVFile file) throws WrongPermissionException {
- return new InflaterInputStream(vfs.openRead(file.getWrappedFile()), new Inflater());
+ return new InflaterInputStream(vfs.openRead(file.getWrappedFile()));
}
@Override
@@ -173,7 +171,7 @@
@Nonnull
OutputStream openWrite(@Nonnull DeflateVFile file, boolean append)
throws WrongPermissionException {
- return new DeflaterOutputStream(vfs.openWrite(file.getWrappedFile(), append), new Deflater());
+ return new DeflaterOutputStream(vfs.openWrite(file.getWrappedFile(), append));
}
@Override
diff --git a/sched/src/com/android/sched/vfs/PrefixedFS.java b/sched/src/com/android/sched/vfs/PrefixedFS.java
index d90cd0d..58da11d 100644
--- a/sched/src/com/android/sched/vfs/PrefixedFS.java
+++ b/sched/src/com/android/sched/vfs/PrefixedFS.java
@@ -19,6 +19,7 @@
import com.android.sched.util.file.CannotCreateFileException;
import com.android.sched.util.file.CannotDeleteFileException;
import com.android.sched.util.file.CannotGetModificationTimeException;
+import com.android.sched.util.file.FileOrDirectory.Existence;
import com.android.sched.util.file.NoSuchFileException;
import com.android.sched.util.file.NotDirectoryException;
import com.android.sched.util.file.NotFileException;
@@ -44,16 +45,22 @@
private final BaseVDir rootDir;
@SuppressWarnings("unchecked")
- public PrefixedFS(@Nonnull VFS vfs, @Nonnull VPath prefix)
- throws CannotCreateFileException, NotDirectoryException {
+ public PrefixedFS(@Nonnull VFS vfs, @Nonnull VPath prefix, @Nonnull Existence existence)
+ throws CannotCreateFileException, NotDirectoryException, WrongVFSTypeException {
this.vfs = (BaseVFS<BaseVDir, BaseVFile>) vfs;
BaseVDir rootDir;
- // let's try to get the VDir before creating it because we not have write permissions.
try {
rootDir = this.vfs.getRootDir().getVDir(prefix);
+ if (existence == Existence.NOT_EXIST) {
+ throw new WrongVFSTypeException(vfs, vfs.getLocation(), getDescription());
+ }
} catch (NoSuchFileException e) {
- rootDir = this.vfs.getRootDir().createVDir(prefix);
+ if (existence == Existence.MUST_EXIST) {
+ throw new WrongVFSTypeException(vfs, vfs.getLocation(), getDescription(), e);
+ } else {
+ rootDir = this.vfs.getRootDir().createVDir(prefix);
+ }
}
this.rootDir = changeVFS(rootDir);
}
diff --git a/sched/src/com/android/sched/vfs/WrongVFSTypeException.java b/sched/src/com/android/sched/vfs/WrongVFSTypeException.java
new file mode 100644
index 0000000..b01f7ff
--- /dev/null
+++ b/sched/src/com/android/sched/vfs/WrongVFSTypeException.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.sched.vfs;
+
+import com.android.sched.util.file.SchedIOException;
+import com.android.sched.util.location.Location;
+
+import javax.annotation.Nonnull;
+
+/**
+ * {@link Exception} when a {@link VFS} does not match the expected VFS type, but may be a valid VFS
+ * of another type.
+ */
+public class WrongVFSTypeException extends SchedIOException {
+ private static final long serialVersionUID = 1L;
+
+ @Nonnull
+ private final VFS vfs;
+ @Nonnull
+ private final String expectedVfsDescription;
+
+ public WrongVFSTypeException(@Nonnull VFS vfs, @Nonnull Location location,
+ @Nonnull String expectedVfsDescription, @Nonnull Throwable cause) {
+ super(location, cause);
+ this.vfs = vfs;
+ this.expectedVfsDescription = expectedVfsDescription;
+ }
+
+ public WrongVFSTypeException(@Nonnull VFS vfs, @Nonnull Location location,
+ @Nonnull String expectedVfsDescription) {
+ super(location, null);
+ this.vfs = vfs;
+ this.expectedVfsDescription = expectedVfsDescription;
+ }
+
+ @Override
+ @Nonnull
+ protected String createMessage(@Nonnull String description) {
+ return "'"
+ + vfs.getDescription()
+ + "' VFS in "
+ + description
+ + " does not match the expected VFS type '"
+ + expectedVfsDescription
+ + "': "
+ + getCause().getMessage();
+ }
+}
diff --git a/sched/tests/com/android/sched/vfs/VFSTest.java b/sched/tests/com/android/sched/vfs/VFSTest.java
index 27dd9bb..1fd2be7 100644
--- a/sched/tests/com/android/sched/vfs/VFSTest.java
+++ b/sched/tests/com/android/sched/vfs/VFSTest.java
@@ -344,8 +344,9 @@
@Test
public void testDeflatePrefixedCaseInsensitiveDirectFS()
throws CannotCreateFileException, WrongPermissionException, CannotChangePermissionException,
- NoSuchFileException, FileAlreadyExistsException, IOException, CannotDeleteFileException,
- NotFileOrDirectoryException, CannotCloseException, BadVFSFormatException {
+ NoSuchFileException, FileAlreadyExistsException, IOException, CannotDeleteFileException,
+ NotFileOrDirectoryException, CannotCloseException, BadVFSFormatException,
+ WrongVFSTypeException {
File file = null;
InputOutputVFS ioVFS1 = null;
InputOutputVFS ioVFS2 = null;
@@ -358,7 +359,8 @@
Permission.READ | Permission.WRITE));
ioVFS1 =
- new GenericInputOutputVFS(new DeflateFS(new PrefixedFS(ciFS, new VPath("stuff", '/'))));
+ new GenericInputOutputVFS(
+ new DeflateFS(new PrefixedFS(ciFS, new VPath("stuff", '/'), Existence.MAY_EXIST)));
testOutputVFS(ioVFS1);
testDelete(ioVFS1);
@@ -371,7 +373,8 @@
Permission.READ | Permission.WRITE));
ioVFS2 =
- new GenericInputOutputVFS(new DeflateFS(new PrefixedFS(ciFS2, new VPath("stuff", '/'))));
+ new GenericInputOutputVFS(
+ new DeflateFS(new PrefixedFS(ciFS2, new VPath("stuff", '/'), Existence.MUST_EXIST)));
testInputVFS(ioVFS2);
ciFS2.close();
@@ -453,7 +456,7 @@
public void testPrefixedFSWithDirectFS()
throws CannotCreateFileException, WrongPermissionException, CannotChangePermissionException,
NoSuchFileException, FileAlreadyExistsException, IOException, NotFileOrDirectoryException,
- CannotDeleteFileException, CannotCloseException {
+ CannotDeleteFileException, CannotCloseException, WrongVFSTypeException {
File file = null;
InputOutputVFS ioVFS1 = null;
InputOutputVFS ioVFS2 = null;
@@ -464,7 +467,7 @@
ioVFS1 =
new GenericInputOutputVFS(new PrefixedFS(new DirectFS(new Directory(path, null,
Existence.MUST_EXIST, Permission.WRITE, ChangePermission.NOCHANGE), Permission.READ
- | Permission.WRITE), new VPath("stuff", '/')));
+ | Permission.WRITE), new VPath("stuff", '/'), Existence.NOT_EXIST));
testOutputVFS(ioVFS1);
testDelete(ioVFS1);
@@ -475,7 +478,7 @@
ioVFS2 =
new GenericInputOutputVFS(new PrefixedFS(new DirectFS(new Directory(path, null,
Existence.MUST_EXIST, Permission.WRITE, ChangePermission.NOCHANGE), Permission.READ
- | Permission.WRITE), new VPath("stuff", '/')));
+ | Permission.WRITE), new VPath("stuff", '/'), Existence.MUST_EXIST));
testInputVFS(ioVFS2);
checkFileLocations(ioVFS2);
@@ -493,7 +496,7 @@
public void testPrefixedFSWithZip()
throws CannotCreateFileException, WrongPermissionException, CannotChangePermissionException,
NoSuchFileException, FileAlreadyExistsException, IOException, ZipException,
- NotFileOrDirectoryException, CannotCloseException {
+ NotFileOrDirectoryException, CannotCloseException, WrongVFSTypeException {
String prefix = "stuff";
File file = null;
InputOutputVFS ioVFS1 = null;
@@ -505,7 +508,9 @@
WriteZipFS writeZipFS = new WriteZipFS(new OutputZipFile(path, null, Existence.MAY_EXIST,
ChangePermission.NOCHANGE, Compression.COMPRESSED));
- ioVFS1 = new GenericInputOutputVFS(new PrefixedFS(writeZipFS, new VPath(prefix, '/')));
+ ioVFS1 =
+ new GenericInputOutputVFS(
+ new PrefixedFS(writeZipFS, new VPath(prefix, '/'), Existence.NOT_EXIST));
testOutputVFS(ioVFS1);
ioVFS1.close();
@@ -513,7 +518,9 @@
ReadZipFS readZipFS = new ReadZipFS(new InputZipFile(path));
- ioVFS2 = new GenericInputOutputVFS(new PrefixedFS(readZipFS, new VPath(prefix, '/')));
+ ioVFS2 =
+ new GenericInputOutputVFS(
+ new PrefixedFS(readZipFS, new VPath(prefix, '/'), Existence.MUST_EXIST));
testInputVFS(ioVFS2);
checkZipLocations(ioVFS2, prefix);
@@ -532,8 +539,9 @@
@Test
public void testPrefixedFSWithCaseInsensitiveFS()
throws CannotCreateFileException, WrongPermissionException, CannotChangePermissionException,
- NoSuchFileException, FileAlreadyExistsException, IOException, CannotDeleteFileException,
- NotFileOrDirectoryException, CannotCloseException, BadVFSFormatException {
+ NoSuchFileException, FileAlreadyExistsException, IOException, CannotDeleteFileException,
+ NotFileOrDirectoryException, CannotCloseException, BadVFSFormatException,
+ WrongVFSTypeException {
File file = null;
InputOutputVFS ioVFS1 = null;
InputOutputVFS ioVFS2 = null;
@@ -545,7 +553,9 @@
Existence.MUST_EXIST, Permission.WRITE, ChangePermission.NOCHANGE),
Permission.READ | Permission.WRITE));
- ioVFS1 = new GenericInputOutputVFS(new PrefixedFS(ciFS, new VPath("stuff", '/')));
+ ioVFS1 =
+ new GenericInputOutputVFS(
+ new PrefixedFS(ciFS, new VPath("stuff", '/'), Existence.NOT_EXIST));
testOutputVFS(ioVFS1);
testDelete(ioVFS1);
@@ -557,7 +567,9 @@
Existence.MUST_EXIST, Permission.WRITE, ChangePermission.NOCHANGE),
Permission.READ | Permission.WRITE));
- ioVFS2 = new GenericInputOutputVFS(new PrefixedFS(ciFS2, new VPath("stuff", '/')));
+ ioVFS2 =
+ new GenericInputOutputVFS(
+ new PrefixedFS(ciFS2, new VPath("stuff", '/'), Existence.MUST_EXIST));
testInputVFS(ioVFS2);
ciFS2.close();
@@ -574,8 +586,9 @@
@Test
public void testMessageDigestFSWithPrefixedFSAndCaseInsensitiveFS()
throws CannotCreateFileException, WrongPermissionException, CannotChangePermissionException,
- NoSuchFileException, FileAlreadyExistsException, IOException, CannotDeleteFileException,
- NotFileOrDirectoryException, CannotCloseException, BadVFSFormatException {
+ NoSuchFileException, FileAlreadyExistsException, IOException, CannotDeleteFileException,
+ NotFileOrDirectoryException, CannotCloseException, BadVFSFormatException,
+ WrongVFSTypeException {
File file = null;
InputOutputVFS ioVFS1 = null;
InputOutputVFS ioVFS2 = null;
@@ -598,7 +611,9 @@
Existence.MUST_EXIST, Permission.WRITE, ChangePermission.NOCHANGE),
Permission.READ | Permission.WRITE), new MessageDigestFactory(sha1)));
- ioVFS1 = new GenericInputOutputVFS(new PrefixedFS(ciFS, new VPath("stuff", '/')));
+ ioVFS1 =
+ new GenericInputOutputVFS(
+ new PrefixedFS(ciFS, new VPath("stuff", '/'), Existence.NOT_EXIST));
testOutputVFS(ioVFS1);
testDelete(ioVFS1);
@@ -611,7 +626,9 @@
Existence.MUST_EXIST, Permission.WRITE, ChangePermission.NOCHANGE),
Permission.READ | Permission.WRITE), new MessageDigestFactory(sha1)));
- ioVFS2 = new GenericInputOutputVFS(new PrefixedFS(ciFS2, new VPath("stuff", '/')));
+ ioVFS2 =
+ new GenericInputOutputVFS(
+ new PrefixedFS(ciFS2, new VPath("stuff", '/'), Existence.MUST_EXIST));
testInputVFS(ioVFS2);
ciFS2.close();
@@ -775,10 +792,11 @@
@SuppressWarnings("resource")
@Test
- public void testIncrementalStack() throws IOException, CannotCreateFileException,
- WrongPermissionException, CannotChangePermissionException, NoSuchFileException,
- FileAlreadyExistsException, ZipException, NotFileOrDirectoryException,
- CannotDeleteFileException, CannotCloseException, BadVFSFormatException {
+ public void testIncrementalStack()
+ throws IOException, CannotCreateFileException, WrongPermissionException,
+ CannotChangePermissionException, NoSuchFileException, FileAlreadyExistsException,
+ ZipException, NotFileOrDirectoryException, CannotDeleteFileException,
+ CannotCloseException, BadVFSFormatException, WrongVFSTypeException {
final VPath prefix = new VPath("pre", '/');
File inputZipFile = null;
File outputZipFile = null;
@@ -796,7 +814,8 @@
ChangePermission.NOCHANGE, Compression.COMPRESSED),
/* numGroups = */ 1, /* groupSize = */ 2, new MessageDigestFactory(getSha1Service()),
/* debug = */ false);
- InputOutputVFS ioVFS1 = new GenericInputOutputVFS(new PrefixedFS(writeZipVFS, prefix));
+ InputOutputVFS ioVFS1 =
+ new GenericInputOutputVFS(new PrefixedFS(writeZipVFS, prefix, Existence.NOT_EXIST));
testOutputVFS(ioVFS1);
ioVFS1.close();
writeZipVFS.close();
@@ -806,7 +825,7 @@
VFS ciVFS = new CaseInsensitiveFS(
new CachedDirectFS(new Directory(dirPath, null, Existence.MUST_EXIST, Permission.WRITE,
ChangePermission.NOCHANGE), Permission.READ | Permission.WRITE));
- VFS prefixedFS1 = new PrefixedFS(ciVFS, prefix);
+ VFS prefixedFS1 = new PrefixedFS(ciVFS, prefix, Existence.NOT_EXIST);
prefixedFS1.close();
// create R/W output zip that uses as temp dir an UnionVFS between dir and read-only zip
@@ -822,7 +841,7 @@
VFS unionVFS = new UnionVFS(vfsList);
rwzfs.setWorkVFS(unionVFS);
}
- VFS prefixedFS = new PrefixedFS(rwzfs, prefix);
+ VFS prefixedFS = new PrefixedFS(rwzfs, prefix, Existence.MUST_EXIST);
testInputVFS(new GenericInputVFS(prefixedFS));
diff --git a/server/jack-server/etc/jack-diagnose b/server/jack-server/etc/jack-diagnose
index c8c51da..d707d67 100755
--- a/server/jack-server/etc/jack-diagnose
+++ b/server/jack-server/etc/jack-diagnose
@@ -143,7 +143,7 @@
fi
if [ "$(echo $PS_OUT | awk '{print $2}')" -ne "$(id -u)" ] ; then
- echo "Port $1 is used b a Jack server from another user uid=$(echo $PS_OUT | awk '{print $2}'), please change port configuration in '$JACK_CLIENT_SETTING' and '$JACK_HOME/config.properties'"
+ echo "Port $1 is used by a Jack server from another user uid=$(echo $PS_OUT | awk '{print $2}'), please change port configuration in '$JACK_CLIENT_SETTING' and '$JACK_HOME/config.properties'"
return 255
fi
}