Commit 58ddc179 by Matthias Klose

Import GNU Classpath (libgcj-import-20081021).

2008-10-22  Matthias Klose  <doko@ubuntu.com>

        Import GNU Classpath (libgcj-import-20081021).

        * Regenerate class and header files.
        * Regenerate auto* files.

From-SVN: r141302
parent 51c869ca
2008-10-22 Matthias Klose <doko@ubuntu.com>
Import GNU Classpath (libgcj-import-20081021).
* Regenerate class and header files.
* Regenerate auto* files.
2008-10-21 Andrew John Hughes <gnu_andrew@member.fsf.org>
* sources.am, Makfile.in: Regenerate.
......
......@@ -5,6 +5,23 @@
* tools/Makefile.am:
Use gjdoc_gendir when calling antlr.
2008-10-17 Robert Lougher <rob.lougher@gmail.com>
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c
(Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector):
Release 'fonts'.
2008-10-16 Tom Tromey <tromey@redhat.com>
* tools/gnu/classpath/tools/jar/WorkSet.java (initSet): Use
foreach. Change argument type.
(WorkSet): Change argument type.
* tools/gnu/classpath/tools/jar/Indexer.java (indexJarFile): Use
foreach.
* tools/gnu/classpath/tools/jar/Creator.java
(writeCommandLineEntries): Use foreach.
(getAllEntries): Likewise.
2008-10-15 Andrew John Hughes <gnu_andrew@member.fsf.org>
* configure.ac:
......@@ -32,6 +49,63 @@
* tools/Makefile.am:
Support CREATE_GJDOC_PARSER option.
2008-09-29 Matthias Klose <doko@ubuntu.com>
* m4/ac_prog_antlr.m4:
Check for antlr binary as well.
2008-09-28 Andrew John Hughes <gnu_andrew@member.fsf.org>
* configure.ac:
Always check for JAVA prior to ANTLR check.
* java/lang/ThreadLocal.java,
* java/lang/ThreadLocalMap.java:
Rename notFound back to sentinel to avoid
potential issues with use of the old name.
Cleanup formatting.
* java/nio/Buffer.java,
* java/nio/ByteBuffer.java,
* java/nio/ByteBufferImpl.java,
* java/nio/CharBuffer.java,
* java/nio/CharViewBufferImpl.java,
* java/nio/DirectByteBufferImpl.java,
* java/nio/DoubleBuffer.java,
* java/nio/DoubleBufferImpl.java,
* java/nio/FloatBuffer.java,
* java/nio/FloatBufferImpl.java,
* java/nio/IntBuffer.java,
* java/nio/LongBuffer.java,
* java/nio/LongBufferImpl.java,
* java/nio/MappedByteBuffer.java,
* java/nio/ShortBuffer.java,
* java/nio/ShortBufferImpl.java,
* java/nio/ShortViewBufferImpl.java:
Cleanup formatting.
2008-09-16 Andrew John Hughes <gnu_andrew@member.fsf.org>
* java/lang/System.java (getenv): Reinstate
use of EnvironmentMap as opposed to raw
HashMap.
2008-09-16 Mario Torre <neugens@aicas.com>
* java/lang/System.java (getenv): Fix env entries of the form
key=value=value=value not parsed correctly.
2008-09-15 Andrew John Hughes <gnu_andrew@member.fsf.org>
Reported by: Matthias Klose
* tools/Makefile.am:
Simplify the addition of the ANTLR
JAR file to the classpath.
2008-09-14 Matthias Klose <doko@ubuntu.com>
* m4/ac_prog_antlr.m4:
Allow use of runantlr on systems
which have it (Debian/Ubuntu).
2008-09-14 Andrew John Hughes <gnu_andrew@member.fsf.org>
* examples/Makefile.am:
......@@ -435,7 +509,6 @@
* m4/acinclude.m4 (CLASSPATH_COND_IF): New macro.
* configure.ac: Use it.
* configure: Regenerate.
* tools/Makefile.am (!CREATE_WRAPPERS): Update comment.
2008-07-12 Andrew John Hughes <gnu_andrew@member.fsf.org>
......@@ -1578,10 +1651,6 @@
* javax/management/StandardMBean.java:
Fix warnings due to use of generics.
2008-06-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* native/fdlibm/dtoa.c: include stdlib.h, for 'free'.
2008-06-16 Andrew John Hughes <gnu_andrew@member.fsf.org>
* javax/management/openmbean/ArrayType.java,
......
......@@ -1015,19 +1015,18 @@ AM_CONDITIONAL(USE_PREBUILT_GLIBJ_ZIP, test x$use_glibj_zip = xtrue)
AC_SUBST(PATH_TO_GLIBJ_ZIP)
if test "x${TOOLSDIR}" != x; then
dnl GCJ LOCAL
if test "x${COMPILE_WRAPPERS}" = xno && test "x${enable_java_maintainer_mode}" = xyes; then
AC_PROG_JAVA
fi
dnl END GCJ LOCAL
if test "x${COMPILE_GJDOC}" = xyes; then
AC_LIB_ANTLR
if test "x${REGENERATE_GJDOC_PARSER}" = xyes; then
dnl GCJ LOCAL
if test "x${enable_java_maintainer_mode}" = xyes; then
AC_PROG_JAVA
dnl GCJ LOCAL
if test "x${REGENERATE_GJDOC_PARSER}" = xyes && test "x${enable_java_maintainer_mode}" = xyes; then
dnl END GCJ LOCAL
AC_PROG_ANTLR(2,7,1)
fi
dnl END GCJ LOCAL
fi
fi
fi
......
......@@ -546,20 +546,28 @@ public final class System
SecurityManager sm = SecurityManager.current; // Be thread-safe.
if (sm != null)
sm.checkPermission(new RuntimePermission("getenv.*"));
if (environmentMap == null)
{
List<String> environ = (List<String>)VMSystem.environ();
Map<String,String> variables = new EnvironmentMap();
for (String pair : environ)
List<String> environ = (List<String>)VMSystem.environ();
for (String envEntry : environ)
{
// avoid broken and null entries
if (envEntry != null && !envEntry.endsWith("="))
{
String[] parts = pair.split("=");
if (parts.length == 2)
variables.put(parts[0], parts[1]);
else
variables.put(parts[0], "");
// it's perfectly legal that some entries may be in the form
// key=value=value=value
int equalSignIndex = envEntry.indexOf('=');
String key = envEntry.substring(0, equalSignIndex);
String value = envEntry.substring(equalSignIndex + 1);
variables.put(key, value);
}
}
environmentMap = Collections.unmodifiableMap(variables);
}
return environmentMap;
}
......
......@@ -90,7 +90,7 @@ public class ThreadLocal<T>
* user. Do not expose this to the public. Package visible for use by
* InheritableThreadLocal
*/
static final Object notFound = new Object();
static final Object sentinel = new Object();
/**
* The base for the computation of the next hash for a thread local.
......@@ -100,7 +100,8 @@ public class ThreadLocal<T>
/**
* Allocate a new hash.
*/
private synchronized int computeNextHash() {
private synchronized int computeNextHash()
{
return nextHashBase++ * 6709;
}
......@@ -144,7 +145,7 @@ public class ThreadLocal<T>
// Note that we don't have to synchronize, as only this thread will
// ever modify the map.
T value = (T) map.get(this);
if (value == notFound)
if (value == sentinel)
{
value = initialValue();
map.set(this, value);
......
......@@ -56,7 +56,8 @@ public abstract class Buffer
*
* Should be package private.
*/
Buffer (int capacity, int limit, int position, int mark, Pointer address)
Buffer (int capacity, int limit, int position, int mark,
Pointer address)
{
this.address = address;
......
......@@ -89,6 +89,11 @@ abstract class DirectByteBufferImpl extends ByteBuffer
super(capacity);
}
ReadWrite(Pointer address, int capacity)
{
super(address, capacity);
}
ReadWrite(Object owner, Pointer address,
int capacity, int limit,
int position)
......@@ -104,10 +109,17 @@ abstract class DirectByteBufferImpl extends ByteBuffer
DirectByteBufferImpl(int capacity)
{
super(capacity, capacity, 0, -1, VMDirectByteBuffer.allocate(capacity), null, 0);
super(capacity, capacity, 0, -1,
VMDirectByteBuffer.allocate(capacity), null, 0);
this.owner = this;
}
DirectByteBufferImpl(Pointer address, int capacity)
{
super(capacity, capacity, 0, -1, address, null, 0);
this.owner = null;
}
DirectByteBufferImpl(Object owner, Pointer address,
int capacity, int limit,
int position)
......@@ -181,7 +193,6 @@ abstract class DirectByteBufferImpl extends ByteBuffer
{
checkArraySize (src.length, offset, length);
checkForUnderflow (length);
int index = position ();
VMDirectByteBuffer.put (address, index, src, offset, length);
position (index + length);
......
......@@ -50,8 +50,8 @@ public abstract class IntBuffer extends Buffer
final int array_offset;
final int[] backing_buffer;
IntBuffer (int capacity, int limit, int position, int mark, RawData address,
int[] backing_buffer, int array_offset)
IntBuffer (int capacity, int limit, int position, int mark,
RawData address, int[] backing_buffer, int array_offset)
{
super (capacity, limit, position, mark, address);
this.backing_buffer = backing_buffer;
......
......@@ -49,7 +49,8 @@ final class ShortViewBufferImpl extends ShortBuffer
ShortViewBufferImpl (ByteBuffer bb, int capacity)
{
super (capacity, capacity, 0, -1, bb.isDirect() ?
VMDirectByteBuffer.adjustAddress(bb.address, bb.position()):null, null, 0);
VMDirectByteBuffer.adjustAddress(bb.address, bb.position()):null,
null, 0);
this.bb = bb;
this.offset = bb.position();
this.readOnly = bb.isReadOnly();
......@@ -61,7 +62,8 @@ final class ShortViewBufferImpl extends ShortBuffer
boolean readOnly, ByteOrder endian)
{
super (capacity, limit, position, mark, bb.isDirect() ?
VMDirectByteBuffer.adjustAddress(bb.address, offset):null, null, 0);
VMDirectByteBuffer.adjustAddress(bb.address, offset):null,
null, 0);
this.bb = bb;
this.offset = offset;
this.readOnly = readOnly;
......
/* gnu_java_awt_peer_gtk_CairoGraphics2d.c
Copyright (C) 2006 Free Software Foundation, Inc.
Copyright (C) 2006, 2008 Free Software Foundation, Inc.
This file is part of GNU Classpath.
......@@ -373,6 +373,7 @@ Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector
}
gdk_threads_leave();
(*env)->ReleaseLongArrayElements (env, java_fontset, fonts, 0);
g_free(glyphs);
}
......
## Input file for automake to generate the Makefile.in used by configure
if CREATE_GJDOC
## GCJ LOCAL: always put source files in srcdir
## if CREATE_GJDOC_PARSER
## gjdoc_gendir = ${top_builddir}/tools/generated
## else
gjdoc_gendir = ${top_srcdir}/tools/generated
## endif
## END GCJ LOCAL
ANTLR_CLASSPATH = $(ANTLR_JAR):$(gjdoc_gendir)
endif
## GCJ LOCAL: use srcdir to find core classes.
GLIBJ_BOOTCLASSPATH='$(top_srcdir)/lib'
GLIBJ_CLASSPATH=.:$(srcdir)/asm:$(ANTLR_CLASSPATH)
......@@ -12,17 +23,6 @@ else
JCOMPILER = $(JAVAC) $(JAVACFLAGS) -source 1.5 -target 1.5 -encoding UTF-8 -bootclasspath $(GLIBJ_BOOTCLASSPATH) -classpath $(GLIBJ_CLASSPATH)
endif
if CREATE_GJDOC
## GCJ LOCAL: always put source files in srcdir
## if CREATE_GJDOC_PARSER
## gjdoc_gendir = ${top_builddir}/tools/generated
## else
gjdoc_gendir = ${top_srcdir}/tools/generated
## endif
## END GCJ LOCAL
ANTLR_CLASSPATH = $(ANTLR_JAR):$(gjdoc_gendir)
endif
if CREATE_WRAPPERS
bin_SCRIPTS =
bin_PROGRAMS = gappletviewer gjarsigner gkeytool \
......@@ -320,8 +320,19 @@ $(TOOLS_ZIP): $(ALL_TOOLS_FILES)
## GCJ LOCAL: put classes in srcdir
## @rm -rf classes asm
## @mkdir_p@ classes asm
if JAVA_MAINTAINER_MODE
if CREATE_GJDOC
if CREATE_GJDOC_PARSER
## Generate antlr sources.
@mkdir_p@ $(gjdoc_gendir)/gnu/classpath/tools/gjdoc/expr
$(ANTLR) -o $(gjdoc_gendir)/gnu/classpath/tools/gjdoc/expr/ \
$(srcdir)/gnu/classpath/tools/gjdoc/expr/java-expression.g
endif
endif
## Compile ASM separately as it is latin-1 encoded.
find $(srcdir)/external/asm -name '*.java' -print > asm.lst
AC=`echo $(JCOMPILER) | sed -e 's/UTF-8/ISO-8859-1/g'`; \
$$AC -g -w -d $(srcdir)/asm @asm.lst
find $(srcdir)/gnu/classpath/tools \
$(srcdir)/com/sun/javadoc \
$(srcdir)/com/sun/tools/doclets \
......@@ -339,20 +350,8 @@ $(TOOLS_ZIP): $(ALL_TOOLS_FILES)
else \
echo -n > vm-tools.lst; \
fi
cat classes.lst asm.lst vm-tools.lst > all-classes.lst
if JAVA_MAINTAINER_MODE
if CREATE_GJDOC
if CREATE_GJDOC_PARSER
## Generate antlr sources.
@mkdir_p@ $(gjdoc_gendir)/gnu/classpath/tools/gjdoc/expr
$(ANTLR) -o $(gjdoc_gendir)/gnu/classpath/tools/gjdoc/expr \
$(srcdir)/gnu/classpath/tools/gjdoc/expr/java-expression.g
endif
endif
## Compile ASM separately as it is latin-1 encoded.
AC=`echo $(JCOMPILER) | sed -e 's/UTF-8/ISO-8859-1/g'`; \
$$AC -g -w -d $(srcdir)/asm @asm.lst
$(JCOMPILER) $(USE_JAVAC_FLAGS) -g -d $(srcdir)/classes @classes.lst @vm-tools.lst
cat classes.lst asm.lst vm-tools.lst > all-classes.lst
endif
## END GCJ LOCAL
## Copy over tools resource files.
......@@ -364,8 +363,10 @@ endif
echo " cp $(srcdir)/resource/$$p classes/$$p"; \
cp $(srcdir)/resource/$$p classes/$$p; \
done
## BEGIN GCJ LOCAL
cp -pR $(srcdir)/asm .
cp -pR $(srcdir)/classes .
## END GCJ LOCAL
if CREATE_GJDOC
## Copy over gjdoc resource files.
for res in $(gjdoc_resources); do \
......
......@@ -447,14 +447,14 @@ target_vendor = @target_vendor@
toolexeclibdir = @toolexeclibdir@
uudecode = @uudecode@
vm_classes = @vm_classes@
@CREATE_GJDOC_TRUE@gjdoc_gendir = ${top_srcdir}/tools/generated
@CREATE_GJDOC_TRUE@ANTLR_CLASSPATH = $(ANTLR_JAR):$(gjdoc_gendir)
GLIBJ_BOOTCLASSPATH = '$(top_srcdir)/lib'
GLIBJ_CLASSPATH = .:$(srcdir)/asm:$(ANTLR_CLASSPATH)
@GCJ_JAVAC_FALSE@JCOMPILER = $(JAVAC) $(JAVACFLAGS) -source 1.5 -target 1.5 -encoding UTF-8 -bootclasspath $(GLIBJ_BOOTCLASSPATH) -classpath $(GLIBJ_CLASSPATH)
# Setup the compiler to use the GNU Classpath library we just built.
@GCJ_JAVAC_TRUE@JCOMPILER = $(JAVAC) $(JAVACFLAGS) -fsource=1.5 -ftarget=1.5 --encoding=UTF-8 --bootclasspath=$(GLIBJ_BOOTCLASSPATH) --classpath=$(GLIBJ_CLASSPATH)
@CREATE_GJDOC_TRUE@gjdoc_gendir = ${top_srcdir}/tools/generated
@CREATE_GJDOC_TRUE@ANTLR_CLASSPATH = $(ANTLR_JAR):$(gjdoc_gendir)
@CREATE_WRAPPERS_TRUE@bin_SCRIPTS =
@CREATE_WRAPPERS_TRUE@AM_CPPFLAGS = -Wall \
@CREATE_WRAPPERS_TRUE@ -I$(top_srcdir)/include \
......@@ -1312,31 +1312,31 @@ dist-hook:
# immediately. And copy the template files we use to the classes dir
# so they get also included.
$(TOOLS_ZIP): $(ALL_TOOLS_FILES)
find $(srcdir)/external/asm -name '*.java' -print > asm.lst
find $(srcdir)/gnu/classpath/tools \
$(srcdir)/com/sun/javadoc \
$(srcdir)/com/sun/tools/doclets \
$(srcdir)/com/sun/tools/javadoc \
$(srcdir)/com/sun/tools/javac \
$(srcdir)/com/sun/tools/javah \
$(srcdir)/sun/rmi/rmic \
$(GJDOC_EX) \
-name '*.java' -print > classes.lst
if [ -f $(top_builddir)/../vm-tools-packages ]; then \
: > vm-tools.lst; \
for pkg in `cat $(top_builddir)/../vm-tools-packages`; do \
$(FIND) $(top_srcdir)/../$$pkg -follow -name '*.java' -print >> vm-tools.lst; \
done \
else \
echo -n > vm-tools.lst; \
fi
cat classes.lst asm.lst vm-tools.lst > all-classes.lst
@CREATE_GJDOC_PARSER_TRUE@@CREATE_GJDOC_TRUE@@JAVA_MAINTAINER_MODE_TRUE@ @mkdir_p@ $(gjdoc_gendir)/gnu/classpath/tools/gjdoc/expr
@CREATE_GJDOC_PARSER_TRUE@@CREATE_GJDOC_TRUE@@JAVA_MAINTAINER_MODE_TRUE@ $(ANTLR) -o $(gjdoc_gendir)/gnu/classpath/tools/gjdoc/expr \
@CREATE_GJDOC_PARSER_TRUE@@CREATE_GJDOC_TRUE@@JAVA_MAINTAINER_MODE_TRUE@ $(ANTLR) -o $(gjdoc_gendir)/gnu/classpath/tools/gjdoc/expr/ \
@CREATE_GJDOC_PARSER_TRUE@@CREATE_GJDOC_TRUE@@JAVA_MAINTAINER_MODE_TRUE@ $(srcdir)/gnu/classpath/tools/gjdoc/expr/java-expression.g
@JAVA_MAINTAINER_MODE_TRUE@ find $(srcdir)/external/asm -name '*.java' -print > asm.lst
@JAVA_MAINTAINER_MODE_TRUE@ AC=`echo $(JCOMPILER) | sed -e 's/UTF-8/ISO-8859-1/g'`; \
@JAVA_MAINTAINER_MODE_TRUE@ $$AC -g -w -d $(srcdir)/asm @asm.lst
@JAVA_MAINTAINER_MODE_TRUE@ find $(srcdir)/gnu/classpath/tools \
@JAVA_MAINTAINER_MODE_TRUE@ $(srcdir)/com/sun/javadoc \
@JAVA_MAINTAINER_MODE_TRUE@ $(srcdir)/com/sun/tools/doclets \
@JAVA_MAINTAINER_MODE_TRUE@ $(srcdir)/com/sun/tools/javadoc \
@JAVA_MAINTAINER_MODE_TRUE@ $(srcdir)/com/sun/tools/javac \
@JAVA_MAINTAINER_MODE_TRUE@ $(srcdir)/com/sun/tools/javah \
@JAVA_MAINTAINER_MODE_TRUE@ $(srcdir)/sun/rmi/rmic \
@JAVA_MAINTAINER_MODE_TRUE@ $(GJDOC_EX) \
@JAVA_MAINTAINER_MODE_TRUE@ -name '*.java' -print > classes.lst
@JAVA_MAINTAINER_MODE_TRUE@ if [ -f $(top_builddir)/../vm-tools-packages ]; then \
@JAVA_MAINTAINER_MODE_TRUE@ : > vm-tools.lst; \
@JAVA_MAINTAINER_MODE_TRUE@ for pkg in `cat $(top_builddir)/../vm-tools-packages`; do \
@JAVA_MAINTAINER_MODE_TRUE@ $(FIND) $(top_srcdir)/../$$pkg -follow -name '*.java' -print >> vm-tools.lst; \
@JAVA_MAINTAINER_MODE_TRUE@ done \
@JAVA_MAINTAINER_MODE_TRUE@ else \
@JAVA_MAINTAINER_MODE_TRUE@ echo -n > vm-tools.lst; \
@JAVA_MAINTAINER_MODE_TRUE@ fi
@JAVA_MAINTAINER_MODE_TRUE@ $(JCOMPILER) $(USE_JAVAC_FLAGS) -g -d $(srcdir)/classes @classes.lst @vm-tools.lst
@JAVA_MAINTAINER_MODE_TRUE@ cat classes.lst asm.lst vm-tools.lst > all-classes.lst
@list=`cd $(srcdir)/resource && find gnu/classpath/tools com/sun/tools/javac \
sun/rmi/rmic $(GJDOC_EX) -name \*.properties -print -o -name \*.jav -print`; \
for p in $$list; do \
......
/* Creator.java - create a new jar file
Copyright (C) 2006 Free Software Foundation, Inc.
Copyright (C) 2006, 2008 Free Software Foundation, Inc.
This file is part of GNU Classpath.
......@@ -49,7 +49,6 @@ import java.io.OutputStream;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.jar.Attributes;
import java.util.jar.JarFile;
import java.util.jar.JarOutputStream;
......@@ -179,13 +178,9 @@ public class Creator
private ArrayList<Entry> getAllEntries(Main parameters)
{
Iterator it = parameters.entries.iterator();
ArrayList<Entry> allEntries = new ArrayList<Entry>();
while (it.hasNext())
{
Entry entry = (Entry) it.next();
for (Entry entry : parameters.entries)
addEntries(allEntries, entry);
}
return allEntries;
}
......@@ -196,14 +191,10 @@ public class Creator
writtenItems.add("META-INF/"); //$NON-NLS-1$
writtenItems.add(JarFile.MANIFEST_NAME);
ArrayList allEntries = getAllEntries(parameters);
Iterator it = allEntries.iterator();
while (it.hasNext())
{
Entry entry = (Entry) it.next();
ArrayList<Entry> allEntries = getAllEntries(parameters);
for (Entry entry : allEntries)
writeFile(entry.file, entry.name, parameters.verbose);
}
}
protected Manifest createManifest(Main parameters)
throws IOException
......
/* Indexer.java -- add index.list file to jar
Copyright (C) 2006 Free Software Foundation, Inc.
Copyright (C) 2006, 2008 Free Software Foundation, Inc.
This file is part of GNU Classpath.
......@@ -46,7 +46,6 @@ import java.io.IOException;
import java.io.OutputStream;
import java.text.MessageFormat;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.StringTokenizer;
import java.util.jar.Attributes;
......@@ -90,10 +89,9 @@ public class Indexer
result.append(fileName);
// Any line ending will do.
result.append('\n');
Iterator i = entries.iterator();
while (i.hasNext())
for (String s : entries)
{
result.append(i.next());
result.append(s);
result.append('\n');
}
// Paragraph break.
......
/* WorkSet.java -- Helper to track what files to work on
Copyright (C) 2006 Free Software Foundation, Inc.
Copyright (C) 2006, 2008 Free Software Foundation, Inc.
This file is part of GNU Classpath.
......@@ -40,21 +40,18 @@ package gnu.classpath.tools.jar;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
public class WorkSet
{
private HashSet<String> allItems;
private void initSet(ArrayList entries)
private void initSet(ArrayList<Entry> entries)
{
if (entries == null || entries.isEmpty())
return;
allItems = new HashSet<String>();
Iterator it = entries.iterator();
while (it.hasNext())
for (Entry entry : entries)
{
Entry entry = (Entry) it.next();
int len = entry.name.length();
while (len > 0 && entry.name.charAt(len - 1) == '/')
--len;
......@@ -63,7 +60,7 @@ public class WorkSet
}
}
public WorkSet(ArrayList entries)
public WorkSet(ArrayList<Entry> entries)
{
initSet(entries);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment