diff --git a/JCL/jclMin1.8/.classpath b/JCL/jclMin1.8/.classpath
new file mode 100644
index 00000000000..51a8bbad896
--- /dev/null
+++ b/JCL/jclMin1.8/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/JCL/jclMin1.8/.project b/JCL/jclMin1.8/.project
new file mode 100644
index 00000000000..6d56812334d
--- /dev/null
+++ b/JCL/jclMin1.8/.project
@@ -0,0 +1,17 @@
+
+
+ jclMin1.8
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/JCL/jclMin1.8/.settings/org.eclipse.core.resources.prefs b/JCL/jclMin1.8/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000000..99f26c0203a
--- /dev/null
+++ b/JCL/jclMin1.8/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/JCL/jclMin1.8/.settings/org.eclipse.jdt.core.prefs b/JCL/jclMin1.8/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..c5379fb0db8
--- /dev/null
+++ b/JCL/jclMin1.8/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,15 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+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
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/JCL/jclMin1.8/src/java/io/Serializable.java b/JCL/jclMin1.8/src/java/io/Serializable.java
new file mode 100644
index 00000000000..edd882d7d58
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/io/Serializable.java
@@ -0,0 +1,4 @@
+package java.io;
+
+public interface Serializable {
+}
diff --git a/JCL/jclMin1.8/src/java/lang/CharSequence.java b/JCL/jclMin1.8/src/java/lang/CharSequence.java
new file mode 100644
index 00000000000..b9a0d9e4176
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/lang/CharSequence.java
@@ -0,0 +1,5 @@
+package java.lang;
+
+public interface CharSequence {
+ int length();
+}
diff --git a/JCL/jclMin1.8/src/java/lang/Class.java b/JCL/jclMin1.8/src/java/lang/Class.java
new file mode 100644
index 00000000000..a7667b98347
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/lang/Class.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class Class {
+}
diff --git a/JCL/jclMin1.8/src/java/lang/CloneNotSupportedException.java b/JCL/jclMin1.8/src/java/lang/CloneNotSupportedException.java
new file mode 100644
index 00000000000..cb777dc7bac
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/lang/CloneNotSupportedException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class CloneNotSupportedException extends Exception {
+}
diff --git a/JCL/jclMin1.8/src/java/lang/Comparable.java b/JCL/jclMin1.8/src/java/lang/Comparable.java
new file mode 100644
index 00000000000..fbc6c8bac34
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/lang/Comparable.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public interface Comparable {
+}
diff --git a/JCL/jclMin1.8/src/java/lang/Deprecated.java b/JCL/jclMin1.8/src/java/lang/Deprecated.java
new file mode 100644
index 00000000000..6c73dedd0d1
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/lang/Deprecated.java
@@ -0,0 +1,6 @@
+package java.lang;
+import java.lang.annotation.*;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Deprecated {
+}
\ No newline at end of file
diff --git a/JCL/jclMin1.8/src/java/lang/Enum.java b/JCL/jclMin1.8/src/java/lang/Enum.java
new file mode 100644
index 00000000000..05c8d2728b8
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/lang/Enum.java
@@ -0,0 +1,14 @@
+package java.lang;
+
+public abstract class Enum> implements Comparable, java.io.Serializable {
+ private static final long serialVersionUID = 2L;
+
+ protected Enum(String name, int ordinal) {
+ }
+ public final String name() {
+ return null;
+ }
+ public final int ordinal() {
+ return 0;
+ }
+}
\ No newline at end of file
diff --git a/JCL/jclMin1.8/src/java/lang/Error.java b/JCL/jclMin1.8/src/java/lang/Error.java
new file mode 100644
index 00000000000..fce0cf07245
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/lang/Error.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class Error extends Throwable {
+}
diff --git a/JCL/jclMin1.8/src/java/lang/Exception.java b/JCL/jclMin1.8/src/java/lang/Exception.java
new file mode 100644
index 00000000000..93645c801f0
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/lang/Exception.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class Exception extends Throwable {
+}
diff --git a/JCL/jclMin1.8/src/java/lang/IllegalMonitorStateException.java b/JCL/jclMin1.8/src/java/lang/IllegalMonitorStateException.java
new file mode 100644
index 00000000000..e173f133abe
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/lang/IllegalMonitorStateException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class IllegalMonitorStateException extends RuntimeException {
+}
diff --git a/JCL/jclMin1.8/src/java/lang/InterruptedException.java b/JCL/jclMin1.8/src/java/lang/InterruptedException.java
new file mode 100644
index 00000000000..e2e84ba0bc2
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/lang/InterruptedException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class InterruptedException extends Exception {
+}
diff --git a/JCL/jclMin1.8/src/java/lang/Object.java b/JCL/jclMin1.8/src/java/lang/Object.java
new file mode 100644
index 00000000000..eb50899e5ba
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/lang/Object.java
@@ -0,0 +1,34 @@
+package java.lang;
+
+public class Object {
+
+public Object() {
+}
+protected Object clone() throws CloneNotSupportedException {
+ return null;
+}
+public boolean equals (Object obj) {
+ return false;
+}
+protected void finalize () throws Throwable {
+}
+public final Class extends Object> getClass() {
+ return null;
+}
+public int hashCode() {
+ return -1;
+}
+public final void notify() throws IllegalMonitorStateException {
+}
+public final void notifyAll() throws IllegalMonitorStateException {
+}
+public String toString () {
+ return null;
+}
+public final void wait () throws IllegalMonitorStateException, InterruptedException {
+}
+public final void wait (long millis) throws IllegalMonitorStateException, InterruptedException {
+}
+public final void wait (long millis, int nanos) throws IllegalMonitorStateException, InterruptedException {
+}
+}
diff --git a/JCL/jclMin1.8/src/java/lang/RuntimeException.java b/JCL/jclMin1.8/src/java/lang/RuntimeException.java
new file mode 100644
index 00000000000..ddbaf6395bb
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/lang/RuntimeException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class RuntimeException extends Exception {
+}
diff --git a/JCL/jclMin1.8/src/java/lang/String.java b/JCL/jclMin1.8/src/java/lang/String.java
new file mode 100644
index 00000000000..1066adf2f68
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/lang/String.java
@@ -0,0 +1,5 @@
+package java.lang;
+
+public class String implements Comparable, CharSequence {
+ public int length() { return 0; }
+}
diff --git a/JCL/jclMin1.8/src/java/lang/Throwable.java b/JCL/jclMin1.8/src/java/lang/Throwable.java
new file mode 100644
index 00000000000..d4a8dcb5144
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/lang/Throwable.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class Throwable {
+}
diff --git a/JCL/jclMin1.8/src/java/lang/annotation/Annotation.java b/JCL/jclMin1.8/src/java/lang/annotation/Annotation.java
new file mode 100644
index 00000000000..ba72aad15ec
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/lang/annotation/Annotation.java
@@ -0,0 +1,4 @@
+package java.lang.annotation;
+public interface Annotation {
+
+}
diff --git a/JCL/jclMin1.8/src/java/lang/annotation/Documented.java b/JCL/jclMin1.8/src/java/lang/annotation/Documented.java
new file mode 100644
index 00000000000..b4fcc8480e5
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/lang/annotation/Documented.java
@@ -0,0 +1,6 @@
+package java.lang.annotation;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Documented {
+}
diff --git a/JCL/jclMin1.8/src/java/lang/annotation/ElementType.java b/JCL/jclMin1.8/src/java/lang/annotation/ElementType.java
new file mode 100644
index 00000000000..802eec14574
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/lang/annotation/ElementType.java
@@ -0,0 +1,13 @@
+package java.lang.annotation;
+public enum ElementType {
+ ANNOTATION_TYPE,
+ CONSTRUCTOR,
+ FIELD,
+ LOCAL_VARIABLE,
+ METHOD,
+ PACKAGE,
+ PARAMETER,
+ TYPE,
+ TYPE_USE,
+ TYPE_PARAMETER,
+}
diff --git a/JCL/jclMin1.8/src/java/lang/annotation/Inherited.java b/JCL/jclMin1.8/src/java/lang/annotation/Inherited.java
new file mode 100644
index 00000000000..dfa8b11edc8
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/lang/annotation/Inherited.java
@@ -0,0 +1,6 @@
+package java.lang.annotation;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Inherited {
+}
\ No newline at end of file
diff --git a/JCL/jclMin1.8/src/java/lang/annotation/Retention.java b/JCL/jclMin1.8/src/java/lang/annotation/Retention.java
new file mode 100644
index 00000000000..20211a9f25a
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/lang/annotation/Retention.java
@@ -0,0 +1,7 @@
+package java.lang.annotation;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Retention {
+ RetentionPolicy value();
+}
\ No newline at end of file
diff --git a/JCL/jclMin1.8/src/java/lang/annotation/RetentionPolicy.java b/JCL/jclMin1.8/src/java/lang/annotation/RetentionPolicy.java
new file mode 100644
index 00000000000..b69fa7d6544
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/lang/annotation/RetentionPolicy.java
@@ -0,0 +1,6 @@
+package java.lang.annotation;
+public enum RetentionPolicy {
+ CLASS,
+ SOURCE,
+ RUNTIME
+}
\ No newline at end of file
diff --git a/JCL/jclMin1.8/src/java/lang/annotation/Target.java b/JCL/jclMin1.8/src/java/lang/annotation/Target.java
new file mode 100644
index 00000000000..4c17c171a20
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/lang/annotation/Target.java
@@ -0,0 +1,7 @@
+package java.lang.annotation;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Target {
+ ElementType[] value();
+}
\ No newline at end of file
diff --git a/JCL/jclMin1.8/src/java/lang/invoke/LambdaMetafactory.java b/JCL/jclMin1.8/src/java/lang/invoke/LambdaMetafactory.java
new file mode 100644
index 00000000000..b8d89314345
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/lang/invoke/LambdaMetafactory.java
@@ -0,0 +1,3 @@
+package java.lang.invoke;
+public class LambdaMetafactory {
+}
\ No newline at end of file
diff --git a/JCL/jclMin1.8/src/java/lang/invoke/MethodHandle.java b/JCL/jclMin1.8/src/java/lang/invoke/MethodHandle.java
new file mode 100644
index 00000000000..688d832d174
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/lang/invoke/MethodHandle.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2011 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package java.lang.invoke;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+public abstract class MethodHandle {
+ @Target(METHOD)
+ @Retention(RUNTIME)
+ @interface PolymorphicSignature {
+ }
+
+ @PolymorphicSignature
+ public final native Object invoke(Object... args) throws Throwable;
+
+ @PolymorphicSignature
+ public final native Object invokeExact(Object... args) throws Throwable;
+
+ public native Object invokeWithArguments(Object... arguments)
+ throws Throwable;
+
+ public native boolean isVarargsCollector();
+
+ public native MethodHandle asType(MethodType newType);
+}
\ No newline at end of file
diff --git a/JCL/jclMin1.8/src/java/lang/invoke/MethodHandles.java b/JCL/jclMin1.8/src/java/lang/invoke/MethodHandles.java
new file mode 100644
index 00000000000..33622371faf
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/lang/invoke/MethodHandles.java
@@ -0,0 +1,21 @@
+package java.lang.invoke;
+
+public class MethodHandles {
+ public static final class Lookup {
+ public MethodHandle findVirtual(Class> refc, String name,
+ MethodType type) throws NoSuchMethodException,
+ IllegalAccessException {
+ return null;
+ }
+
+ public MethodHandle findStatic(Class> refc, String name,
+ MethodType type) throws NoSuchMethodException,
+ IllegalAccessException {
+ return null;
+ }
+ }
+
+ public static Lookup lookup() {
+ return null;
+ }
+}
diff --git a/JCL/jclMin1.8/src/java/lang/invoke/MethodType.java b/JCL/jclMin1.8/src/java/lang/invoke/MethodType.java
new file mode 100644
index 00000000000..492573b45b0
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/lang/invoke/MethodType.java
@@ -0,0 +1,16 @@
+package java.lang.invoke;
+
+public final class MethodType {
+ public static MethodType methodType(Class> rtype, Class> ptype0,
+ Class>... ptypes) {
+ return null;
+ }
+
+ public static MethodType methodType(Class> rtype) {
+ return null;
+ }
+
+ public static MethodType genericMethodType(int objectArgCount) {
+ return null;
+ }
+}
diff --git a/JCL/jclMin1.8/src/java/util/Collection.java b/JCL/jclMin1.8/src/java/util/Collection.java
new file mode 100644
index 00000000000..4a3f6c5c360
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/util/Collection.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package java.util;
+
+public interface Collection {
+ public Iterator iterator();
+ public int size();
+ public T get(int index);
+ public boolean addAll(Collection c);
+ public T[] toArray(T[] o);
+}
diff --git a/JCL/jclMin1.8/src/java/util/Iterator.java b/JCL/jclMin1.8/src/java/util/Iterator.java
new file mode 100644
index 00000000000..2b0b6b01e68
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/util/Iterator.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package java.util;
+
+public interface Iterator {
+ boolean hasNext();
+ E next();
+ void remove();
+}
diff --git a/JCL/jclMin1.8/src/java/util/List.java b/JCL/jclMin1.8/src/java/util/List.java
new file mode 100644
index 00000000000..7d19bdfb1b8
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/util/List.java
@@ -0,0 +1,4 @@
+package java.util;
+
+public interface List extends Collection {
+}
diff --git a/JCL/jclMin1.8/src/java/util/Map.java b/JCL/jclMin1.8/src/java/util/Map.java
new file mode 100644
index 00000000000..19b87bbd2e5
--- /dev/null
+++ b/JCL/jclMin1.8/src/java/util/Map.java
@@ -0,0 +1,9 @@
+package java.util;
+
+public interface Map {
+ public interface Entry {}
+
+ V get(Object key);
+ V put(K key, V value);
+ V remove(Object key);
+}
\ No newline at end of file
diff --git a/JCL/jclMin10/.classpath b/JCL/jclMin10/.classpath
new file mode 100644
index 00000000000..a1f2f3b1bd6
--- /dev/null
+++ b/JCL/jclMin10/.classpath
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/JCL/jclMin10/.project b/JCL/jclMin10/.project
new file mode 100644
index 00000000000..7192f9d7c74
--- /dev/null
+++ b/JCL/jclMin10/.project
@@ -0,0 +1,17 @@
+
+
+ jclMin10
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/JCL/jclMin10/.settings/org.eclipse.core.resources.prefs b/JCL/jclMin10/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000000..99f26c0203a
--- /dev/null
+++ b/JCL/jclMin10/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/JCL/jclMin10/.settings/org.eclipse.jdt.core.prefs b/JCL/jclMin10/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..0260958a520
--- /dev/null
+++ b/JCL/jclMin10/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=10
+org.eclipse.jdt.core.compiler.compliance=10
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=10
diff --git a/JCL/jclMin10/src/java/io/Serializable.java b/JCL/jclMin10/src/java/io/Serializable.java
new file mode 100644
index 00000000000..edd882d7d58
--- /dev/null
+++ b/JCL/jclMin10/src/java/io/Serializable.java
@@ -0,0 +1,4 @@
+package java.io;
+
+public interface Serializable {
+}
diff --git a/JCL/jclMin10/src/java/lang/CharSequence.java b/JCL/jclMin10/src/java/lang/CharSequence.java
new file mode 100644
index 00000000000..b9a0d9e4176
--- /dev/null
+++ b/JCL/jclMin10/src/java/lang/CharSequence.java
@@ -0,0 +1,5 @@
+package java.lang;
+
+public interface CharSequence {
+ int length();
+}
diff --git a/JCL/jclMin10/src/java/lang/Class.java b/JCL/jclMin10/src/java/lang/Class.java
new file mode 100644
index 00000000000..a7667b98347
--- /dev/null
+++ b/JCL/jclMin10/src/java/lang/Class.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class Class {
+}
diff --git a/JCL/jclMin10/src/java/lang/CloneNotSupportedException.java b/JCL/jclMin10/src/java/lang/CloneNotSupportedException.java
new file mode 100644
index 00000000000..cb777dc7bac
--- /dev/null
+++ b/JCL/jclMin10/src/java/lang/CloneNotSupportedException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class CloneNotSupportedException extends Exception {
+}
diff --git a/JCL/jclMin10/src/java/lang/Comparable.java b/JCL/jclMin10/src/java/lang/Comparable.java
new file mode 100644
index 00000000000..fbc6c8bac34
--- /dev/null
+++ b/JCL/jclMin10/src/java/lang/Comparable.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public interface Comparable {
+}
diff --git a/JCL/jclMin10/src/java/lang/Deprecated.java b/JCL/jclMin10/src/java/lang/Deprecated.java
new file mode 100644
index 00000000000..6c73dedd0d1
--- /dev/null
+++ b/JCL/jclMin10/src/java/lang/Deprecated.java
@@ -0,0 +1,6 @@
+package java.lang;
+import java.lang.annotation.*;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Deprecated {
+}
\ No newline at end of file
diff --git a/JCL/jclMin10/src/java/lang/Enum.java b/JCL/jclMin10/src/java/lang/Enum.java
new file mode 100644
index 00000000000..05c8d2728b8
--- /dev/null
+++ b/JCL/jclMin10/src/java/lang/Enum.java
@@ -0,0 +1,14 @@
+package java.lang;
+
+public abstract class Enum> implements Comparable, java.io.Serializable {
+ private static final long serialVersionUID = 2L;
+
+ protected Enum(String name, int ordinal) {
+ }
+ public final String name() {
+ return null;
+ }
+ public final int ordinal() {
+ return 0;
+ }
+}
\ No newline at end of file
diff --git a/JCL/jclMin10/src/java/lang/Error.java b/JCL/jclMin10/src/java/lang/Error.java
new file mode 100644
index 00000000000..fce0cf07245
--- /dev/null
+++ b/JCL/jclMin10/src/java/lang/Error.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class Error extends Throwable {
+}
diff --git a/JCL/jclMin10/src/java/lang/Exception.java b/JCL/jclMin10/src/java/lang/Exception.java
new file mode 100644
index 00000000000..93645c801f0
--- /dev/null
+++ b/JCL/jclMin10/src/java/lang/Exception.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class Exception extends Throwable {
+}
diff --git a/JCL/jclMin10/src/java/lang/IllegalMonitorStateException.java b/JCL/jclMin10/src/java/lang/IllegalMonitorStateException.java
new file mode 100644
index 00000000000..e173f133abe
--- /dev/null
+++ b/JCL/jclMin10/src/java/lang/IllegalMonitorStateException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class IllegalMonitorStateException extends RuntimeException {
+}
diff --git a/JCL/jclMin10/src/java/lang/InterruptedException.java b/JCL/jclMin10/src/java/lang/InterruptedException.java
new file mode 100644
index 00000000000..e2e84ba0bc2
--- /dev/null
+++ b/JCL/jclMin10/src/java/lang/InterruptedException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class InterruptedException extends Exception {
+}
diff --git a/JCL/jclMin10/src/java/lang/Object.java b/JCL/jclMin10/src/java/lang/Object.java
new file mode 100644
index 00000000000..eb50899e5ba
--- /dev/null
+++ b/JCL/jclMin10/src/java/lang/Object.java
@@ -0,0 +1,34 @@
+package java.lang;
+
+public class Object {
+
+public Object() {
+}
+protected Object clone() throws CloneNotSupportedException {
+ return null;
+}
+public boolean equals (Object obj) {
+ return false;
+}
+protected void finalize () throws Throwable {
+}
+public final Class extends Object> getClass() {
+ return null;
+}
+public int hashCode() {
+ return -1;
+}
+public final void notify() throws IllegalMonitorStateException {
+}
+public final void notifyAll() throws IllegalMonitorStateException {
+}
+public String toString () {
+ return null;
+}
+public final void wait () throws IllegalMonitorStateException, InterruptedException {
+}
+public final void wait (long millis) throws IllegalMonitorStateException, InterruptedException {
+}
+public final void wait (long millis, int nanos) throws IllegalMonitorStateException, InterruptedException {
+}
+}
diff --git a/JCL/jclMin10/src/java/lang/RuntimeException.java b/JCL/jclMin10/src/java/lang/RuntimeException.java
new file mode 100644
index 00000000000..ddbaf6395bb
--- /dev/null
+++ b/JCL/jclMin10/src/java/lang/RuntimeException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class RuntimeException extends Exception {
+}
diff --git a/JCL/jclMin10/src/java/lang/String.java b/JCL/jclMin10/src/java/lang/String.java
new file mode 100644
index 00000000000..d8108d4bcfd
--- /dev/null
+++ b/JCL/jclMin10/src/java/lang/String.java
@@ -0,0 +1,5 @@
+package java.lang;
+
+public class String implements CharSequence {
+ public int length() { return 0; }
+}
diff --git a/JCL/jclMin10/src/java/lang/Throwable.java b/JCL/jclMin10/src/java/lang/Throwable.java
new file mode 100644
index 00000000000..d4a8dcb5144
--- /dev/null
+++ b/JCL/jclMin10/src/java/lang/Throwable.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class Throwable {
+}
diff --git a/JCL/jclMin10/src/java/lang/annotation/Annotation.java b/JCL/jclMin10/src/java/lang/annotation/Annotation.java
new file mode 100644
index 00000000000..ba72aad15ec
--- /dev/null
+++ b/JCL/jclMin10/src/java/lang/annotation/Annotation.java
@@ -0,0 +1,4 @@
+package java.lang.annotation;
+public interface Annotation {
+
+}
diff --git a/JCL/jclMin10/src/java/lang/annotation/Documented.java b/JCL/jclMin10/src/java/lang/annotation/Documented.java
new file mode 100644
index 00000000000..b4fcc8480e5
--- /dev/null
+++ b/JCL/jclMin10/src/java/lang/annotation/Documented.java
@@ -0,0 +1,6 @@
+package java.lang.annotation;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Documented {
+}
diff --git a/JCL/jclMin10/src/java/lang/annotation/ElementType.java b/JCL/jclMin10/src/java/lang/annotation/ElementType.java
new file mode 100644
index 00000000000..802eec14574
--- /dev/null
+++ b/JCL/jclMin10/src/java/lang/annotation/ElementType.java
@@ -0,0 +1,13 @@
+package java.lang.annotation;
+public enum ElementType {
+ ANNOTATION_TYPE,
+ CONSTRUCTOR,
+ FIELD,
+ LOCAL_VARIABLE,
+ METHOD,
+ PACKAGE,
+ PARAMETER,
+ TYPE,
+ TYPE_USE,
+ TYPE_PARAMETER,
+}
diff --git a/JCL/jclMin10/src/java/lang/annotation/Inherited.java b/JCL/jclMin10/src/java/lang/annotation/Inherited.java
new file mode 100644
index 00000000000..dfa8b11edc8
--- /dev/null
+++ b/JCL/jclMin10/src/java/lang/annotation/Inherited.java
@@ -0,0 +1,6 @@
+package java.lang.annotation;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Inherited {
+}
\ No newline at end of file
diff --git a/JCL/jclMin10/src/java/lang/annotation/Retention.java b/JCL/jclMin10/src/java/lang/annotation/Retention.java
new file mode 100644
index 00000000000..20211a9f25a
--- /dev/null
+++ b/JCL/jclMin10/src/java/lang/annotation/Retention.java
@@ -0,0 +1,7 @@
+package java.lang.annotation;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Retention {
+ RetentionPolicy value();
+}
\ No newline at end of file
diff --git a/JCL/jclMin10/src/java/lang/annotation/RetentionPolicy.java b/JCL/jclMin10/src/java/lang/annotation/RetentionPolicy.java
new file mode 100644
index 00000000000..b69fa7d6544
--- /dev/null
+++ b/JCL/jclMin10/src/java/lang/annotation/RetentionPolicy.java
@@ -0,0 +1,6 @@
+package java.lang.annotation;
+public enum RetentionPolicy {
+ CLASS,
+ SOURCE,
+ RUNTIME
+}
\ No newline at end of file
diff --git a/JCL/jclMin10/src/java/lang/annotation/Target.java b/JCL/jclMin10/src/java/lang/annotation/Target.java
new file mode 100644
index 00000000000..4c17c171a20
--- /dev/null
+++ b/JCL/jclMin10/src/java/lang/annotation/Target.java
@@ -0,0 +1,7 @@
+package java.lang.annotation;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Target {
+ ElementType[] value();
+}
\ No newline at end of file
diff --git a/JCL/jclMin10/src/java/lang/invoke/MethodHandle.java b/JCL/jclMin10/src/java/lang/invoke/MethodHandle.java
new file mode 100644
index 00000000000..688d832d174
--- /dev/null
+++ b/JCL/jclMin10/src/java/lang/invoke/MethodHandle.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2011 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package java.lang.invoke;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+public abstract class MethodHandle {
+ @Target(METHOD)
+ @Retention(RUNTIME)
+ @interface PolymorphicSignature {
+ }
+
+ @PolymorphicSignature
+ public final native Object invoke(Object... args) throws Throwable;
+
+ @PolymorphicSignature
+ public final native Object invokeExact(Object... args) throws Throwable;
+
+ public native Object invokeWithArguments(Object... arguments)
+ throws Throwable;
+
+ public native boolean isVarargsCollector();
+
+ public native MethodHandle asType(MethodType newType);
+}
\ No newline at end of file
diff --git a/JCL/jclMin10/src/java/lang/invoke/MethodHandles.java b/JCL/jclMin10/src/java/lang/invoke/MethodHandles.java
new file mode 100644
index 00000000000..33622371faf
--- /dev/null
+++ b/JCL/jclMin10/src/java/lang/invoke/MethodHandles.java
@@ -0,0 +1,21 @@
+package java.lang.invoke;
+
+public class MethodHandles {
+ public static final class Lookup {
+ public MethodHandle findVirtual(Class> refc, String name,
+ MethodType type) throws NoSuchMethodException,
+ IllegalAccessException {
+ return null;
+ }
+
+ public MethodHandle findStatic(Class> refc, String name,
+ MethodType type) throws NoSuchMethodException,
+ IllegalAccessException {
+ return null;
+ }
+ }
+
+ public static Lookup lookup() {
+ return null;
+ }
+}
diff --git a/JCL/jclMin10/src/java/lang/invoke/MethodType.java b/JCL/jclMin10/src/java/lang/invoke/MethodType.java
new file mode 100644
index 00000000000..492573b45b0
--- /dev/null
+++ b/JCL/jclMin10/src/java/lang/invoke/MethodType.java
@@ -0,0 +1,16 @@
+package java.lang.invoke;
+
+public final class MethodType {
+ public static MethodType methodType(Class> rtype, Class> ptype0,
+ Class>... ptypes) {
+ return null;
+ }
+
+ public static MethodType methodType(Class> rtype) {
+ return null;
+ }
+
+ public static MethodType genericMethodType(int objectArgCount) {
+ return null;
+ }
+}
diff --git a/JCL/jclMin10/src/java/util/Collection.java b/JCL/jclMin10/src/java/util/Collection.java
new file mode 100644
index 00000000000..4a3f6c5c360
--- /dev/null
+++ b/JCL/jclMin10/src/java/util/Collection.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package java.util;
+
+public interface Collection {
+ public Iterator iterator();
+ public int size();
+ public T get(int index);
+ public boolean addAll(Collection c);
+ public T[] toArray(T[] o);
+}
diff --git a/JCL/jclMin10/src/java/util/Iterator.java b/JCL/jclMin10/src/java/util/Iterator.java
new file mode 100644
index 00000000000..2b0b6b01e68
--- /dev/null
+++ b/JCL/jclMin10/src/java/util/Iterator.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package java.util;
+
+public interface Iterator {
+ boolean hasNext();
+ E next();
+ void remove();
+}
diff --git a/JCL/jclMin10/src/java/util/List.java b/JCL/jclMin10/src/java/util/List.java
new file mode 100644
index 00000000000..7d19bdfb1b8
--- /dev/null
+++ b/JCL/jclMin10/src/java/util/List.java
@@ -0,0 +1,4 @@
+package java.util;
+
+public interface List extends Collection {
+}
diff --git a/JCL/jclMin10/src/java/util/Map.java b/JCL/jclMin10/src/java/util/Map.java
new file mode 100644
index 00000000000..574a7f816a5
--- /dev/null
+++ b/JCL/jclMin10/src/java/util/Map.java
@@ -0,0 +1,5 @@
+package java.util;
+
+public interface Map {
+
+}
\ No newline at end of file
diff --git a/JCL/jclMin10/src/module-info.java b/JCL/jclMin10/src/module-info.java
new file mode 100644
index 00000000000..51a23b131bc
--- /dev/null
+++ b/JCL/jclMin10/src/module-info.java
@@ -0,0 +1,7 @@
+module java.base {
+ exports java.lang;
+ exports java.lang.annotation;
+ exports java.lang.invoke;
+ exports java.io;
+ exports java.util;
+}
\ No newline at end of file
diff --git a/JCL/jclMin11/.classpath b/JCL/jclMin11/.classpath
new file mode 100644
index 00000000000..b94d8ad7f5c
--- /dev/null
+++ b/JCL/jclMin11/.classpath
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/JCL/jclMin11/.project b/JCL/jclMin11/.project
new file mode 100644
index 00000000000..e5718f6f74a
--- /dev/null
+++ b/JCL/jclMin11/.project
@@ -0,0 +1,17 @@
+
+
+ jclMin11
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/JCL/jclMin11/.settings/org.eclipse.core.resources.prefs b/JCL/jclMin11/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000000..99f26c0203a
--- /dev/null
+++ b/JCL/jclMin11/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/JCL/jclMin11/.settings/org.eclipse.jdt.core.prefs b/JCL/jclMin11/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..83bcb324f81
--- /dev/null
+++ b/JCL/jclMin11/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
+org.eclipse.jdt.core.compiler.compliance=11
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
diff --git a/JCL/jclMin11/src/java/io/Serializable.java b/JCL/jclMin11/src/java/io/Serializable.java
new file mode 100644
index 00000000000..edd882d7d58
--- /dev/null
+++ b/JCL/jclMin11/src/java/io/Serializable.java
@@ -0,0 +1,4 @@
+package java.io;
+
+public interface Serializable {
+}
diff --git a/JCL/jclMin11/src/java/lang/CharSequence.java b/JCL/jclMin11/src/java/lang/CharSequence.java
new file mode 100644
index 00000000000..b9a0d9e4176
--- /dev/null
+++ b/JCL/jclMin11/src/java/lang/CharSequence.java
@@ -0,0 +1,5 @@
+package java.lang;
+
+public interface CharSequence {
+ int length();
+}
diff --git a/JCL/jclMin11/src/java/lang/Class.java b/JCL/jclMin11/src/java/lang/Class.java
new file mode 100644
index 00000000000..a7667b98347
--- /dev/null
+++ b/JCL/jclMin11/src/java/lang/Class.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class Class {
+}
diff --git a/JCL/jclMin11/src/java/lang/CloneNotSupportedException.java b/JCL/jclMin11/src/java/lang/CloneNotSupportedException.java
new file mode 100644
index 00000000000..cb777dc7bac
--- /dev/null
+++ b/JCL/jclMin11/src/java/lang/CloneNotSupportedException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class CloneNotSupportedException extends Exception {
+}
diff --git a/JCL/jclMin11/src/java/lang/Comparable.java b/JCL/jclMin11/src/java/lang/Comparable.java
new file mode 100644
index 00000000000..fbc6c8bac34
--- /dev/null
+++ b/JCL/jclMin11/src/java/lang/Comparable.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public interface Comparable {
+}
diff --git a/JCL/jclMin11/src/java/lang/Deprecated.java b/JCL/jclMin11/src/java/lang/Deprecated.java
new file mode 100644
index 00000000000..6c73dedd0d1
--- /dev/null
+++ b/JCL/jclMin11/src/java/lang/Deprecated.java
@@ -0,0 +1,6 @@
+package java.lang;
+import java.lang.annotation.*;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Deprecated {
+}
\ No newline at end of file
diff --git a/JCL/jclMin11/src/java/lang/Enum.java b/JCL/jclMin11/src/java/lang/Enum.java
new file mode 100644
index 00000000000..05c8d2728b8
--- /dev/null
+++ b/JCL/jclMin11/src/java/lang/Enum.java
@@ -0,0 +1,14 @@
+package java.lang;
+
+public abstract class Enum> implements Comparable, java.io.Serializable {
+ private static final long serialVersionUID = 2L;
+
+ protected Enum(String name, int ordinal) {
+ }
+ public final String name() {
+ return null;
+ }
+ public final int ordinal() {
+ return 0;
+ }
+}
\ No newline at end of file
diff --git a/JCL/jclMin11/src/java/lang/Error.java b/JCL/jclMin11/src/java/lang/Error.java
new file mode 100644
index 00000000000..fce0cf07245
--- /dev/null
+++ b/JCL/jclMin11/src/java/lang/Error.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class Error extends Throwable {
+}
diff --git a/JCL/jclMin11/src/java/lang/Exception.java b/JCL/jclMin11/src/java/lang/Exception.java
new file mode 100644
index 00000000000..93645c801f0
--- /dev/null
+++ b/JCL/jclMin11/src/java/lang/Exception.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class Exception extends Throwable {
+}
diff --git a/JCL/jclMin11/src/java/lang/IllegalMonitorStateException.java b/JCL/jclMin11/src/java/lang/IllegalMonitorStateException.java
new file mode 100644
index 00000000000..e173f133abe
--- /dev/null
+++ b/JCL/jclMin11/src/java/lang/IllegalMonitorStateException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class IllegalMonitorStateException extends RuntimeException {
+}
diff --git a/JCL/jclMin11/src/java/lang/InterruptedException.java b/JCL/jclMin11/src/java/lang/InterruptedException.java
new file mode 100644
index 00000000000..e2e84ba0bc2
--- /dev/null
+++ b/JCL/jclMin11/src/java/lang/InterruptedException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class InterruptedException extends Exception {
+}
diff --git a/JCL/jclMin11/src/java/lang/Object.java b/JCL/jclMin11/src/java/lang/Object.java
new file mode 100644
index 00000000000..eb50899e5ba
--- /dev/null
+++ b/JCL/jclMin11/src/java/lang/Object.java
@@ -0,0 +1,34 @@
+package java.lang;
+
+public class Object {
+
+public Object() {
+}
+protected Object clone() throws CloneNotSupportedException {
+ return null;
+}
+public boolean equals (Object obj) {
+ return false;
+}
+protected void finalize () throws Throwable {
+}
+public final Class extends Object> getClass() {
+ return null;
+}
+public int hashCode() {
+ return -1;
+}
+public final void notify() throws IllegalMonitorStateException {
+}
+public final void notifyAll() throws IllegalMonitorStateException {
+}
+public String toString () {
+ return null;
+}
+public final void wait () throws IllegalMonitorStateException, InterruptedException {
+}
+public final void wait (long millis) throws IllegalMonitorStateException, InterruptedException {
+}
+public final void wait (long millis, int nanos) throws IllegalMonitorStateException, InterruptedException {
+}
+}
diff --git a/JCL/jclMin11/src/java/lang/RuntimeException.java b/JCL/jclMin11/src/java/lang/RuntimeException.java
new file mode 100644
index 00000000000..ddbaf6395bb
--- /dev/null
+++ b/JCL/jclMin11/src/java/lang/RuntimeException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class RuntimeException extends Exception {
+}
diff --git a/JCL/jclMin11/src/java/lang/String.java b/JCL/jclMin11/src/java/lang/String.java
new file mode 100644
index 00000000000..d8108d4bcfd
--- /dev/null
+++ b/JCL/jclMin11/src/java/lang/String.java
@@ -0,0 +1,5 @@
+package java.lang;
+
+public class String implements CharSequence {
+ public int length() { return 0; }
+}
diff --git a/JCL/jclMin11/src/java/lang/Throwable.java b/JCL/jclMin11/src/java/lang/Throwable.java
new file mode 100644
index 00000000000..d4a8dcb5144
--- /dev/null
+++ b/JCL/jclMin11/src/java/lang/Throwable.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class Throwable {
+}
diff --git a/JCL/jclMin11/src/java/lang/annotation/Annotation.java b/JCL/jclMin11/src/java/lang/annotation/Annotation.java
new file mode 100644
index 00000000000..ba72aad15ec
--- /dev/null
+++ b/JCL/jclMin11/src/java/lang/annotation/Annotation.java
@@ -0,0 +1,4 @@
+package java.lang.annotation;
+public interface Annotation {
+
+}
diff --git a/JCL/jclMin11/src/java/lang/annotation/Documented.java b/JCL/jclMin11/src/java/lang/annotation/Documented.java
new file mode 100644
index 00000000000..b4fcc8480e5
--- /dev/null
+++ b/JCL/jclMin11/src/java/lang/annotation/Documented.java
@@ -0,0 +1,6 @@
+package java.lang.annotation;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Documented {
+}
diff --git a/JCL/jclMin11/src/java/lang/annotation/ElementType.java b/JCL/jclMin11/src/java/lang/annotation/ElementType.java
new file mode 100644
index 00000000000..802eec14574
--- /dev/null
+++ b/JCL/jclMin11/src/java/lang/annotation/ElementType.java
@@ -0,0 +1,13 @@
+package java.lang.annotation;
+public enum ElementType {
+ ANNOTATION_TYPE,
+ CONSTRUCTOR,
+ FIELD,
+ LOCAL_VARIABLE,
+ METHOD,
+ PACKAGE,
+ PARAMETER,
+ TYPE,
+ TYPE_USE,
+ TYPE_PARAMETER,
+}
diff --git a/JCL/jclMin11/src/java/lang/annotation/Inherited.java b/JCL/jclMin11/src/java/lang/annotation/Inherited.java
new file mode 100644
index 00000000000..dfa8b11edc8
--- /dev/null
+++ b/JCL/jclMin11/src/java/lang/annotation/Inherited.java
@@ -0,0 +1,6 @@
+package java.lang.annotation;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Inherited {
+}
\ No newline at end of file
diff --git a/JCL/jclMin11/src/java/lang/annotation/Retention.java b/JCL/jclMin11/src/java/lang/annotation/Retention.java
new file mode 100644
index 00000000000..20211a9f25a
--- /dev/null
+++ b/JCL/jclMin11/src/java/lang/annotation/Retention.java
@@ -0,0 +1,7 @@
+package java.lang.annotation;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Retention {
+ RetentionPolicy value();
+}
\ No newline at end of file
diff --git a/JCL/jclMin11/src/java/lang/annotation/RetentionPolicy.java b/JCL/jclMin11/src/java/lang/annotation/RetentionPolicy.java
new file mode 100644
index 00000000000..b69fa7d6544
--- /dev/null
+++ b/JCL/jclMin11/src/java/lang/annotation/RetentionPolicy.java
@@ -0,0 +1,6 @@
+package java.lang.annotation;
+public enum RetentionPolicy {
+ CLASS,
+ SOURCE,
+ RUNTIME
+}
\ No newline at end of file
diff --git a/JCL/jclMin11/src/java/lang/annotation/Target.java b/JCL/jclMin11/src/java/lang/annotation/Target.java
new file mode 100644
index 00000000000..4c17c171a20
--- /dev/null
+++ b/JCL/jclMin11/src/java/lang/annotation/Target.java
@@ -0,0 +1,7 @@
+package java.lang.annotation;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Target {
+ ElementType[] value();
+}
\ No newline at end of file
diff --git a/JCL/jclMin11/src/java/lang/invoke/MethodHandle.java b/JCL/jclMin11/src/java/lang/invoke/MethodHandle.java
new file mode 100644
index 00000000000..688d832d174
--- /dev/null
+++ b/JCL/jclMin11/src/java/lang/invoke/MethodHandle.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2011 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package java.lang.invoke;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+public abstract class MethodHandle {
+ @Target(METHOD)
+ @Retention(RUNTIME)
+ @interface PolymorphicSignature {
+ }
+
+ @PolymorphicSignature
+ public final native Object invoke(Object... args) throws Throwable;
+
+ @PolymorphicSignature
+ public final native Object invokeExact(Object... args) throws Throwable;
+
+ public native Object invokeWithArguments(Object... arguments)
+ throws Throwable;
+
+ public native boolean isVarargsCollector();
+
+ public native MethodHandle asType(MethodType newType);
+}
\ No newline at end of file
diff --git a/JCL/jclMin11/src/java/lang/invoke/MethodHandles.java b/JCL/jclMin11/src/java/lang/invoke/MethodHandles.java
new file mode 100644
index 00000000000..33622371faf
--- /dev/null
+++ b/JCL/jclMin11/src/java/lang/invoke/MethodHandles.java
@@ -0,0 +1,21 @@
+package java.lang.invoke;
+
+public class MethodHandles {
+ public static final class Lookup {
+ public MethodHandle findVirtual(Class> refc, String name,
+ MethodType type) throws NoSuchMethodException,
+ IllegalAccessException {
+ return null;
+ }
+
+ public MethodHandle findStatic(Class> refc, String name,
+ MethodType type) throws NoSuchMethodException,
+ IllegalAccessException {
+ return null;
+ }
+ }
+
+ public static Lookup lookup() {
+ return null;
+ }
+}
diff --git a/JCL/jclMin11/src/java/lang/invoke/MethodType.java b/JCL/jclMin11/src/java/lang/invoke/MethodType.java
new file mode 100644
index 00000000000..492573b45b0
--- /dev/null
+++ b/JCL/jclMin11/src/java/lang/invoke/MethodType.java
@@ -0,0 +1,16 @@
+package java.lang.invoke;
+
+public final class MethodType {
+ public static MethodType methodType(Class> rtype, Class> ptype0,
+ Class>... ptypes) {
+ return null;
+ }
+
+ public static MethodType methodType(Class> rtype) {
+ return null;
+ }
+
+ public static MethodType genericMethodType(int objectArgCount) {
+ return null;
+ }
+}
diff --git a/JCL/jclMin11/src/java/util/Collection.java b/JCL/jclMin11/src/java/util/Collection.java
new file mode 100644
index 00000000000..4a3f6c5c360
--- /dev/null
+++ b/JCL/jclMin11/src/java/util/Collection.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package java.util;
+
+public interface Collection {
+ public Iterator iterator();
+ public int size();
+ public T get(int index);
+ public boolean addAll(Collection c);
+ public T[] toArray(T[] o);
+}
diff --git a/JCL/jclMin11/src/java/util/Iterator.java b/JCL/jclMin11/src/java/util/Iterator.java
new file mode 100644
index 00000000000..2b0b6b01e68
--- /dev/null
+++ b/JCL/jclMin11/src/java/util/Iterator.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package java.util;
+
+public interface Iterator {
+ boolean hasNext();
+ E next();
+ void remove();
+}
diff --git a/JCL/jclMin11/src/java/util/List.java b/JCL/jclMin11/src/java/util/List.java
new file mode 100644
index 00000000000..7d19bdfb1b8
--- /dev/null
+++ b/JCL/jclMin11/src/java/util/List.java
@@ -0,0 +1,4 @@
+package java.util;
+
+public interface List extends Collection {
+}
diff --git a/JCL/jclMin11/src/java/util/Map.java b/JCL/jclMin11/src/java/util/Map.java
new file mode 100644
index 00000000000..574a7f816a5
--- /dev/null
+++ b/JCL/jclMin11/src/java/util/Map.java
@@ -0,0 +1,5 @@
+package java.util;
+
+public interface Map {
+
+}
\ No newline at end of file
diff --git a/JCL/jclMin11/src/module-info.java b/JCL/jclMin11/src/module-info.java
new file mode 100644
index 00000000000..51a23b131bc
--- /dev/null
+++ b/JCL/jclMin11/src/module-info.java
@@ -0,0 +1,7 @@
+module java.base {
+ exports java.lang;
+ exports java.lang.annotation;
+ exports java.lang.invoke;
+ exports java.io;
+ exports java.util;
+}
\ No newline at end of file
diff --git a/JCL/jclMin12/.classpath b/JCL/jclMin12/.classpath
new file mode 100644
index 00000000000..d838b63a257
--- /dev/null
+++ b/JCL/jclMin12/.classpath
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/JCL/jclMin12/.project b/JCL/jclMin12/.project
new file mode 100644
index 00000000000..3acd996f5af
--- /dev/null
+++ b/JCL/jclMin12/.project
@@ -0,0 +1,17 @@
+
+
+ jclMin12
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/JCL/jclMin12/.settings/org.eclipse.core.resources.prefs b/JCL/jclMin12/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000000..99f26c0203a
--- /dev/null
+++ b/JCL/jclMin12/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/JCL/jclMin12/.settings/org.eclipse.jdt.core.prefs b/JCL/jclMin12/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..44afa3dbfe1
--- /dev/null
+++ b/JCL/jclMin12/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=12
+org.eclipse.jdt.core.compiler.compliance=12
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=12
diff --git a/JCL/jclMin12/src/java/io/Serializable.java b/JCL/jclMin12/src/java/io/Serializable.java
new file mode 100644
index 00000000000..edd882d7d58
--- /dev/null
+++ b/JCL/jclMin12/src/java/io/Serializable.java
@@ -0,0 +1,4 @@
+package java.io;
+
+public interface Serializable {
+}
diff --git a/JCL/jclMin12/src/java/lang/CharSequence.java b/JCL/jclMin12/src/java/lang/CharSequence.java
new file mode 100644
index 00000000000..b9a0d9e4176
--- /dev/null
+++ b/JCL/jclMin12/src/java/lang/CharSequence.java
@@ -0,0 +1,5 @@
+package java.lang;
+
+public interface CharSequence {
+ int length();
+}
diff --git a/JCL/jclMin12/src/java/lang/Class.java b/JCL/jclMin12/src/java/lang/Class.java
new file mode 100644
index 00000000000..a7667b98347
--- /dev/null
+++ b/JCL/jclMin12/src/java/lang/Class.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class Class {
+}
diff --git a/JCL/jclMin12/src/java/lang/CloneNotSupportedException.java b/JCL/jclMin12/src/java/lang/CloneNotSupportedException.java
new file mode 100644
index 00000000000..cb777dc7bac
--- /dev/null
+++ b/JCL/jclMin12/src/java/lang/CloneNotSupportedException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class CloneNotSupportedException extends Exception {
+}
diff --git a/JCL/jclMin12/src/java/lang/Comparable.java b/JCL/jclMin12/src/java/lang/Comparable.java
new file mode 100644
index 00000000000..fbc6c8bac34
--- /dev/null
+++ b/JCL/jclMin12/src/java/lang/Comparable.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public interface Comparable {
+}
diff --git a/JCL/jclMin12/src/java/lang/Deprecated.java b/JCL/jclMin12/src/java/lang/Deprecated.java
new file mode 100644
index 00000000000..6c73dedd0d1
--- /dev/null
+++ b/JCL/jclMin12/src/java/lang/Deprecated.java
@@ -0,0 +1,6 @@
+package java.lang;
+import java.lang.annotation.*;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Deprecated {
+}
\ No newline at end of file
diff --git a/JCL/jclMin12/src/java/lang/Enum.java b/JCL/jclMin12/src/java/lang/Enum.java
new file mode 100644
index 00000000000..d2ab8443159
--- /dev/null
+++ b/JCL/jclMin12/src/java/lang/Enum.java
@@ -0,0 +1,18 @@
+package java.lang;
+
+public abstract class Enum> implements Comparable, java.io.Serializable {
+ private static final long serialVersionUID = 2L;
+
+ protected Enum(String name, int ordinal) {
+ }
+ public final String name() {
+ return null;
+ }
+ public final int ordinal() {
+ return 0;
+ }
+ public static > T valueOf(Class enumClass,
+ String name) {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/JCL/jclMin12/src/java/lang/Error.java b/JCL/jclMin12/src/java/lang/Error.java
new file mode 100644
index 00000000000..fce0cf07245
--- /dev/null
+++ b/JCL/jclMin12/src/java/lang/Error.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class Error extends Throwable {
+}
diff --git a/JCL/jclMin12/src/java/lang/Exception.java b/JCL/jclMin12/src/java/lang/Exception.java
new file mode 100644
index 00000000000..93645c801f0
--- /dev/null
+++ b/JCL/jclMin12/src/java/lang/Exception.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class Exception extends Throwable {
+}
diff --git a/JCL/jclMin12/src/java/lang/IllegalMonitorStateException.java b/JCL/jclMin12/src/java/lang/IllegalMonitorStateException.java
new file mode 100644
index 00000000000..e173f133abe
--- /dev/null
+++ b/JCL/jclMin12/src/java/lang/IllegalMonitorStateException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class IllegalMonitorStateException extends RuntimeException {
+}
diff --git a/JCL/jclMin12/src/java/lang/InterruptedException.java b/JCL/jclMin12/src/java/lang/InterruptedException.java
new file mode 100644
index 00000000000..e2e84ba0bc2
--- /dev/null
+++ b/JCL/jclMin12/src/java/lang/InterruptedException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class InterruptedException extends Exception {
+}
diff --git a/JCL/jclMin12/src/java/lang/Object.java b/JCL/jclMin12/src/java/lang/Object.java
new file mode 100644
index 00000000000..eb50899e5ba
--- /dev/null
+++ b/JCL/jclMin12/src/java/lang/Object.java
@@ -0,0 +1,34 @@
+package java.lang;
+
+public class Object {
+
+public Object() {
+}
+protected Object clone() throws CloneNotSupportedException {
+ return null;
+}
+public boolean equals (Object obj) {
+ return false;
+}
+protected void finalize () throws Throwable {
+}
+public final Class extends Object> getClass() {
+ return null;
+}
+public int hashCode() {
+ return -1;
+}
+public final void notify() throws IllegalMonitorStateException {
+}
+public final void notifyAll() throws IllegalMonitorStateException {
+}
+public String toString () {
+ return null;
+}
+public final void wait () throws IllegalMonitorStateException, InterruptedException {
+}
+public final void wait (long millis) throws IllegalMonitorStateException, InterruptedException {
+}
+public final void wait (long millis, int nanos) throws IllegalMonitorStateException, InterruptedException {
+}
+}
diff --git a/JCL/jclMin12/src/java/lang/RuntimeException.java b/JCL/jclMin12/src/java/lang/RuntimeException.java
new file mode 100644
index 00000000000..ddbaf6395bb
--- /dev/null
+++ b/JCL/jclMin12/src/java/lang/RuntimeException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class RuntimeException extends Exception {
+}
diff --git a/JCL/jclMin12/src/java/lang/String.java b/JCL/jclMin12/src/java/lang/String.java
new file mode 100644
index 00000000000..d8108d4bcfd
--- /dev/null
+++ b/JCL/jclMin12/src/java/lang/String.java
@@ -0,0 +1,5 @@
+package java.lang;
+
+public class String implements CharSequence {
+ public int length() { return 0; }
+}
diff --git a/JCL/jclMin12/src/java/lang/Throwable.java b/JCL/jclMin12/src/java/lang/Throwable.java
new file mode 100644
index 00000000000..d4a8dcb5144
--- /dev/null
+++ b/JCL/jclMin12/src/java/lang/Throwable.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class Throwable {
+}
diff --git a/JCL/jclMin12/src/java/lang/annotation/Annotation.java b/JCL/jclMin12/src/java/lang/annotation/Annotation.java
new file mode 100644
index 00000000000..ba72aad15ec
--- /dev/null
+++ b/JCL/jclMin12/src/java/lang/annotation/Annotation.java
@@ -0,0 +1,4 @@
+package java.lang.annotation;
+public interface Annotation {
+
+}
diff --git a/JCL/jclMin12/src/java/lang/annotation/Documented.java b/JCL/jclMin12/src/java/lang/annotation/Documented.java
new file mode 100644
index 00000000000..b4fcc8480e5
--- /dev/null
+++ b/JCL/jclMin12/src/java/lang/annotation/Documented.java
@@ -0,0 +1,6 @@
+package java.lang.annotation;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Documented {
+}
diff --git a/JCL/jclMin12/src/java/lang/annotation/ElementType.java b/JCL/jclMin12/src/java/lang/annotation/ElementType.java
new file mode 100644
index 00000000000..802eec14574
--- /dev/null
+++ b/JCL/jclMin12/src/java/lang/annotation/ElementType.java
@@ -0,0 +1,13 @@
+package java.lang.annotation;
+public enum ElementType {
+ ANNOTATION_TYPE,
+ CONSTRUCTOR,
+ FIELD,
+ LOCAL_VARIABLE,
+ METHOD,
+ PACKAGE,
+ PARAMETER,
+ TYPE,
+ TYPE_USE,
+ TYPE_PARAMETER,
+}
diff --git a/JCL/jclMin12/src/java/lang/annotation/Inherited.java b/JCL/jclMin12/src/java/lang/annotation/Inherited.java
new file mode 100644
index 00000000000..dfa8b11edc8
--- /dev/null
+++ b/JCL/jclMin12/src/java/lang/annotation/Inherited.java
@@ -0,0 +1,6 @@
+package java.lang.annotation;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Inherited {
+}
\ No newline at end of file
diff --git a/JCL/jclMin12/src/java/lang/annotation/Retention.java b/JCL/jclMin12/src/java/lang/annotation/Retention.java
new file mode 100644
index 00000000000..20211a9f25a
--- /dev/null
+++ b/JCL/jclMin12/src/java/lang/annotation/Retention.java
@@ -0,0 +1,7 @@
+package java.lang.annotation;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Retention {
+ RetentionPolicy value();
+}
\ No newline at end of file
diff --git a/JCL/jclMin12/src/java/lang/annotation/RetentionPolicy.java b/JCL/jclMin12/src/java/lang/annotation/RetentionPolicy.java
new file mode 100644
index 00000000000..b69fa7d6544
--- /dev/null
+++ b/JCL/jclMin12/src/java/lang/annotation/RetentionPolicy.java
@@ -0,0 +1,6 @@
+package java.lang.annotation;
+public enum RetentionPolicy {
+ CLASS,
+ SOURCE,
+ RUNTIME
+}
\ No newline at end of file
diff --git a/JCL/jclMin12/src/java/lang/annotation/Target.java b/JCL/jclMin12/src/java/lang/annotation/Target.java
new file mode 100644
index 00000000000..4c17c171a20
--- /dev/null
+++ b/JCL/jclMin12/src/java/lang/annotation/Target.java
@@ -0,0 +1,7 @@
+package java.lang.annotation;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Target {
+ ElementType[] value();
+}
\ No newline at end of file
diff --git a/JCL/jclMin12/src/java/lang/invoke/MethodHandle.java b/JCL/jclMin12/src/java/lang/invoke/MethodHandle.java
new file mode 100644
index 00000000000..688d832d174
--- /dev/null
+++ b/JCL/jclMin12/src/java/lang/invoke/MethodHandle.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2011 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package java.lang.invoke;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+public abstract class MethodHandle {
+ @Target(METHOD)
+ @Retention(RUNTIME)
+ @interface PolymorphicSignature {
+ }
+
+ @PolymorphicSignature
+ public final native Object invoke(Object... args) throws Throwable;
+
+ @PolymorphicSignature
+ public final native Object invokeExact(Object... args) throws Throwable;
+
+ public native Object invokeWithArguments(Object... arguments)
+ throws Throwable;
+
+ public native boolean isVarargsCollector();
+
+ public native MethodHandle asType(MethodType newType);
+}
\ No newline at end of file
diff --git a/JCL/jclMin12/src/java/lang/invoke/MethodHandles.java b/JCL/jclMin12/src/java/lang/invoke/MethodHandles.java
new file mode 100644
index 00000000000..33622371faf
--- /dev/null
+++ b/JCL/jclMin12/src/java/lang/invoke/MethodHandles.java
@@ -0,0 +1,21 @@
+package java.lang.invoke;
+
+public class MethodHandles {
+ public static final class Lookup {
+ public MethodHandle findVirtual(Class> refc, String name,
+ MethodType type) throws NoSuchMethodException,
+ IllegalAccessException {
+ return null;
+ }
+
+ public MethodHandle findStatic(Class> refc, String name,
+ MethodType type) throws NoSuchMethodException,
+ IllegalAccessException {
+ return null;
+ }
+ }
+
+ public static Lookup lookup() {
+ return null;
+ }
+}
diff --git a/JCL/jclMin12/src/java/lang/invoke/MethodType.java b/JCL/jclMin12/src/java/lang/invoke/MethodType.java
new file mode 100644
index 00000000000..492573b45b0
--- /dev/null
+++ b/JCL/jclMin12/src/java/lang/invoke/MethodType.java
@@ -0,0 +1,16 @@
+package java.lang.invoke;
+
+public final class MethodType {
+ public static MethodType methodType(Class> rtype, Class> ptype0,
+ Class>... ptypes) {
+ return null;
+ }
+
+ public static MethodType methodType(Class> rtype) {
+ return null;
+ }
+
+ public static MethodType genericMethodType(int objectArgCount) {
+ return null;
+ }
+}
diff --git a/JCL/jclMin12/src/java/util/Collection.java b/JCL/jclMin12/src/java/util/Collection.java
new file mode 100644
index 00000000000..4a3f6c5c360
--- /dev/null
+++ b/JCL/jclMin12/src/java/util/Collection.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package java.util;
+
+public interface Collection {
+ public Iterator iterator();
+ public int size();
+ public T get(int index);
+ public boolean addAll(Collection c);
+ public T[] toArray(T[] o);
+}
diff --git a/JCL/jclMin12/src/java/util/Iterator.java b/JCL/jclMin12/src/java/util/Iterator.java
new file mode 100644
index 00000000000..2b0b6b01e68
--- /dev/null
+++ b/JCL/jclMin12/src/java/util/Iterator.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package java.util;
+
+public interface Iterator {
+ boolean hasNext();
+ E next();
+ void remove();
+}
diff --git a/JCL/jclMin12/src/java/util/List.java b/JCL/jclMin12/src/java/util/List.java
new file mode 100644
index 00000000000..7d19bdfb1b8
--- /dev/null
+++ b/JCL/jclMin12/src/java/util/List.java
@@ -0,0 +1,4 @@
+package java.util;
+
+public interface List extends Collection {
+}
diff --git a/JCL/jclMin12/src/java/util/Map.java b/JCL/jclMin12/src/java/util/Map.java
new file mode 100644
index 00000000000..574a7f816a5
--- /dev/null
+++ b/JCL/jclMin12/src/java/util/Map.java
@@ -0,0 +1,5 @@
+package java.util;
+
+public interface Map {
+
+}
\ No newline at end of file
diff --git a/JCL/jclMin12/src/java/util/function/Supplier.java b/JCL/jclMin12/src/java/util/function/Supplier.java
new file mode 100644
index 00000000000..f876919c869
--- /dev/null
+++ b/JCL/jclMin12/src/java/util/function/Supplier.java
@@ -0,0 +1,15 @@
+/*******************************************************************************
+ * Copyright (c) 2019 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package java.util.function;
+
+public interface Supplier {
+ T get();
+}
diff --git a/JCL/jclMin12/src/module-info.java b/JCL/jclMin12/src/module-info.java
new file mode 100644
index 00000000000..51a23b131bc
--- /dev/null
+++ b/JCL/jclMin12/src/module-info.java
@@ -0,0 +1,7 @@
+module java.base {
+ exports java.lang;
+ exports java.lang.annotation;
+ exports java.lang.invoke;
+ exports java.io;
+ exports java.util;
+}
\ No newline at end of file
diff --git a/JCL/jclMin13/.classpath b/JCL/jclMin13/.classpath
new file mode 100644
index 00000000000..a3ebc8cce87
--- /dev/null
+++ b/JCL/jclMin13/.classpath
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/JCL/jclMin13/.project b/JCL/jclMin13/.project
new file mode 100644
index 00000000000..9c0fcfcf44b
--- /dev/null
+++ b/JCL/jclMin13/.project
@@ -0,0 +1,17 @@
+
+
+ jclMin13
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/JCL/jclMin13/.settings/org.eclipse.core.resources.prefs b/JCL/jclMin13/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000000..99f26c0203a
--- /dev/null
+++ b/JCL/jclMin13/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/JCL/jclMin13/.settings/org.eclipse.jdt.core.prefs b/JCL/jclMin13/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..8f7bbc5d009
--- /dev/null
+++ b/JCL/jclMin13/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=13
+org.eclipse.jdt.core.compiler.compliance=13
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=13
diff --git a/JCL/jclMin13/src/java/io/Serializable.java b/JCL/jclMin13/src/java/io/Serializable.java
new file mode 100644
index 00000000000..edd882d7d58
--- /dev/null
+++ b/JCL/jclMin13/src/java/io/Serializable.java
@@ -0,0 +1,4 @@
+package java.io;
+
+public interface Serializable {
+}
diff --git a/JCL/jclMin13/src/java/lang/CharSequence.java b/JCL/jclMin13/src/java/lang/CharSequence.java
new file mode 100644
index 00000000000..b9a0d9e4176
--- /dev/null
+++ b/JCL/jclMin13/src/java/lang/CharSequence.java
@@ -0,0 +1,5 @@
+package java.lang;
+
+public interface CharSequence {
+ int length();
+}
diff --git a/JCL/jclMin13/src/java/lang/Class.java b/JCL/jclMin13/src/java/lang/Class.java
new file mode 100644
index 00000000000..a7667b98347
--- /dev/null
+++ b/JCL/jclMin13/src/java/lang/Class.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class Class {
+}
diff --git a/JCL/jclMin13/src/java/lang/CloneNotSupportedException.java b/JCL/jclMin13/src/java/lang/CloneNotSupportedException.java
new file mode 100644
index 00000000000..cb777dc7bac
--- /dev/null
+++ b/JCL/jclMin13/src/java/lang/CloneNotSupportedException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class CloneNotSupportedException extends Exception {
+}
diff --git a/JCL/jclMin13/src/java/lang/Comparable.java b/JCL/jclMin13/src/java/lang/Comparable.java
new file mode 100644
index 00000000000..fbc6c8bac34
--- /dev/null
+++ b/JCL/jclMin13/src/java/lang/Comparable.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public interface Comparable {
+}
diff --git a/JCL/jclMin13/src/java/lang/Deprecated.java b/JCL/jclMin13/src/java/lang/Deprecated.java
new file mode 100644
index 00000000000..6c73dedd0d1
--- /dev/null
+++ b/JCL/jclMin13/src/java/lang/Deprecated.java
@@ -0,0 +1,6 @@
+package java.lang;
+import java.lang.annotation.*;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Deprecated {
+}
\ No newline at end of file
diff --git a/JCL/jclMin13/src/java/lang/Enum.java b/JCL/jclMin13/src/java/lang/Enum.java
new file mode 100644
index 00000000000..05c8d2728b8
--- /dev/null
+++ b/JCL/jclMin13/src/java/lang/Enum.java
@@ -0,0 +1,14 @@
+package java.lang;
+
+public abstract class Enum> implements Comparable, java.io.Serializable {
+ private static final long serialVersionUID = 2L;
+
+ protected Enum(String name, int ordinal) {
+ }
+ public final String name() {
+ return null;
+ }
+ public final int ordinal() {
+ return 0;
+ }
+}
\ No newline at end of file
diff --git a/JCL/jclMin13/src/java/lang/Error.java b/JCL/jclMin13/src/java/lang/Error.java
new file mode 100644
index 00000000000..fce0cf07245
--- /dev/null
+++ b/JCL/jclMin13/src/java/lang/Error.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class Error extends Throwable {
+}
diff --git a/JCL/jclMin13/src/java/lang/Exception.java b/JCL/jclMin13/src/java/lang/Exception.java
new file mode 100644
index 00000000000..93645c801f0
--- /dev/null
+++ b/JCL/jclMin13/src/java/lang/Exception.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class Exception extends Throwable {
+}
diff --git a/JCL/jclMin13/src/java/lang/IllegalMonitorStateException.java b/JCL/jclMin13/src/java/lang/IllegalMonitorStateException.java
new file mode 100644
index 00000000000..e173f133abe
--- /dev/null
+++ b/JCL/jclMin13/src/java/lang/IllegalMonitorStateException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class IllegalMonitorStateException extends RuntimeException {
+}
diff --git a/JCL/jclMin13/src/java/lang/InterruptedException.java b/JCL/jclMin13/src/java/lang/InterruptedException.java
new file mode 100644
index 00000000000..e2e84ba0bc2
--- /dev/null
+++ b/JCL/jclMin13/src/java/lang/InterruptedException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class InterruptedException extends Exception {
+}
diff --git a/JCL/jclMin13/src/java/lang/Object.java b/JCL/jclMin13/src/java/lang/Object.java
new file mode 100644
index 00000000000..eb50899e5ba
--- /dev/null
+++ b/JCL/jclMin13/src/java/lang/Object.java
@@ -0,0 +1,34 @@
+package java.lang;
+
+public class Object {
+
+public Object() {
+}
+protected Object clone() throws CloneNotSupportedException {
+ return null;
+}
+public boolean equals (Object obj) {
+ return false;
+}
+protected void finalize () throws Throwable {
+}
+public final Class extends Object> getClass() {
+ return null;
+}
+public int hashCode() {
+ return -1;
+}
+public final void notify() throws IllegalMonitorStateException {
+}
+public final void notifyAll() throws IllegalMonitorStateException {
+}
+public String toString () {
+ return null;
+}
+public final void wait () throws IllegalMonitorStateException, InterruptedException {
+}
+public final void wait (long millis) throws IllegalMonitorStateException, InterruptedException {
+}
+public final void wait (long millis, int nanos) throws IllegalMonitorStateException, InterruptedException {
+}
+}
diff --git a/JCL/jclMin13/src/java/lang/RuntimeException.java b/JCL/jclMin13/src/java/lang/RuntimeException.java
new file mode 100644
index 00000000000..ddbaf6395bb
--- /dev/null
+++ b/JCL/jclMin13/src/java/lang/RuntimeException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class RuntimeException extends Exception {
+}
diff --git a/JCL/jclMin13/src/java/lang/String.java b/JCL/jclMin13/src/java/lang/String.java
new file mode 100644
index 00000000000..d8108d4bcfd
--- /dev/null
+++ b/JCL/jclMin13/src/java/lang/String.java
@@ -0,0 +1,5 @@
+package java.lang;
+
+public class String implements CharSequence {
+ public int length() { return 0; }
+}
diff --git a/JCL/jclMin13/src/java/lang/Throwable.java b/JCL/jclMin13/src/java/lang/Throwable.java
new file mode 100644
index 00000000000..d4a8dcb5144
--- /dev/null
+++ b/JCL/jclMin13/src/java/lang/Throwable.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class Throwable {
+}
diff --git a/JCL/jclMin13/src/java/lang/annotation/Annotation.java b/JCL/jclMin13/src/java/lang/annotation/Annotation.java
new file mode 100644
index 00000000000..ba72aad15ec
--- /dev/null
+++ b/JCL/jclMin13/src/java/lang/annotation/Annotation.java
@@ -0,0 +1,4 @@
+package java.lang.annotation;
+public interface Annotation {
+
+}
diff --git a/JCL/jclMin13/src/java/lang/annotation/Documented.java b/JCL/jclMin13/src/java/lang/annotation/Documented.java
new file mode 100644
index 00000000000..b4fcc8480e5
--- /dev/null
+++ b/JCL/jclMin13/src/java/lang/annotation/Documented.java
@@ -0,0 +1,6 @@
+package java.lang.annotation;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Documented {
+}
diff --git a/JCL/jclMin13/src/java/lang/annotation/ElementType.java b/JCL/jclMin13/src/java/lang/annotation/ElementType.java
new file mode 100644
index 00000000000..802eec14574
--- /dev/null
+++ b/JCL/jclMin13/src/java/lang/annotation/ElementType.java
@@ -0,0 +1,13 @@
+package java.lang.annotation;
+public enum ElementType {
+ ANNOTATION_TYPE,
+ CONSTRUCTOR,
+ FIELD,
+ LOCAL_VARIABLE,
+ METHOD,
+ PACKAGE,
+ PARAMETER,
+ TYPE,
+ TYPE_USE,
+ TYPE_PARAMETER,
+}
diff --git a/JCL/jclMin13/src/java/lang/annotation/Inherited.java b/JCL/jclMin13/src/java/lang/annotation/Inherited.java
new file mode 100644
index 00000000000..dfa8b11edc8
--- /dev/null
+++ b/JCL/jclMin13/src/java/lang/annotation/Inherited.java
@@ -0,0 +1,6 @@
+package java.lang.annotation;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Inherited {
+}
\ No newline at end of file
diff --git a/JCL/jclMin13/src/java/lang/annotation/Retention.java b/JCL/jclMin13/src/java/lang/annotation/Retention.java
new file mode 100644
index 00000000000..20211a9f25a
--- /dev/null
+++ b/JCL/jclMin13/src/java/lang/annotation/Retention.java
@@ -0,0 +1,7 @@
+package java.lang.annotation;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Retention {
+ RetentionPolicy value();
+}
\ No newline at end of file
diff --git a/JCL/jclMin13/src/java/lang/annotation/RetentionPolicy.java b/JCL/jclMin13/src/java/lang/annotation/RetentionPolicy.java
new file mode 100644
index 00000000000..b69fa7d6544
--- /dev/null
+++ b/JCL/jclMin13/src/java/lang/annotation/RetentionPolicy.java
@@ -0,0 +1,6 @@
+package java.lang.annotation;
+public enum RetentionPolicy {
+ CLASS,
+ SOURCE,
+ RUNTIME
+}
\ No newline at end of file
diff --git a/JCL/jclMin13/src/java/lang/annotation/Target.java b/JCL/jclMin13/src/java/lang/annotation/Target.java
new file mode 100644
index 00000000000..4c17c171a20
--- /dev/null
+++ b/JCL/jclMin13/src/java/lang/annotation/Target.java
@@ -0,0 +1,7 @@
+package java.lang.annotation;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Target {
+ ElementType[] value();
+}
\ No newline at end of file
diff --git a/JCL/jclMin13/src/java/lang/invoke/MethodHandle.java b/JCL/jclMin13/src/java/lang/invoke/MethodHandle.java
new file mode 100644
index 00000000000..688d832d174
--- /dev/null
+++ b/JCL/jclMin13/src/java/lang/invoke/MethodHandle.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2011 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package java.lang.invoke;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+public abstract class MethodHandle {
+ @Target(METHOD)
+ @Retention(RUNTIME)
+ @interface PolymorphicSignature {
+ }
+
+ @PolymorphicSignature
+ public final native Object invoke(Object... args) throws Throwable;
+
+ @PolymorphicSignature
+ public final native Object invokeExact(Object... args) throws Throwable;
+
+ public native Object invokeWithArguments(Object... arguments)
+ throws Throwable;
+
+ public native boolean isVarargsCollector();
+
+ public native MethodHandle asType(MethodType newType);
+}
\ No newline at end of file
diff --git a/JCL/jclMin13/src/java/lang/invoke/MethodHandles.java b/JCL/jclMin13/src/java/lang/invoke/MethodHandles.java
new file mode 100644
index 00000000000..33622371faf
--- /dev/null
+++ b/JCL/jclMin13/src/java/lang/invoke/MethodHandles.java
@@ -0,0 +1,21 @@
+package java.lang.invoke;
+
+public class MethodHandles {
+ public static final class Lookup {
+ public MethodHandle findVirtual(Class> refc, String name,
+ MethodType type) throws NoSuchMethodException,
+ IllegalAccessException {
+ return null;
+ }
+
+ public MethodHandle findStatic(Class> refc, String name,
+ MethodType type) throws NoSuchMethodException,
+ IllegalAccessException {
+ return null;
+ }
+ }
+
+ public static Lookup lookup() {
+ return null;
+ }
+}
diff --git a/JCL/jclMin13/src/java/lang/invoke/MethodType.java b/JCL/jclMin13/src/java/lang/invoke/MethodType.java
new file mode 100644
index 00000000000..492573b45b0
--- /dev/null
+++ b/JCL/jclMin13/src/java/lang/invoke/MethodType.java
@@ -0,0 +1,16 @@
+package java.lang.invoke;
+
+public final class MethodType {
+ public static MethodType methodType(Class> rtype, Class> ptype0,
+ Class>... ptypes) {
+ return null;
+ }
+
+ public static MethodType methodType(Class> rtype) {
+ return null;
+ }
+
+ public static MethodType genericMethodType(int objectArgCount) {
+ return null;
+ }
+}
diff --git a/JCL/jclMin13/src/java/util/Collection.java b/JCL/jclMin13/src/java/util/Collection.java
new file mode 100644
index 00000000000..4a3f6c5c360
--- /dev/null
+++ b/JCL/jclMin13/src/java/util/Collection.java
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package java.util;
+
+public interface Collection {
+ public Iterator iterator();
+ public int size();
+ public T get(int index);
+ public boolean addAll(Collection c);
+ public T[] toArray(T[] o);
+}
diff --git a/JCL/jclMin13/src/java/util/Iterator.java b/JCL/jclMin13/src/java/util/Iterator.java
new file mode 100644
index 00000000000..2b0b6b01e68
--- /dev/null
+++ b/JCL/jclMin13/src/java/util/Iterator.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package java.util;
+
+public interface Iterator {
+ boolean hasNext();
+ E next();
+ void remove();
+}
diff --git a/JCL/jclMin13/src/java/util/List.java b/JCL/jclMin13/src/java/util/List.java
new file mode 100644
index 00000000000..7d19bdfb1b8
--- /dev/null
+++ b/JCL/jclMin13/src/java/util/List.java
@@ -0,0 +1,4 @@
+package java.util;
+
+public interface List extends Collection {
+}
diff --git a/JCL/jclMin13/src/java/util/Map.java b/JCL/jclMin13/src/java/util/Map.java
new file mode 100644
index 00000000000..574a7f816a5
--- /dev/null
+++ b/JCL/jclMin13/src/java/util/Map.java
@@ -0,0 +1,5 @@
+package java.util;
+
+public interface Map {
+
+}
\ No newline at end of file
diff --git a/JCL/jclMin13/src/java/util/function/Supplier.java b/JCL/jclMin13/src/java/util/function/Supplier.java
new file mode 100644
index 00000000000..f876919c869
--- /dev/null
+++ b/JCL/jclMin13/src/java/util/function/Supplier.java
@@ -0,0 +1,15 @@
+/*******************************************************************************
+ * Copyright (c) 2019 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package java.util.function;
+
+public interface Supplier {
+ T get();
+}
diff --git a/JCL/jclMin13/src/module-info.java b/JCL/jclMin13/src/module-info.java
new file mode 100644
index 00000000000..51a23b131bc
--- /dev/null
+++ b/JCL/jclMin13/src/module-info.java
@@ -0,0 +1,7 @@
+module java.base {
+ exports java.lang;
+ exports java.lang.annotation;
+ exports java.lang.invoke;
+ exports java.io;
+ exports java.util;
+}
\ No newline at end of file
diff --git a/JCL/jclMin14/.classpath b/JCL/jclMin14/.classpath
new file mode 100644
index 00000000000..02fa16ae56e
--- /dev/null
+++ b/JCL/jclMin14/.classpath
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/JCL/jclMin14/.project b/JCL/jclMin14/.project
new file mode 100644
index 00000000000..10d0e115da4
--- /dev/null
+++ b/JCL/jclMin14/.project
@@ -0,0 +1,17 @@
+
+
+ jclMin14
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/JCL/jclMin14/.settings/org.eclipse.core.resources.prefs b/JCL/jclMin14/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000000..99f26c0203a
--- /dev/null
+++ b/JCL/jclMin14/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/JCL/jclMin14/.settings/org.eclipse.jdt.core.prefs b/JCL/jclMin14/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..e5d2334752b
--- /dev/null
+++ b/JCL/jclMin14/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=14
+org.eclipse.jdt.core.compiler.compliance=14
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=14
diff --git a/JCL/jclMin14/META-INF/MANIFEST.MF b/JCL/jclMin14/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..8810135036b
--- /dev/null
+++ b/JCL/jclMin14/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Created-By: 1.8.0_151 (Oracle Corporation)
+
diff --git a/JCL/jclMin14/module-info.java b/JCL/jclMin14/module-info.java
new file mode 100644
index 00000000000..51a23b131bc
--- /dev/null
+++ b/JCL/jclMin14/module-info.java
@@ -0,0 +1,7 @@
+module java.base {
+ exports java.lang;
+ exports java.lang.annotation;
+ exports java.lang.invoke;
+ exports java.io;
+ exports java.util;
+}
\ No newline at end of file
diff --git a/JCL/jclMin14/src/java/io/InputStream.java b/JCL/jclMin14/src/java/io/InputStream.java
new file mode 100644
index 00000000000..82511babed9
--- /dev/null
+++ b/JCL/jclMin14/src/java/io/InputStream.java
@@ -0,0 +1,5 @@
+package java.io;
+
+public class InputStream {
+
+}
diff --git a/JCL/jclMin14/src/java/io/PrintStream.java b/JCL/jclMin14/src/java/io/PrintStream.java
new file mode 100644
index 00000000000..19059381a2f
--- /dev/null
+++ b/JCL/jclMin14/src/java/io/PrintStream.java
@@ -0,0 +1,8 @@
+package java.io;
+
+public class PrintStream {
+ public void println(String x) {
+ }
+ public void println(int x) {
+ }
+}
diff --git a/JCL/jclMin14/src/java/io/Serializable.java b/JCL/jclMin14/src/java/io/Serializable.java
new file mode 100644
index 00000000000..edd882d7d58
--- /dev/null
+++ b/JCL/jclMin14/src/java/io/Serializable.java
@@ -0,0 +1,4 @@
+package java.io;
+
+public interface Serializable {
+}
diff --git a/JCL/jclMin14/src/java/lang/CharSequence.java b/JCL/jclMin14/src/java/lang/CharSequence.java
new file mode 100644
index 00000000000..b9a0d9e4176
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/CharSequence.java
@@ -0,0 +1,5 @@
+package java.lang;
+
+public interface CharSequence {
+ int length();
+}
diff --git a/JCL/jclMin14/src/java/lang/Class.java b/JCL/jclMin14/src/java/lang/Class.java
new file mode 100644
index 00000000000..a7667b98347
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/Class.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class Class {
+}
diff --git a/JCL/jclMin14/src/java/lang/ClassNotFoundException.java b/JCL/jclMin14/src/java/lang/ClassNotFoundException.java
new file mode 100644
index 00000000000..7765ed820ae
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/ClassNotFoundException.java
@@ -0,0 +1,20 @@
+package java.lang;
+
+public class ClassNotFoundException extends ReflectiveOperationException {
+
+ public ClassNotFoundException() {
+ super((Throwable)null); // Disallow initCause
+ }
+
+ public ClassNotFoundException(String s) {
+ super(s, null); // Disallow initCause
+ }
+
+ public ClassNotFoundException(String s, Throwable ex) {
+ super(s, ex); // Disallow initCause
+ }
+
+ public Throwable getException() {
+ return getCause();
+ }
+}
\ No newline at end of file
diff --git a/JCL/jclMin14/src/java/lang/CloneNotSupportedException.java b/JCL/jclMin14/src/java/lang/CloneNotSupportedException.java
new file mode 100644
index 00000000000..cb777dc7bac
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/CloneNotSupportedException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class CloneNotSupportedException extends Exception {
+}
diff --git a/JCL/jclMin14/src/java/lang/Comparable.java b/JCL/jclMin14/src/java/lang/Comparable.java
new file mode 100644
index 00000000000..fbc6c8bac34
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/Comparable.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public interface Comparable {
+}
diff --git a/JCL/jclMin14/src/java/lang/Deprecated.java b/JCL/jclMin14/src/java/lang/Deprecated.java
new file mode 100644
index 00000000000..6c73dedd0d1
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/Deprecated.java
@@ -0,0 +1,6 @@
+package java.lang;
+import java.lang.annotation.*;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Deprecated {
+}
\ No newline at end of file
diff --git a/JCL/jclMin14/src/java/lang/Enum.java b/JCL/jclMin14/src/java/lang/Enum.java
new file mode 100644
index 00000000000..05c8d2728b8
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/Enum.java
@@ -0,0 +1,14 @@
+package java.lang;
+
+public abstract class Enum> implements Comparable, java.io.Serializable {
+ private static final long serialVersionUID = 2L;
+
+ protected Enum(String name, int ordinal) {
+ }
+ public final String name() {
+ return null;
+ }
+ public final int ordinal() {
+ return 0;
+ }
+}
\ No newline at end of file
diff --git a/JCL/jclMin14/src/java/lang/Error.java b/JCL/jclMin14/src/java/lang/Error.java
new file mode 100644
index 00000000000..9a446d53249
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/Error.java
@@ -0,0 +1,16 @@
+package java.lang;
+
+public class Error extends Throwable {
+
+ public Error(java.lang.String s) {
+ // TODO Auto-generated constructor stub
+ }
+
+ public Error(java.lang.String s, java.lang.Throwable cause) {
+ // TODO Auto-generated constructor stub
+ }
+
+ public Error() {
+ // TODO Auto-generated constructor stub
+ }
+}
diff --git a/JCL/jclMin14/src/java/lang/Exception.java b/JCL/jclMin14/src/java/lang/Exception.java
new file mode 100644
index 00000000000..0adef36baff
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/Exception.java
@@ -0,0 +1,19 @@
+package java.lang;
+
+public class Exception extends Throwable {
+ public Exception() {
+ super();
+ }
+
+ public Exception(String message) {
+ super(message);
+ }
+
+ public Exception(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public Exception(Throwable cause) {
+ super(cause);
+ }
+}
diff --git a/JCL/jclMin14/src/java/lang/IllegalAccessException.java b/JCL/jclMin14/src/java/lang/IllegalAccessException.java
new file mode 100644
index 00000000000..814649067f6
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/IllegalAccessException.java
@@ -0,0 +1,5 @@
+package java.lang;
+
+public class IllegalAccessException extends RuntimeException {
+
+}
diff --git a/JCL/jclMin14/src/java/lang/IllegalMonitorStateException.java b/JCL/jclMin14/src/java/lang/IllegalMonitorStateException.java
new file mode 100644
index 00000000000..e173f133abe
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/IllegalMonitorStateException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class IllegalMonitorStateException extends RuntimeException {
+}
diff --git a/JCL/jclMin14/src/java/lang/IncompatibleClassChangeError.java b/JCL/jclMin14/src/java/lang/IncompatibleClassChangeError.java
new file mode 100644
index 00000000000..9552b875b85
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/IncompatibleClassChangeError.java
@@ -0,0 +1,13 @@
+
+package java.lang;
+public
+class IncompatibleClassChangeError extends LinkageError {
+
+ public IncompatibleClassChangeError () {
+ super();
+ }
+
+ public IncompatibleClassChangeError(String s) {
+ super(s);
+ }
+}
diff --git a/JCL/jclMin14/src/java/lang/InterruptedException.java b/JCL/jclMin14/src/java/lang/InterruptedException.java
new file mode 100644
index 00000000000..e2e84ba0bc2
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/InterruptedException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class InterruptedException extends Exception {
+}
diff --git a/JCL/jclMin14/src/java/lang/Iterable.java b/JCL/jclMin14/src/java/lang/Iterable.java
new file mode 100644
index 00000000000..ab4b9d53f69
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/Iterable.java
@@ -0,0 +1,10 @@
+package java.lang;
+
+import java.util.Iterator;
+import java.util.function.Consumer;
+
+public interface Iterable {
+ Iterator iterator();
+ default void forEach(Consumer super T> action) {
+ }
+}
diff --git a/JCL/jclMin14/src/java/lang/LinkageError.java b/JCL/jclMin14/src/java/lang/LinkageError.java
new file mode 100644
index 00000000000..199d39d98bc
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/LinkageError.java
@@ -0,0 +1,17 @@
+package java.lang;
+
+public
+class LinkageError extends Error {
+
+ public LinkageError() {
+ super();
+ }
+
+ public LinkageError(String s) {
+ super(s);
+ }
+
+ public LinkageError(String s, Throwable cause) {
+ super(s, cause);
+ }
+}
diff --git a/JCL/jclMin14/src/java/lang/NoClassDefFoundError.java b/JCL/jclMin14/src/java/lang/NoClassDefFoundError.java
new file mode 100644
index 00000000000..da0fe415c37
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/NoClassDefFoundError.java
@@ -0,0 +1,13 @@
+package java.lang;
+
+public
+class NoClassDefFoundError extends LinkageError {
+
+ public NoClassDefFoundError() {
+ super();
+ }
+
+ public NoClassDefFoundError(String s) {
+ super(s);
+ }
+}
diff --git a/JCL/jclMin14/src/java/lang/NoSuchFieldError.java b/JCL/jclMin14/src/java/lang/NoSuchFieldError.java
new file mode 100644
index 00000000000..486e5339dcf
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/NoSuchFieldError.java
@@ -0,0 +1,13 @@
+package java.lang;
+
+public
+class NoSuchFieldError extends IncompatibleClassChangeError {
+
+ public NoSuchFieldError() {
+ super();
+ }
+
+ public NoSuchFieldError(String s) {
+ super(s);
+ }
+}
diff --git a/JCL/jclMin14/src/java/lang/NoSuchMethodException.java b/JCL/jclMin14/src/java/lang/NoSuchMethodException.java
new file mode 100644
index 00000000000..b8c5bce7a5b
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/NoSuchMethodException.java
@@ -0,0 +1,5 @@
+package java.lang;
+
+public class NoSuchMethodException extends RuntimeException {
+
+}
diff --git a/JCL/jclMin14/src/java/lang/NullPointerException.java b/JCL/jclMin14/src/java/lang/NullPointerException.java
new file mode 100644
index 00000000000..5e4ffa680d5
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/NullPointerException.java
@@ -0,0 +1,11 @@
+package java.lang;
+public
+class NullPointerException extends RuntimeException {
+ public NullPointerException() {
+ super();
+ }
+
+ public NullPointerException(String s) {
+ super(s);
+ }
+}
\ No newline at end of file
diff --git a/JCL/jclMin14/src/java/lang/Object.java b/JCL/jclMin14/src/java/lang/Object.java
new file mode 100644
index 00000000000..eb50899e5ba
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/Object.java
@@ -0,0 +1,34 @@
+package java.lang;
+
+public class Object {
+
+public Object() {
+}
+protected Object clone() throws CloneNotSupportedException {
+ return null;
+}
+public boolean equals (Object obj) {
+ return false;
+}
+protected void finalize () throws Throwable {
+}
+public final Class extends Object> getClass() {
+ return null;
+}
+public int hashCode() {
+ return -1;
+}
+public final void notify() throws IllegalMonitorStateException {
+}
+public final void notifyAll() throws IllegalMonitorStateException {
+}
+public String toString () {
+ return null;
+}
+public final void wait () throws IllegalMonitorStateException, InterruptedException {
+}
+public final void wait (long millis) throws IllegalMonitorStateException, InterruptedException {
+}
+public final void wait (long millis, int nanos) throws IllegalMonitorStateException, InterruptedException {
+}
+}
diff --git a/JCL/jclMin14/src/java/lang/Override.java b/JCL/jclMin14/src/java/lang/Override.java
new file mode 100644
index 00000000000..b94fa6e860a
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/Override.java
@@ -0,0 +1,7 @@
+package java.lang;
+
+import java.lang.annotation.*;
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.SOURCE)
+public @interface Override {
+}
diff --git a/JCL/jclMin14/src/java/lang/Record.java b/JCL/jclMin14/src/java/lang/Record.java
new file mode 100644
index 00000000000..c9913367b99
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/Record.java
@@ -0,0 +1,9 @@
+package java.lang;
+public abstract class Record {
+ @Override
+ public abstract boolean equals(Object obj);
+ @Override
+ public abstract int hashCode();
+ @Override
+ public abstract String toString();
+}
diff --git a/JCL/jclMin14/src/java/lang/ReflectiveOperationException.java b/JCL/jclMin14/src/java/lang/ReflectiveOperationException.java
new file mode 100644
index 00000000000..0860c679050
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/ReflectiveOperationException.java
@@ -0,0 +1,26 @@
+
+package java.lang;
+
+public class ReflectiveOperationException extends Exception {
+ static final long serialVersionUID = 123456789L;
+
+ public ReflectiveOperationException() {
+ super();
+ }
+
+ public ReflectiveOperationException(String message) {
+ super(message);
+ }
+
+ public ReflectiveOperationException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public ReflectiveOperationException(Throwable cause) {
+ super(cause);
+ }
+
+ public java.lang.Throwable getCause() {
+ return getCause();
+ }
+}
diff --git a/JCL/jclMin14/src/java/lang/RuntimeException.java b/JCL/jclMin14/src/java/lang/RuntimeException.java
new file mode 100644
index 00000000000..80dc1dbd34e
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/RuntimeException.java
@@ -0,0 +1,12 @@
+package java.lang;
+
+public class RuntimeException extends Exception {
+
+ public RuntimeException(java.lang.String s) {
+ // TODO Auto-generated constructor stub
+ }
+
+ public RuntimeException() {
+ // TODO Auto-generated constructor stub
+ }
+}
diff --git a/JCL/jclMin14/src/java/lang/String.java b/JCL/jclMin14/src/java/lang/String.java
new file mode 100644
index 00000000000..ba6bf08bf4f
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/String.java
@@ -0,0 +1,8 @@
+package java.lang;
+
+public class String implements CharSequence {
+ public int length() { return 0; }
+ public int codePointAt(int index) {
+ return 0;
+ }
+}
diff --git a/JCL/jclMin14/src/java/lang/System.java b/JCL/jclMin14/src/java/lang/System.java
new file mode 100644
index 00000000000..bf56c93aa2d
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/System.java
@@ -0,0 +1,20 @@
+package java.lang;
+
+import java.io.InputStream;
+import java.io.PrintStream;
+
+public final class System {
+ private static native void registerNatives();
+ static {
+ registerNatives();
+ }
+
+ private System() {
+ }
+
+ public static final InputStream in = null;
+
+ public static final PrintStream out = null;
+
+
+}
diff --git a/JCL/jclMin14/src/java/lang/Throwable.java b/JCL/jclMin14/src/java/lang/Throwable.java
new file mode 100644
index 00000000000..2488269bebc
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/Throwable.java
@@ -0,0 +1,20 @@
+package java.lang;
+
+public class Throwable {
+
+ public Throwable(java.lang.String message) {
+ // TODO Auto-generated constructor stub
+ }
+
+ public Throwable() {
+ // TODO Auto-generated constructor stub
+ }
+
+ public Throwable(java.lang.String message, Throwable cause) {
+ // TODO Auto-generated constructor stub
+ }
+
+ public Throwable(Throwable cause) {
+ // TODO Auto-generated constructor stub
+ }
+}
diff --git a/JCL/jclMin14/src/java/lang/annotation/Annotation.java b/JCL/jclMin14/src/java/lang/annotation/Annotation.java
new file mode 100644
index 00000000000..ba72aad15ec
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/annotation/Annotation.java
@@ -0,0 +1,4 @@
+package java.lang.annotation;
+public interface Annotation {
+
+}
diff --git a/JCL/jclMin14/src/java/lang/annotation/Documented.java b/JCL/jclMin14/src/java/lang/annotation/Documented.java
new file mode 100644
index 00000000000..4342263d2df
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/annotation/Documented.java
@@ -0,0 +1,7 @@
+package java.lang.annotation;
+
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Documented {
+}
diff --git a/JCL/jclMin14/src/java/lang/annotation/ElementType.java b/JCL/jclMin14/src/java/lang/annotation/ElementType.java
new file mode 100644
index 00000000000..7b5b59578e7
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/annotation/ElementType.java
@@ -0,0 +1,48 @@
+package java.lang.annotation;
+
+public enum ElementType {
+ /** Class, interface (including annotation type), or enum declaration */
+ TYPE,
+
+ /** Field declaration (includes enum constants) */
+ FIELD,
+
+ /** Method declaration */
+ METHOD,
+
+ /** Formal parameter declaration */
+ PARAMETER,
+
+ /** Constructor declaration */
+ CONSTRUCTOR,
+
+ /** Local variable declaration */
+ LOCAL_VARIABLE,
+
+ /** Annotation type declaration */
+ ANNOTATION_TYPE,
+
+ /** Package declaration */
+ PACKAGE,
+
+ /**
+ * Type parameter declaration
+ *
+ * @since 1.8
+ */
+ TYPE_PARAMETER,
+
+ /**
+ * Use of a type
+ *
+ * @since 1.8
+ */
+ TYPE_USE,
+
+ /**
+ * Module declaration.
+ *
+ * @since 9
+ */
+ MODULE
+}
diff --git a/JCL/jclMin14/src/java/lang/annotation/Inherited.java b/JCL/jclMin14/src/java/lang/annotation/Inherited.java
new file mode 100644
index 00000000000..1db265bcd42
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/annotation/Inherited.java
@@ -0,0 +1,7 @@
+package java.lang.annotation;
+
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Inherited {
+}
\ No newline at end of file
diff --git a/JCL/jclMin14/src/java/lang/annotation/Retention.java b/JCL/jclMin14/src/java/lang/annotation/Retention.java
new file mode 100644
index 00000000000..eba50628f62
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/annotation/Retention.java
@@ -0,0 +1,10 @@
+package java.lang.annotation;
+
+import java.lang.annotation.Retention;
+
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Retention {
+ RetentionPolicy value();
+}
\ No newline at end of file
diff --git a/JCL/jclMin14/src/java/lang/annotation/RetentionPolicy.java b/JCL/jclMin14/src/java/lang/annotation/RetentionPolicy.java
new file mode 100644
index 00000000000..b69fa7d6544
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/annotation/RetentionPolicy.java
@@ -0,0 +1,6 @@
+package java.lang.annotation;
+public enum RetentionPolicy {
+ CLASS,
+ SOURCE,
+ RUNTIME
+}
\ No newline at end of file
diff --git a/JCL/jclMin14/src/java/lang/annotation/Target.java b/JCL/jclMin14/src/java/lang/annotation/Target.java
new file mode 100644
index 00000000000..c961d6ddbde
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/annotation/Target.java
@@ -0,0 +1,10 @@
+package java.lang.annotation;
+
+import java.lang.annotation.Target;
+
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Target {
+ ElementType[] value();
+}
\ No newline at end of file
diff --git a/JCL/jclMin14/src/java/lang/invoke/MethodHandle.java b/JCL/jclMin14/src/java/lang/invoke/MethodHandle.java
new file mode 100644
index 00000000000..3bb7910d8ec
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/invoke/MethodHandle.java
@@ -0,0 +1,38 @@
+package java.lang.invoke;
+/*******************************************************************************
+ * Copyright (c) 2011 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+public abstract class MethodHandle {
+ @Target(METHOD)
+ @Retention(RUNTIME)
+ @interface PolymorphicSignature {
+ }
+
+ @PolymorphicSignature
+ public final native Object invoke(Object... args) throws Throwable;
+
+ @PolymorphicSignature
+ public final native Object invokeExact(Object... args) throws Throwable;
+
+ public native Object invokeWithArguments(Object... arguments)
+ throws Throwable;
+
+ public native boolean isVarargsCollector();
+
+ public native MethodHandle asType(MethodType newType);
+}
\ No newline at end of file
diff --git a/JCL/jclMin14/src/java/lang/invoke/MethodHandles.java b/JCL/jclMin14/src/java/lang/invoke/MethodHandles.java
new file mode 100644
index 00000000000..33622371faf
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/invoke/MethodHandles.java
@@ -0,0 +1,21 @@
+package java.lang.invoke;
+
+public class MethodHandles {
+ public static final class Lookup {
+ public MethodHandle findVirtual(Class> refc, String name,
+ MethodType type) throws NoSuchMethodException,
+ IllegalAccessException {
+ return null;
+ }
+
+ public MethodHandle findStatic(Class> refc, String name,
+ MethodType type) throws NoSuchMethodException,
+ IllegalAccessException {
+ return null;
+ }
+ }
+
+ public static Lookup lookup() {
+ return null;
+ }
+}
diff --git a/JCL/jclMin14/src/java/lang/invoke/MethodType.java b/JCL/jclMin14/src/java/lang/invoke/MethodType.java
new file mode 100644
index 00000000000..802a3f2c806
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/invoke/MethodType.java
@@ -0,0 +1,17 @@
+package java.lang.invoke;
+
+
+public final class MethodType {
+ public static MethodType methodType(Class> rtype, Class> ptype0,
+ Class>... ptypes) {
+ return null;
+ }
+
+ public static MethodType methodType(Class> rtype) {
+ return null;
+ }
+
+ public static MethodType genericMethodType(int objectArgCount) {
+ return null;
+ }
+}
diff --git a/JCL/jclMin14/src/java/lang/runtime/ObjectMethods.java b/JCL/jclMin14/src/java/lang/runtime/ObjectMethods.java
new file mode 100644
index 00000000000..7587fef8f00
--- /dev/null
+++ b/JCL/jclMin14/src/java/lang/runtime/ObjectMethods.java
@@ -0,0 +1,14 @@
+package java.lang.runtime;
+
+import java.lang.invoke.MethodHandle;
+import java.lang.invoke.MethodHandles;
+import java.lang.invoke.TypeDescriptor;
+
+public class ObjectMethods {
+ public static Object bootstrap(MethodHandles.Lookup lookup, String methodName, TypeDescriptor type,
+ Class> recordClass,
+ String names,
+ MethodHandle... getters) throws Throwable {
+ return null;
+ }
+}
diff --git a/JCL/jclMin14/src/java/util/Collection.java b/JCL/jclMin14/src/java/util/Collection.java
new file mode 100644
index 00000000000..a40b2d29a3f
--- /dev/null
+++ b/JCL/jclMin14/src/java/util/Collection.java
@@ -0,0 +1,9 @@
+package java.util;
+
+public interface Collection extends Iterable {
+ public Iterator iterator();
+ public int size();
+ public T get(int index);
+ public boolean addAll(Collection c);
+ public T[] toArray(T[] o);
+}
diff --git a/JCL/jclMin14/src/java/util/Iterator.java b/JCL/jclMin14/src/java/util/Iterator.java
new file mode 100644
index 00000000000..f90ee762c2f
--- /dev/null
+++ b/JCL/jclMin14/src/java/util/Iterator.java
@@ -0,0 +1,7 @@
+package java.util;
+
+public interface Iterator {
+ boolean hasNext();
+ E next();
+ void remove();
+}
diff --git a/JCL/jclMin14/src/java/util/List.java b/JCL/jclMin14/src/java/util/List.java
new file mode 100644
index 00000000000..7d19bdfb1b8
--- /dev/null
+++ b/JCL/jclMin14/src/java/util/List.java
@@ -0,0 +1,4 @@
+package java.util;
+
+public interface List extends Collection {
+}
diff --git a/JCL/jclMin14/src/java/util/Map.java b/JCL/jclMin14/src/java/util/Map.java
new file mode 100644
index 00000000000..574a7f816a5
--- /dev/null
+++ b/JCL/jclMin14/src/java/util/Map.java
@@ -0,0 +1,5 @@
+package java.util;
+
+public interface Map {
+
+}
\ No newline at end of file
diff --git a/JCL/jclMin14/src/java/util/function/Consumer.java b/JCL/jclMin14/src/java/util/function/Consumer.java
new file mode 100644
index 00000000000..dd5b3f408cb
--- /dev/null
+++ b/JCL/jclMin14/src/java/util/function/Consumer.java
@@ -0,0 +1,10 @@
+package java.util.function;
+
+public interface Consumer {
+
+ void accept(T t);
+
+ default Consumer andThen(Consumer super T> after) {
+ return null;
+ }
+}
diff --git a/JCL/jclMin14/src/javax/lang/model/SourceVersion.java b/JCL/jclMin14/src/javax/lang/model/SourceVersion.java
new file mode 100644
index 00000000000..557ab18118b
--- /dev/null
+++ b/JCL/jclMin14/src/javax/lang/model/SourceVersion.java
@@ -0,0 +1,66 @@
+package javax.lang.model;
+
+public enum SourceVersion {
+
+ RELEASE_0,
+
+ RELEASE_1,
+
+ RELEASE_2,
+
+ RELEASE_3,
+
+ RELEASE_4,
+
+ RELEASE_5,
+
+ RELEASE_6,
+
+ RELEASE_7,
+
+ RELEASE_8,
+ RELEASE_9,
+
+ RELEASE_10,
+
+ RELEASE_11,
+
+ RELEASE_12,
+
+ RELEASE_13,
+ RELEASE_14;
+
+ public static SourceVersion latest() {
+ return RELEASE_14;
+ }
+
+ private static final SourceVersion latestSupported = getLatestSupported();
+
+ private static SourceVersion getLatestSupported() {
+ return RELEASE_14;
+ }
+
+ public static SourceVersion latestSupported() {
+ return latestSupported;
+ }
+
+ public static boolean isIdentifier(CharSequence name) {
+ return true;
+ }
+
+ public static boolean isName(CharSequence name) {
+ return isName(name, latest());
+ }
+
+ public static boolean isName(CharSequence name, SourceVersion version) {
+ return true;
+ }
+
+ public static boolean isKeyword(CharSequence s) {
+ return isKeyword(s, latest());
+ }
+
+ public static boolean isKeyword(CharSequence s, SourceVersion version) {
+ return true;
+ }
+}
diff --git a/JCL/jclMin14/src/module-info.java b/JCL/jclMin14/src/module-info.java
new file mode 100644
index 00000000000..51a23b131bc
--- /dev/null
+++ b/JCL/jclMin14/src/module-info.java
@@ -0,0 +1,7 @@
+module java.base {
+ exports java.lang;
+ exports java.lang.annotation;
+ exports java.lang.invoke;
+ exports java.io;
+ exports java.util;
+}
\ No newline at end of file
diff --git a/JCL/jclMin17/.classpath b/JCL/jclMin17/.classpath
new file mode 100644
index 00000000000..c153c2f1475
--- /dev/null
+++ b/JCL/jclMin17/.classpath
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/JCL/jclMin17/.project b/JCL/jclMin17/.project
new file mode 100644
index 00000000000..6aea2f19241
--- /dev/null
+++ b/JCL/jclMin17/.project
@@ -0,0 +1,17 @@
+
+
+ jclMin17
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/JCL/jclMin17/.settings/org.eclipse.core.resources.prefs b/JCL/jclMin17/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000000..99f26c0203a
--- /dev/null
+++ b/JCL/jclMin17/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/JCL/jclMin17/.settings/org.eclipse.jdt.core.prefs b/JCL/jclMin17/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..e8547e72bee
--- /dev/null
+++ b/JCL/jclMin17/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.methodParameters=generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=17
diff --git a/JCL/jclMin17/src/java/io/InputStream.java b/JCL/jclMin17/src/java/io/InputStream.java
new file mode 100644
index 00000000000..82511babed9
--- /dev/null
+++ b/JCL/jclMin17/src/java/io/InputStream.java
@@ -0,0 +1,5 @@
+package java.io;
+
+public class InputStream {
+
+}
diff --git a/JCL/jclMin17/src/java/io/PrintStream.java b/JCL/jclMin17/src/java/io/PrintStream.java
new file mode 100644
index 00000000000..19059381a2f
--- /dev/null
+++ b/JCL/jclMin17/src/java/io/PrintStream.java
@@ -0,0 +1,8 @@
+package java.io;
+
+public class PrintStream {
+ public void println(String x) {
+ }
+ public void println(int x) {
+ }
+}
diff --git a/JCL/jclMin17/src/java/io/Serializable.java b/JCL/jclMin17/src/java/io/Serializable.java
new file mode 100644
index 00000000000..edd882d7d58
--- /dev/null
+++ b/JCL/jclMin17/src/java/io/Serializable.java
@@ -0,0 +1,4 @@
+package java.io;
+
+public interface Serializable {
+}
diff --git a/JCL/jclMin17/src/java/lang/CharSequence.java b/JCL/jclMin17/src/java/lang/CharSequence.java
new file mode 100644
index 00000000000..b9a0d9e4176
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/CharSequence.java
@@ -0,0 +1,5 @@
+package java.lang;
+
+public interface CharSequence {
+ int length();
+}
diff --git a/JCL/jclMin17/src/java/lang/Class.java b/JCL/jclMin17/src/java/lang/Class.java
new file mode 100644
index 00000000000..a7667b98347
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/Class.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class Class {
+}
diff --git a/JCL/jclMin17/src/java/lang/ClassNotFoundException.java b/JCL/jclMin17/src/java/lang/ClassNotFoundException.java
new file mode 100644
index 00000000000..7765ed820ae
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/ClassNotFoundException.java
@@ -0,0 +1,20 @@
+package java.lang;
+
+public class ClassNotFoundException extends ReflectiveOperationException {
+
+ public ClassNotFoundException() {
+ super((Throwable)null); // Disallow initCause
+ }
+
+ public ClassNotFoundException(String s) {
+ super(s, null); // Disallow initCause
+ }
+
+ public ClassNotFoundException(String s, Throwable ex) {
+ super(s, ex); // Disallow initCause
+ }
+
+ public Throwable getException() {
+ return getCause();
+ }
+}
\ No newline at end of file
diff --git a/JCL/jclMin17/src/java/lang/CloneNotSupportedException.java b/JCL/jclMin17/src/java/lang/CloneNotSupportedException.java
new file mode 100644
index 00000000000..cb777dc7bac
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/CloneNotSupportedException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class CloneNotSupportedException extends Exception {
+}
diff --git a/JCL/jclMin17/src/java/lang/Comparable.java b/JCL/jclMin17/src/java/lang/Comparable.java
new file mode 100644
index 00000000000..fbc6c8bac34
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/Comparable.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public interface Comparable {
+}
diff --git a/JCL/jclMin17/src/java/lang/Deprecated.java b/JCL/jclMin17/src/java/lang/Deprecated.java
new file mode 100644
index 00000000000..6c73dedd0d1
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/Deprecated.java
@@ -0,0 +1,6 @@
+package java.lang;
+import java.lang.annotation.*;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Deprecated {
+}
\ No newline at end of file
diff --git a/JCL/jclMin17/src/java/lang/Enum.java b/JCL/jclMin17/src/java/lang/Enum.java
new file mode 100644
index 00000000000..1af0f6efca7
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/Enum.java
@@ -0,0 +1,17 @@
+package java.lang;
+
+public abstract class Enum> implements Comparable, java.io.Serializable {
+ private static final long serialVersionUID = 2L;
+
+ protected Enum(String name, int ordinal) {
+ }
+ public final String name() {
+ return null;
+ }
+ public final int ordinal() {
+ return 0;
+ }
+ public T valueOf(Class c, String s) {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/JCL/jclMin17/src/java/lang/Error.java b/JCL/jclMin17/src/java/lang/Error.java
new file mode 100644
index 00000000000..9a446d53249
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/Error.java
@@ -0,0 +1,16 @@
+package java.lang;
+
+public class Error extends Throwable {
+
+ public Error(java.lang.String s) {
+ // TODO Auto-generated constructor stub
+ }
+
+ public Error(java.lang.String s, java.lang.Throwable cause) {
+ // TODO Auto-generated constructor stub
+ }
+
+ public Error() {
+ // TODO Auto-generated constructor stub
+ }
+}
diff --git a/JCL/jclMin17/src/java/lang/Exception.java b/JCL/jclMin17/src/java/lang/Exception.java
new file mode 100644
index 00000000000..0adef36baff
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/Exception.java
@@ -0,0 +1,19 @@
+package java.lang;
+
+public class Exception extends Throwable {
+ public Exception() {
+ super();
+ }
+
+ public Exception(String message) {
+ super(message);
+ }
+
+ public Exception(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public Exception(Throwable cause) {
+ super(cause);
+ }
+}
diff --git a/JCL/jclMin17/src/java/lang/IllegalAccessException.java b/JCL/jclMin17/src/java/lang/IllegalAccessException.java
new file mode 100644
index 00000000000..814649067f6
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/IllegalAccessException.java
@@ -0,0 +1,5 @@
+package java.lang;
+
+public class IllegalAccessException extends RuntimeException {
+
+}
diff --git a/JCL/jclMin17/src/java/lang/IllegalMonitorStateException.java b/JCL/jclMin17/src/java/lang/IllegalMonitorStateException.java
new file mode 100644
index 00000000000..e173f133abe
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/IllegalMonitorStateException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class IllegalMonitorStateException extends RuntimeException {
+}
diff --git a/JCL/jclMin17/src/java/lang/IncompatibleClassChangeError.java b/JCL/jclMin17/src/java/lang/IncompatibleClassChangeError.java
new file mode 100644
index 00000000000..9552b875b85
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/IncompatibleClassChangeError.java
@@ -0,0 +1,13 @@
+
+package java.lang;
+public
+class IncompatibleClassChangeError extends LinkageError {
+
+ public IncompatibleClassChangeError () {
+ super();
+ }
+
+ public IncompatibleClassChangeError(String s) {
+ super(s);
+ }
+}
diff --git a/JCL/jclMin17/src/java/lang/InterruptedException.java b/JCL/jclMin17/src/java/lang/InterruptedException.java
new file mode 100644
index 00000000000..e2e84ba0bc2
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/InterruptedException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class InterruptedException extends Exception {
+}
diff --git a/JCL/jclMin17/src/java/lang/Iterable.java b/JCL/jclMin17/src/java/lang/Iterable.java
new file mode 100644
index 00000000000..ab4b9d53f69
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/Iterable.java
@@ -0,0 +1,10 @@
+package java.lang;
+
+import java.util.Iterator;
+import java.util.function.Consumer;
+
+public interface Iterable {
+ Iterator iterator();
+ default void forEach(Consumer super T> action) {
+ }
+}
diff --git a/JCL/jclMin17/src/java/lang/LinkageError.java b/JCL/jclMin17/src/java/lang/LinkageError.java
new file mode 100644
index 00000000000..199d39d98bc
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/LinkageError.java
@@ -0,0 +1,17 @@
+package java.lang;
+
+public
+class LinkageError extends Error {
+
+ public LinkageError() {
+ super();
+ }
+
+ public LinkageError(String s) {
+ super(s);
+ }
+
+ public LinkageError(String s, Throwable cause) {
+ super(s, cause);
+ }
+}
diff --git a/JCL/jclMin17/src/java/lang/NoClassDefFoundError.java b/JCL/jclMin17/src/java/lang/NoClassDefFoundError.java
new file mode 100644
index 00000000000..da0fe415c37
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/NoClassDefFoundError.java
@@ -0,0 +1,13 @@
+package java.lang;
+
+public
+class NoClassDefFoundError extends LinkageError {
+
+ public NoClassDefFoundError() {
+ super();
+ }
+
+ public NoClassDefFoundError(String s) {
+ super(s);
+ }
+}
diff --git a/JCL/jclMin17/src/java/lang/NoSuchFieldError.java b/JCL/jclMin17/src/java/lang/NoSuchFieldError.java
new file mode 100644
index 00000000000..486e5339dcf
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/NoSuchFieldError.java
@@ -0,0 +1,13 @@
+package java.lang;
+
+public
+class NoSuchFieldError extends IncompatibleClassChangeError {
+
+ public NoSuchFieldError() {
+ super();
+ }
+
+ public NoSuchFieldError(String s) {
+ super(s);
+ }
+}
diff --git a/JCL/jclMin17/src/java/lang/NoSuchMethodException.java b/JCL/jclMin17/src/java/lang/NoSuchMethodException.java
new file mode 100644
index 00000000000..b8c5bce7a5b
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/NoSuchMethodException.java
@@ -0,0 +1,5 @@
+package java.lang;
+
+public class NoSuchMethodException extends RuntimeException {
+
+}
diff --git a/JCL/jclMin17/src/java/lang/NullPointerException.java b/JCL/jclMin17/src/java/lang/NullPointerException.java
new file mode 100644
index 00000000000..5e4ffa680d5
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/NullPointerException.java
@@ -0,0 +1,11 @@
+package java.lang;
+public
+class NullPointerException extends RuntimeException {
+ public NullPointerException() {
+ super();
+ }
+
+ public NullPointerException(String s) {
+ super(s);
+ }
+}
\ No newline at end of file
diff --git a/JCL/jclMin17/src/java/lang/Object.java b/JCL/jclMin17/src/java/lang/Object.java
new file mode 100644
index 00000000000..eb50899e5ba
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/Object.java
@@ -0,0 +1,34 @@
+package java.lang;
+
+public class Object {
+
+public Object() {
+}
+protected Object clone() throws CloneNotSupportedException {
+ return null;
+}
+public boolean equals (Object obj) {
+ return false;
+}
+protected void finalize () throws Throwable {
+}
+public final Class extends Object> getClass() {
+ return null;
+}
+public int hashCode() {
+ return -1;
+}
+public final void notify() throws IllegalMonitorStateException {
+}
+public final void notifyAll() throws IllegalMonitorStateException {
+}
+public String toString () {
+ return null;
+}
+public final void wait () throws IllegalMonitorStateException, InterruptedException {
+}
+public final void wait (long millis) throws IllegalMonitorStateException, InterruptedException {
+}
+public final void wait (long millis, int nanos) throws IllegalMonitorStateException, InterruptedException {
+}
+}
diff --git a/JCL/jclMin17/src/java/lang/Override.java b/JCL/jclMin17/src/java/lang/Override.java
new file mode 100644
index 00000000000..b94fa6e860a
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/Override.java
@@ -0,0 +1,7 @@
+package java.lang;
+
+import java.lang.annotation.*;
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.SOURCE)
+public @interface Override {
+}
diff --git a/JCL/jclMin17/src/java/lang/Record.java b/JCL/jclMin17/src/java/lang/Record.java
new file mode 100644
index 00000000000..c9913367b99
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/Record.java
@@ -0,0 +1,9 @@
+package java.lang;
+public abstract class Record {
+ @Override
+ public abstract boolean equals(Object obj);
+ @Override
+ public abstract int hashCode();
+ @Override
+ public abstract String toString();
+}
diff --git a/JCL/jclMin17/src/java/lang/ReflectiveOperationException.java b/JCL/jclMin17/src/java/lang/ReflectiveOperationException.java
new file mode 100644
index 00000000000..0860c679050
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/ReflectiveOperationException.java
@@ -0,0 +1,26 @@
+
+package java.lang;
+
+public class ReflectiveOperationException extends Exception {
+ static final long serialVersionUID = 123456789L;
+
+ public ReflectiveOperationException() {
+ super();
+ }
+
+ public ReflectiveOperationException(String message) {
+ super(message);
+ }
+
+ public ReflectiveOperationException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public ReflectiveOperationException(Throwable cause) {
+ super(cause);
+ }
+
+ public java.lang.Throwable getCause() {
+ return getCause();
+ }
+}
diff --git a/JCL/jclMin17/src/java/lang/RuntimeException.java b/JCL/jclMin17/src/java/lang/RuntimeException.java
new file mode 100644
index 00000000000..80dc1dbd34e
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/RuntimeException.java
@@ -0,0 +1,12 @@
+package java.lang;
+
+public class RuntimeException extends Exception {
+
+ public RuntimeException(java.lang.String s) {
+ // TODO Auto-generated constructor stub
+ }
+
+ public RuntimeException() {
+ // TODO Auto-generated constructor stub
+ }
+}
diff --git a/JCL/jclMin17/src/java/lang/String.java b/JCL/jclMin17/src/java/lang/String.java
new file mode 100644
index 00000000000..ba6bf08bf4f
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/String.java
@@ -0,0 +1,8 @@
+package java.lang;
+
+public class String implements CharSequence {
+ public int length() { return 0; }
+ public int codePointAt(int index) {
+ return 0;
+ }
+}
diff --git a/JCL/jclMin17/src/java/lang/System.java b/JCL/jclMin17/src/java/lang/System.java
new file mode 100644
index 00000000000..bf56c93aa2d
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/System.java
@@ -0,0 +1,20 @@
+package java.lang;
+
+import java.io.InputStream;
+import java.io.PrintStream;
+
+public final class System {
+ private static native void registerNatives();
+ static {
+ registerNatives();
+ }
+
+ private System() {
+ }
+
+ public static final InputStream in = null;
+
+ public static final PrintStream out = null;
+
+
+}
diff --git a/JCL/jclMin17/src/java/lang/Throwable.java b/JCL/jclMin17/src/java/lang/Throwable.java
new file mode 100644
index 00000000000..2488269bebc
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/Throwable.java
@@ -0,0 +1,20 @@
+package java.lang;
+
+public class Throwable {
+
+ public Throwable(java.lang.String message) {
+ // TODO Auto-generated constructor stub
+ }
+
+ public Throwable() {
+ // TODO Auto-generated constructor stub
+ }
+
+ public Throwable(java.lang.String message, Throwable cause) {
+ // TODO Auto-generated constructor stub
+ }
+
+ public Throwable(Throwable cause) {
+ // TODO Auto-generated constructor stub
+ }
+}
diff --git a/JCL/jclMin17/src/java/lang/annotation/Annotation.java b/JCL/jclMin17/src/java/lang/annotation/Annotation.java
new file mode 100644
index 00000000000..ba72aad15ec
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/annotation/Annotation.java
@@ -0,0 +1,4 @@
+package java.lang.annotation;
+public interface Annotation {
+
+}
diff --git a/JCL/jclMin17/src/java/lang/annotation/Documented.java b/JCL/jclMin17/src/java/lang/annotation/Documented.java
new file mode 100644
index 00000000000..4342263d2df
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/annotation/Documented.java
@@ -0,0 +1,7 @@
+package java.lang.annotation;
+
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Documented {
+}
diff --git a/JCL/jclMin17/src/java/lang/annotation/ElementType.java b/JCL/jclMin17/src/java/lang/annotation/ElementType.java
new file mode 100644
index 00000000000..7b5b59578e7
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/annotation/ElementType.java
@@ -0,0 +1,48 @@
+package java.lang.annotation;
+
+public enum ElementType {
+ /** Class, interface (including annotation type), or enum declaration */
+ TYPE,
+
+ /** Field declaration (includes enum constants) */
+ FIELD,
+
+ /** Method declaration */
+ METHOD,
+
+ /** Formal parameter declaration */
+ PARAMETER,
+
+ /** Constructor declaration */
+ CONSTRUCTOR,
+
+ /** Local variable declaration */
+ LOCAL_VARIABLE,
+
+ /** Annotation type declaration */
+ ANNOTATION_TYPE,
+
+ /** Package declaration */
+ PACKAGE,
+
+ /**
+ * Type parameter declaration
+ *
+ * @since 1.8
+ */
+ TYPE_PARAMETER,
+
+ /**
+ * Use of a type
+ *
+ * @since 1.8
+ */
+ TYPE_USE,
+
+ /**
+ * Module declaration.
+ *
+ * @since 9
+ */
+ MODULE
+}
diff --git a/JCL/jclMin17/src/java/lang/annotation/Inherited.java b/JCL/jclMin17/src/java/lang/annotation/Inherited.java
new file mode 100644
index 00000000000..1db265bcd42
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/annotation/Inherited.java
@@ -0,0 +1,7 @@
+package java.lang.annotation;
+
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Inherited {
+}
\ No newline at end of file
diff --git a/JCL/jclMin17/src/java/lang/annotation/Retention.java b/JCL/jclMin17/src/java/lang/annotation/Retention.java
new file mode 100644
index 00000000000..eba50628f62
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/annotation/Retention.java
@@ -0,0 +1,10 @@
+package java.lang.annotation;
+
+import java.lang.annotation.Retention;
+
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Retention {
+ RetentionPolicy value();
+}
\ No newline at end of file
diff --git a/JCL/jclMin17/src/java/lang/annotation/RetentionPolicy.java b/JCL/jclMin17/src/java/lang/annotation/RetentionPolicy.java
new file mode 100644
index 00000000000..b69fa7d6544
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/annotation/RetentionPolicy.java
@@ -0,0 +1,6 @@
+package java.lang.annotation;
+public enum RetentionPolicy {
+ CLASS,
+ SOURCE,
+ RUNTIME
+}
\ No newline at end of file
diff --git a/JCL/jclMin17/src/java/lang/annotation/Target.java b/JCL/jclMin17/src/java/lang/annotation/Target.java
new file mode 100644
index 00000000000..c961d6ddbde
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/annotation/Target.java
@@ -0,0 +1,10 @@
+package java.lang.annotation;
+
+import java.lang.annotation.Target;
+
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.ANNOTATION_TYPE)
+public @interface Target {
+ ElementType[] value();
+}
\ No newline at end of file
diff --git a/JCL/jclMin17/src/java/lang/invoke/MethodHandle.java b/JCL/jclMin17/src/java/lang/invoke/MethodHandle.java
new file mode 100644
index 00000000000..3bb7910d8ec
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/invoke/MethodHandle.java
@@ -0,0 +1,38 @@
+package java.lang.invoke;
+/*******************************************************************************
+ * Copyright (c) 2011 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+public abstract class MethodHandle {
+ @Target(METHOD)
+ @Retention(RUNTIME)
+ @interface PolymorphicSignature {
+ }
+
+ @PolymorphicSignature
+ public final native Object invoke(Object... args) throws Throwable;
+
+ @PolymorphicSignature
+ public final native Object invokeExact(Object... args) throws Throwable;
+
+ public native Object invokeWithArguments(Object... arguments)
+ throws Throwable;
+
+ public native boolean isVarargsCollector();
+
+ public native MethodHandle asType(MethodType newType);
+}
\ No newline at end of file
diff --git a/JCL/jclMin17/src/java/lang/invoke/MethodHandles.java b/JCL/jclMin17/src/java/lang/invoke/MethodHandles.java
new file mode 100644
index 00000000000..33622371faf
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/invoke/MethodHandles.java
@@ -0,0 +1,21 @@
+package java.lang.invoke;
+
+public class MethodHandles {
+ public static final class Lookup {
+ public MethodHandle findVirtual(Class> refc, String name,
+ MethodType type) throws NoSuchMethodException,
+ IllegalAccessException {
+ return null;
+ }
+
+ public MethodHandle findStatic(Class> refc, String name,
+ MethodType type) throws NoSuchMethodException,
+ IllegalAccessException {
+ return null;
+ }
+ }
+
+ public static Lookup lookup() {
+ return null;
+ }
+}
diff --git a/JCL/jclMin17/src/java/lang/invoke/MethodType.java b/JCL/jclMin17/src/java/lang/invoke/MethodType.java
new file mode 100644
index 00000000000..802a3f2c806
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/invoke/MethodType.java
@@ -0,0 +1,17 @@
+package java.lang.invoke;
+
+
+public final class MethodType {
+ public static MethodType methodType(Class> rtype, Class> ptype0,
+ Class>... ptypes) {
+ return null;
+ }
+
+ public static MethodType methodType(Class> rtype) {
+ return null;
+ }
+
+ public static MethodType genericMethodType(int objectArgCount) {
+ return null;
+ }
+}
diff --git a/JCL/jclMin17/src/java/lang/invoke/TypeDescriptor.java b/JCL/jclMin17/src/java/lang/invoke/TypeDescriptor.java
new file mode 100644
index 00000000000..5ecbda2ada3
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/invoke/TypeDescriptor.java
@@ -0,0 +1,5 @@
+package java.lang.invoke;
+
+public class TypeDescriptor {
+
+}
diff --git a/JCL/jclMin17/src/java/lang/runtime/ObjectMethods.java b/JCL/jclMin17/src/java/lang/runtime/ObjectMethods.java
new file mode 100644
index 00000000000..7587fef8f00
--- /dev/null
+++ b/JCL/jclMin17/src/java/lang/runtime/ObjectMethods.java
@@ -0,0 +1,14 @@
+package java.lang.runtime;
+
+import java.lang.invoke.MethodHandle;
+import java.lang.invoke.MethodHandles;
+import java.lang.invoke.TypeDescriptor;
+
+public class ObjectMethods {
+ public static Object bootstrap(MethodHandles.Lookup lookup, String methodName, TypeDescriptor type,
+ Class> recordClass,
+ String names,
+ MethodHandle... getters) throws Throwable {
+ return null;
+ }
+}
diff --git a/JCL/jclMin17/src/java/util/Collection.java b/JCL/jclMin17/src/java/util/Collection.java
new file mode 100644
index 00000000000..a40b2d29a3f
--- /dev/null
+++ b/JCL/jclMin17/src/java/util/Collection.java
@@ -0,0 +1,9 @@
+package java.util;
+
+public interface Collection extends Iterable {
+ public Iterator iterator();
+ public int size();
+ public T get(int index);
+ public boolean addAll(Collection c);
+ public T[] toArray(T[] o);
+}
diff --git a/JCL/jclMin17/src/java/util/Iterator.java b/JCL/jclMin17/src/java/util/Iterator.java
new file mode 100644
index 00000000000..f90ee762c2f
--- /dev/null
+++ b/JCL/jclMin17/src/java/util/Iterator.java
@@ -0,0 +1,7 @@
+package java.util;
+
+public interface Iterator {
+ boolean hasNext();
+ E next();
+ void remove();
+}
diff --git a/JCL/jclMin17/src/java/util/List.java b/JCL/jclMin17/src/java/util/List.java
new file mode 100644
index 00000000000..7d19bdfb1b8
--- /dev/null
+++ b/JCL/jclMin17/src/java/util/List.java
@@ -0,0 +1,4 @@
+package java.util;
+
+public interface List extends Collection {
+}
diff --git a/JCL/jclMin17/src/java/util/Map.java b/JCL/jclMin17/src/java/util/Map.java
new file mode 100644
index 00000000000..574a7f816a5
--- /dev/null
+++ b/JCL/jclMin17/src/java/util/Map.java
@@ -0,0 +1,5 @@
+package java.util;
+
+public interface Map {
+
+}
\ No newline at end of file
diff --git a/JCL/jclMin17/src/java/util/function/Consumer.java b/JCL/jclMin17/src/java/util/function/Consumer.java
new file mode 100644
index 00000000000..dd5b3f408cb
--- /dev/null
+++ b/JCL/jclMin17/src/java/util/function/Consumer.java
@@ -0,0 +1,10 @@
+package java.util.function;
+
+public interface Consumer {
+
+ void accept(T t);
+
+ default Consumer andThen(Consumer super T> after) {
+ return null;
+ }
+}
diff --git a/JCL/jclMin17/src/javax/lang/model/SourceVersion.java b/JCL/jclMin17/src/javax/lang/model/SourceVersion.java
new file mode 100644
index 00000000000..557ab18118b
--- /dev/null
+++ b/JCL/jclMin17/src/javax/lang/model/SourceVersion.java
@@ -0,0 +1,66 @@
+package javax.lang.model;
+
+public enum SourceVersion {
+
+ RELEASE_0,
+
+ RELEASE_1,
+
+ RELEASE_2,
+
+ RELEASE_3,
+
+ RELEASE_4,
+
+ RELEASE_5,
+
+ RELEASE_6,
+
+ RELEASE_7,
+
+ RELEASE_8,
+ RELEASE_9,
+
+ RELEASE_10,
+
+ RELEASE_11,
+
+ RELEASE_12,
+
+ RELEASE_13,
+ RELEASE_14;
+
+ public static SourceVersion latest() {
+ return RELEASE_14;
+ }
+
+ private static final SourceVersion latestSupported = getLatestSupported();
+
+ private static SourceVersion getLatestSupported() {
+ return RELEASE_14;
+ }
+
+ public static SourceVersion latestSupported() {
+ return latestSupported;
+ }
+
+ public static boolean isIdentifier(CharSequence name) {
+ return true;
+ }
+
+ public static boolean isName(CharSequence name) {
+ return isName(name, latest());
+ }
+
+ public static boolean isName(CharSequence name, SourceVersion version) {
+ return true;
+ }
+
+ public static boolean isKeyword(CharSequence s) {
+ return isKeyword(s, latest());
+ }
+
+ public static boolean isKeyword(CharSequence s, SourceVersion version) {
+ return true;
+ }
+}
diff --git a/JCL/jclMin17/src/module-info.java b/JCL/jclMin17/src/module-info.java
new file mode 100644
index 00000000000..51a23b131bc
--- /dev/null
+++ b/JCL/jclMin17/src/module-info.java
@@ -0,0 +1,7 @@
+module java.base {
+ exports java.lang;
+ exports java.lang.annotation;
+ exports java.lang.invoke;
+ exports java.io;
+ exports java.util;
+}
\ No newline at end of file
diff --git a/JCL/jclMin21/.classpath b/JCL/jclMin21/.classpath
new file mode 100644
index 00000000000..a1b9f764a6f
--- /dev/null
+++ b/JCL/jclMin21/.classpath
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/JCL/jclMin21/.project b/JCL/jclMin21/.project
new file mode 100644
index 00000000000..a41dc2f883c
--- /dev/null
+++ b/JCL/jclMin21/.project
@@ -0,0 +1,17 @@
+
+
+ jclMin21
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/JCL/jclMin21/.settings/org.eclipse.core.resources.prefs b/JCL/jclMin21/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000000..99f26c0203a
--- /dev/null
+++ b/JCL/jclMin21/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/JCL/jclMin21/.settings/org.eclipse.jdt.core.prefs b/JCL/jclMin21/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..cc4eaa539c5
--- /dev/null
+++ b/JCL/jclMin21/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.compliance=21
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=21
diff --git a/JCL/jclMin21/src/java/io/InputStream.java b/JCL/jclMin21/src/java/io/InputStream.java
new file mode 100644
index 00000000000..82511babed9
--- /dev/null
+++ b/JCL/jclMin21/src/java/io/InputStream.java
@@ -0,0 +1,5 @@
+package java.io;
+
+public class InputStream {
+
+}
diff --git a/JCL/jclMin21/src/java/io/PrintStream.java b/JCL/jclMin21/src/java/io/PrintStream.java
new file mode 100644
index 00000000000..19059381a2f
--- /dev/null
+++ b/JCL/jclMin21/src/java/io/PrintStream.java
@@ -0,0 +1,8 @@
+package java.io;
+
+public class PrintStream {
+ public void println(String x) {
+ }
+ public void println(int x) {
+ }
+}
diff --git a/JCL/jclMin21/src/java/io/Serializable.java b/JCL/jclMin21/src/java/io/Serializable.java
new file mode 100644
index 00000000000..3629567396a
--- /dev/null
+++ b/JCL/jclMin21/src/java/io/Serializable.java
@@ -0,0 +1,4 @@
+package java.io;
+
+public interface Serializable {
+}
diff --git a/JCL/jclMin21/src/java/lang/CharSequence.java b/JCL/jclMin21/src/java/lang/CharSequence.java
new file mode 100644
index 00000000000..b03fc9e823b
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/CharSequence.java
@@ -0,0 +1,5 @@
+package java.lang;
+
+public interface CharSequence {
+ int length();
+}
diff --git a/JCL/jclMin21/src/java/lang/Class.java b/JCL/jclMin21/src/java/lang/Class.java
new file mode 100644
index 00000000000..7d08bf1f389
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/Class.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class Class {
+}
diff --git a/JCL/jclMin21/src/java/lang/ClassNotFoundException.java b/JCL/jclMin21/src/java/lang/ClassNotFoundException.java
new file mode 100644
index 00000000000..7765ed820ae
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/ClassNotFoundException.java
@@ -0,0 +1,20 @@
+package java.lang;
+
+public class ClassNotFoundException extends ReflectiveOperationException {
+
+ public ClassNotFoundException() {
+ super((Throwable)null); // Disallow initCause
+ }
+
+ public ClassNotFoundException(String s) {
+ super(s, null); // Disallow initCause
+ }
+
+ public ClassNotFoundException(String s, Throwable ex) {
+ super(s, ex); // Disallow initCause
+ }
+
+ public Throwable getException() {
+ return getCause();
+ }
+}
\ No newline at end of file
diff --git a/JCL/jclMin21/src/java/lang/CloneNotSupportedException.java b/JCL/jclMin21/src/java/lang/CloneNotSupportedException.java
new file mode 100644
index 00000000000..6f05a932fab
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/CloneNotSupportedException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class CloneNotSupportedException extends Exception {
+}
diff --git a/JCL/jclMin21/src/java/lang/Comparable.java b/JCL/jclMin21/src/java/lang/Comparable.java
new file mode 100644
index 00000000000..59fb9eddd47
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/Comparable.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public interface Comparable {
+}
diff --git a/JCL/jclMin21/src/java/lang/Deprecated.java b/JCL/jclMin21/src/java/lang/Deprecated.java
new file mode 100644
index 00000000000..5226e586c7e
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/Deprecated.java
@@ -0,0 +1,6 @@
+package java.lang;
+import java.lang.annotation.*;
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Deprecated {
+}
\ No newline at end of file
diff --git a/JCL/jclMin21/src/java/lang/Enum.java b/JCL/jclMin21/src/java/lang/Enum.java
new file mode 100644
index 00000000000..f68f11eacec
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/Enum.java
@@ -0,0 +1,18 @@
+package java.lang;
+
+public abstract class Enum> implements Comparable, java.io.Serializable {
+ private static final long serialVersionUID = 2L;
+
+ protected Enum(String name, int ordinal) {
+ }
+ public final String name() {
+ return null;
+ }
+ public final int ordinal() {
+ return 0;
+ }
+ public static > T valueOf(Class enumClass,
+ String name) {
+ return null;
+ }
+}
diff --git a/JCL/jclMin21/src/java/lang/Error.java b/JCL/jclMin21/src/java/lang/Error.java
new file mode 100644
index 00000000000..820d8c62226
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/Error.java
@@ -0,0 +1,16 @@
+package java.lang;
+
+public class Error extends Throwable {
+
+ public Error(java.lang.String s) {
+ // TODO Auto-generated constructor stub
+ }
+
+ public Error(java.lang.String s, java.lang.Throwable cause) {
+ // TODO Auto-generated constructor stub
+ }
+
+ public Error() {
+ // TODO Auto-generated constructor stub
+ }
+}
diff --git a/JCL/jclMin21/src/java/lang/Exception.java b/JCL/jclMin21/src/java/lang/Exception.java
new file mode 100644
index 00000000000..88b222a9c06
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/Exception.java
@@ -0,0 +1,19 @@
+package java.lang;
+
+public class Exception extends Throwable {
+ public Exception() {
+ super();
+ }
+
+ public Exception(String message) {
+ super(message);
+ }
+
+ public Exception(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public Exception(Throwable cause) {
+ super(cause);
+ }
+}
diff --git a/JCL/jclMin21/src/java/lang/IllegalAccessException.java b/JCL/jclMin21/src/java/lang/IllegalAccessException.java
new file mode 100644
index 00000000000..0d13e1e0571
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/IllegalAccessException.java
@@ -0,0 +1,5 @@
+package java.lang;
+
+public class IllegalAccessException extends RuntimeException {
+
+}
diff --git a/JCL/jclMin21/src/java/lang/IllegalMonitorStateException.java b/JCL/jclMin21/src/java/lang/IllegalMonitorStateException.java
new file mode 100644
index 00000000000..1f67418128c
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/IllegalMonitorStateException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class IllegalMonitorStateException extends RuntimeException {
+}
diff --git a/JCL/jclMin21/src/java/lang/IncompatibleClassChangeError.java b/JCL/jclMin21/src/java/lang/IncompatibleClassChangeError.java
new file mode 100644
index 00000000000..9552b875b85
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/IncompatibleClassChangeError.java
@@ -0,0 +1,13 @@
+
+package java.lang;
+public
+class IncompatibleClassChangeError extends LinkageError {
+
+ public IncompatibleClassChangeError () {
+ super();
+ }
+
+ public IncompatibleClassChangeError(String s) {
+ super(s);
+ }
+}
diff --git a/JCL/jclMin21/src/java/lang/Integer.java b/JCL/jclMin21/src/java/lang/Integer.java
new file mode 100644
index 00000000000..f9b9e0b6ee0
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/Integer.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package java.lang;
+
+public class Integer extends Number implements Comparable {
+ private static final long serialVersionUID = 6462609062775655000L;
+
+ public Integer(int i) {
+ }
+ public Integer(String s) {
+ }
+ public static final int MAX_VALUE= 2147483647;
+ public static final int MIN_VALUE= -2147483647;
+
+ public static int parseInt(String s) {
+ return 0;
+ }
+ public static String toHexString(int i) {
+ return null;
+ }
+ public static String toString(int i) {
+ return null;
+ }
+ /* (non-Javadoc)
+ * @see java.lang.Number#doubleValue()
+ */
+ public double doubleValue() {
+ return 0;
+ }
+ /* (non-Javadoc)
+ * @see java.lang.Number#floatValue()
+ */
+ public float floatValue() {
+ return 0;
+ }
+ /* (non-Javadoc)
+ * @see java.lang.Number#intValue()
+ */
+ public int intValue() {
+ return 0;
+ }
+ /* (non-Javadoc)
+ * @see java.lang.Number#longValue()
+ */
+ public long longValue() {
+ return 0;
+ }
+ public int compareTo(Integer i) {
+ return 0;
+ }
+}
diff --git a/JCL/jclMin21/src/java/lang/InterruptedException.java b/JCL/jclMin21/src/java/lang/InterruptedException.java
new file mode 100644
index 00000000000..93b236c4210
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/InterruptedException.java
@@ -0,0 +1,4 @@
+package java.lang;
+
+public class InterruptedException extends Exception {
+}
diff --git a/JCL/jclMin21/src/java/lang/Iterable.java b/JCL/jclMin21/src/java/lang/Iterable.java
new file mode 100644
index 00000000000..ab4b9d53f69
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/Iterable.java
@@ -0,0 +1,10 @@
+package java.lang;
+
+import java.util.Iterator;
+import java.util.function.Consumer;
+
+public interface Iterable {
+ Iterator iterator();
+ default void forEach(Consumer super T> action) {
+ }
+}
diff --git a/JCL/jclMin21/src/java/lang/LinkageError.java b/JCL/jclMin21/src/java/lang/LinkageError.java
new file mode 100644
index 00000000000..199d39d98bc
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/LinkageError.java
@@ -0,0 +1,17 @@
+package java.lang;
+
+public
+class LinkageError extends Error {
+
+ public LinkageError() {
+ super();
+ }
+
+ public LinkageError(String s) {
+ super(s);
+ }
+
+ public LinkageError(String s, Throwable cause) {
+ super(s, cause);
+ }
+}
diff --git a/JCL/jclMin21/src/java/lang/NoClassDefFoundError.java b/JCL/jclMin21/src/java/lang/NoClassDefFoundError.java
new file mode 100644
index 00000000000..da0fe415c37
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/NoClassDefFoundError.java
@@ -0,0 +1,13 @@
+package java.lang;
+
+public
+class NoClassDefFoundError extends LinkageError {
+
+ public NoClassDefFoundError() {
+ super();
+ }
+
+ public NoClassDefFoundError(String s) {
+ super(s);
+ }
+}
diff --git a/JCL/jclMin21/src/java/lang/NoSuchFieldError.java b/JCL/jclMin21/src/java/lang/NoSuchFieldError.java
new file mode 100644
index 00000000000..486e5339dcf
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/NoSuchFieldError.java
@@ -0,0 +1,13 @@
+package java.lang;
+
+public
+class NoSuchFieldError extends IncompatibleClassChangeError {
+
+ public NoSuchFieldError() {
+ super();
+ }
+
+ public NoSuchFieldError(String s) {
+ super(s);
+ }
+}
diff --git a/JCL/jclMin21/src/java/lang/NoSuchMethodException.java b/JCL/jclMin21/src/java/lang/NoSuchMethodException.java
new file mode 100644
index 00000000000..3dd142bdd33
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/NoSuchMethodException.java
@@ -0,0 +1,5 @@
+package java.lang;
+
+public class NoSuchMethodException extends RuntimeException {
+
+}
diff --git a/JCL/jclMin21/src/java/lang/NullPointerException.java b/JCL/jclMin21/src/java/lang/NullPointerException.java
new file mode 100644
index 00000000000..5e4ffa680d5
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/NullPointerException.java
@@ -0,0 +1,11 @@
+package java.lang;
+public
+class NullPointerException extends RuntimeException {
+ public NullPointerException() {
+ super();
+ }
+
+ public NullPointerException(String s) {
+ super(s);
+ }
+}
\ No newline at end of file
diff --git a/JCL/jclMin21/src/java/lang/Number.java b/JCL/jclMin21/src/java/lang/Number.java
new file mode 100644
index 00000000000..94a5bf06b9f
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/Number.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 1994, 2021, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package java.lang;
+
+public abstract class Number implements java.io.Serializable {
+ private static final long serialVersionUID = 1L;
+}
diff --git a/JCL/jclMin21/src/java/lang/Object.java b/JCL/jclMin21/src/java/lang/Object.java
new file mode 100644
index 00000000000..71ddb4ff834
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/Object.java
@@ -0,0 +1,34 @@
+package java.lang;
+
+public class Object {
+
+public Object() {
+}
+protected Object clone() throws CloneNotSupportedException {
+ return null;
+}
+public boolean equals (Object obj) {
+ return false;
+}
+protected void finalize () throws Throwable {
+}
+public final Class extends Object> getClass() {
+ return null;
+}
+public int hashCode() {
+ return -1;
+}
+public final void notify() throws IllegalMonitorStateException {
+}
+public final void notifyAll() throws IllegalMonitorStateException {
+}
+public String toString () {
+ return null;
+}
+public final void wait () throws IllegalMonitorStateException, InterruptedException {
+}
+public final void wait (long millis) throws IllegalMonitorStateException, InterruptedException {
+}
+public final void wait (long millis, int nanos) throws IllegalMonitorStateException, InterruptedException {
+}
+}
diff --git a/JCL/jclMin21/src/java/lang/Override.java b/JCL/jclMin21/src/java/lang/Override.java
new file mode 100644
index 00000000000..b94fa6e860a
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/Override.java
@@ -0,0 +1,7 @@
+package java.lang;
+
+import java.lang.annotation.*;
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.SOURCE)
+public @interface Override {
+}
diff --git a/JCL/jclMin21/src/java/lang/Record.java b/JCL/jclMin21/src/java/lang/Record.java
new file mode 100644
index 00000000000..c9913367b99
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/Record.java
@@ -0,0 +1,9 @@
+package java.lang;
+public abstract class Record {
+ @Override
+ public abstract boolean equals(Object obj);
+ @Override
+ public abstract int hashCode();
+ @Override
+ public abstract String toString();
+}
diff --git a/JCL/jclMin21/src/java/lang/ReflectiveOperationException.java b/JCL/jclMin21/src/java/lang/ReflectiveOperationException.java
new file mode 100644
index 00000000000..0860c679050
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/ReflectiveOperationException.java
@@ -0,0 +1,26 @@
+
+package java.lang;
+
+public class ReflectiveOperationException extends Exception {
+ static final long serialVersionUID = 123456789L;
+
+ public ReflectiveOperationException() {
+ super();
+ }
+
+ public ReflectiveOperationException(String message) {
+ super(message);
+ }
+
+ public ReflectiveOperationException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public ReflectiveOperationException(Throwable cause) {
+ super(cause);
+ }
+
+ public java.lang.Throwable getCause() {
+ return getCause();
+ }
+}
diff --git a/JCL/jclMin21/src/java/lang/RuntimeException.java b/JCL/jclMin21/src/java/lang/RuntimeException.java
new file mode 100644
index 00000000000..3d94712d7f8
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/RuntimeException.java
@@ -0,0 +1,12 @@
+package java.lang;
+
+public class RuntimeException extends Exception {
+
+ public RuntimeException(java.lang.String s) {
+ // TODO Auto-generated constructor stub
+ }
+
+ public RuntimeException() {
+ // TODO Auto-generated constructor stub
+ }
+}
diff --git a/JCL/jclMin21/src/java/lang/String.java b/JCL/jclMin21/src/java/lang/String.java
new file mode 100644
index 00000000000..0f67847840b
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/String.java
@@ -0,0 +1,9 @@
+package java.lang;
+
+public class String implements CharSequence {
+ public int length() { return 0; }
+ public int codePointAt(int index) {
+ return 0;
+ }
+ public static String valueOf(boolean b) { return ""; }
+}
diff --git a/JCL/jclMin21/src/java/lang/StringTemplate.java b/JCL/jclMin21/src/java/lang/StringTemplate.java
new file mode 100644
index 00000000000..3406ab31542
--- /dev/null
+++ b/JCL/jclMin21/src/java/lang/StringTemplate.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package java.lang;
+
+import java.util.List;
+
+public interface StringTemplate {
+ List fragments();
+
+ List