summaryrefslogtreecommitdiff
path: root/libjava/java/util
diff options
context:
space:
mode:
authorupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
committerupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
commit554fd8c5195424bdbcabf5de30fdc183aba391bd (patch)
tree976dc5ab7fddf506dadce60ae936f43f58787092 /libjava/java/util
downloadcbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.bz2
cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.xz
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository.
Diffstat (limited to 'libjava/java/util')
-rw-r--r--libjava/java/util/AbstractCollection.h46
-rw-r--r--libjava/java/util/AbstractList$1.h35
-rw-r--r--libjava/java/util/AbstractList$2.h33
-rw-r--r--libjava/java/util/AbstractList$3.h39
-rw-r--r--libjava/java/util/AbstractList$RandomAccessSubList.h20
-rw-r--r--libjava/java/util/AbstractList$SubList.h41
-rw-r--r--libjava/java/util/AbstractList.h41
-rw-r--r--libjava/java/util/AbstractMap$1.h27
-rw-r--r--libjava/java/util/AbstractMap$2.h28
-rw-r--r--libjava/java/util/AbstractMap$3.h27
-rw-r--r--libjava/java/util/AbstractMap$4.h28
-rw-r--r--libjava/java/util/AbstractMap$SimpleEntry.h32
-rw-r--r--libjava/java/util/AbstractMap$SimpleImmutableEntry.h29
-rw-r--r--libjava/java/util/AbstractMap.h47
-rw-r--r--libjava/java/util/AbstractQueue.h28
-rw-r--r--libjava/java/util/AbstractSequentialList.h27
-rw-r--r--libjava/java/util/AbstractSet.h23
-rw-r--r--libjava/java/util/ArrayDeque$DeqIterator.h31
-rw-r--r--libjava/java/util/ArrayDeque$DescendingIterator.h31
-rw-r--r--libjava/java/util/ArrayDeque.h81
-rw-r--r--libjava/java/util/ArrayList.h58
-rw-r--r--libjava/java/util/Arrays$ArrayList.h34
-rw-r--r--libjava/java/util/Arrays.h186
-rw-r--r--libjava/java/util/BitSet.h57
-rw-r--r--libjava/java/util/Calendar.h149
-rw-r--r--libjava/java/util/Collection.h35
-rw-r--r--libjava/java/util/Collections$1$SynchronizedMapEntry.h30
-rw-r--r--libjava/java/util/Collections$1.h28
-rw-r--r--libjava/java/util/Collections$2.h24
-rw-r--r--libjava/java/util/Collections$3.h25
-rw-r--r--libjava/java/util/Collections$4.h25
-rw-r--r--libjava/java/util/Collections$5.h25
-rw-r--r--libjava/java/util/Collections$6.h25
-rw-r--r--libjava/java/util/Collections$7.h31
-rw-r--r--libjava/java/util/Collections$8.h25
-rw-r--r--libjava/java/util/Collections$9.h24
-rw-r--r--libjava/java/util/Collections$CheckedCollection.h42
-rw-r--r--libjava/java/util/Collections$CheckedIterator.h28
-rw-r--r--libjava/java/util/Collections$CheckedList.h37
-rw-r--r--libjava/java/util/Collections$CheckedListIterator.h29
-rw-r--r--libjava/java/util/Collections$CheckedMap$CheckedEntrySet.h27
-rw-r--r--libjava/java/util/Collections$CheckedMap.h46
-rw-r--r--libjava/java/util/Collections$CheckedRandomAccessList.h22
-rw-r--r--libjava/java/util/Collections$CheckedSet.h25
-rw-r--r--libjava/java/util/Collections$CheckedSortedMap.h30
-rw-r--r--libjava/java/util/Collections$CheckedSortedSet.h30
-rw-r--r--libjava/java/util/Collections$CopiesList.h35
-rw-r--r--libjava/java/util/Collections$EmptyList.h39
-rw-r--r--libjava/java/util/Collections$EmptyMap.h34
-rw-r--r--libjava/java/util/Collections$EmptySet.h37
-rw-r--r--libjava/java/util/Collections$LIFOQueue.h31
-rw-r--r--libjava/java/util/Collections$MapSet.h30
-rw-r--r--libjava/java/util/Collections$ReverseComparator.h24
-rw-r--r--libjava/java/util/Collections$SingletonList.h36
-rw-r--r--libjava/java/util/Collections$SingletonMap.h35
-rw-r--r--libjava/java/util/Collections$SingletonSet.h34
-rw-r--r--libjava/java/util/Collections$SynchronizedCollection.h43
-rw-r--r--libjava/java/util/Collections$SynchronizedIterator.h28
-rw-r--r--libjava/java/util/Collections$SynchronizedList.h38
-rw-r--r--libjava/java/util/Collections$SynchronizedListIterator.h29
-rw-r--r--libjava/java/util/Collections$SynchronizedMap.h46
-rw-r--r--libjava/java/util/Collections$SynchronizedRandomAccessList.h25
-rw-r--r--libjava/java/util/Collections$SynchronizedSet.h26
-rw-r--r--libjava/java/util/Collections$SynchronizedSortedMap.h31
-rw-r--r--libjava/java/util/Collections$SynchronizedSortedSet.h31
-rw-r--r--libjava/java/util/Collections$UnmodifiableCollection.h41
-rw-r--r--libjava/java/util/Collections$UnmodifiableIterator.h26
-rw-r--r--libjava/java/util/Collections$UnmodifiableList.h37
-rw-r--r--libjava/java/util/Collections$UnmodifiableListIterator.h29
-rw-r--r--libjava/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry.h30
-rw-r--r--libjava/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.h28
-rw-r--r--libjava/java/util/Collections$UnmodifiableMap.h42
-rw-r--r--libjava/java/util/Collections$UnmodifiableRandomAccessList.h22
-rw-r--r--libjava/java/util/Collections$UnmodifiableSet.h25
-rw-r--r--libjava/java/util/Collections$UnmodifiableSortedMap.h30
-rw-r--r--libjava/java/util/Collections$UnmodifiableSortedSet.h30
-rw-r--r--libjava/java/util/Collections.h87
-rw-r--r--libjava/java/util/Comparator.h20
-rw-r--r--libjava/java/util/ConcurrentModificationException.h23
-rw-r--r--libjava/java/util/Currency.h39
-rw-r--r--libjava/java/util/Date.h69
-rw-r--r--libjava/java/util/Deque.h55
-rw-r--r--libjava/java/util/Dictionary.h26
-rw-r--r--libjava/java/util/DuplicateFormatFlagsException.h24
-rw-r--r--libjava/java/util/EmptyStackException.h22
-rw-r--r--libjava/java/util/EnumMap$1.h29
-rw-r--r--libjava/java/util/EnumMap$2.h29
-rw-r--r--libjava/java/util/EnumMap$3.h27
-rw-r--r--libjava/java/util/EnumMap$4.h28
-rw-r--r--libjava/java/util/EnumMap$5.h29
-rw-r--r--libjava/java/util/EnumMap$6.h30
-rw-r--r--libjava/java/util/EnumMap$7.h24
-rw-r--r--libjava/java/util/EnumMap.h47
-rw-r--r--libjava/java/util/EnumSet$1.h31
-rw-r--r--libjava/java/util/EnumSet$2.h29
-rw-r--r--libjava/java/util/EnumSet.h43
-rw-r--r--libjava/java/util/Enumeration.h20
-rw-r--r--libjava/java/util/EventListener.h18
-rw-r--r--libjava/java/util/EventListenerProxy.h23
-rw-r--r--libjava/java/util/EventObject.h26
-rw-r--r--libjava/java/util/FormatFlagsConversionMismatchException.h26
-rw-r--r--libjava/java/util/Formattable.h19
-rw-r--r--libjava/java/util/FormattableFlags.h29
-rw-r--r--libjava/java/util/Formatter$BigDecimalLayoutForm.h28
-rw-r--r--libjava/java/util/Formatter.h100
-rw-r--r--libjava/java/util/FormatterClosedException.h22
-rw-r--r--libjava/java/util/GregorianCalendar.h71
-rw-r--r--libjava/java/util/HashMap$1.h28
-rw-r--r--libjava/java/util/HashMap$2.h26
-rw-r--r--libjava/java/util/HashMap$3.h28
-rw-r--r--libjava/java/util/HashMap$HashEntry.h23
-rw-r--r--libjava/java/util/HashMap$HashIterator.h33
-rw-r--r--libjava/java/util/HashMap.h61
-rw-r--r--libjava/java/util/HashSet.h38
-rw-r--r--libjava/java/util/Hashtable$1.h28
-rw-r--r--libjava/java/util/Hashtable$2.h26
-rw-r--r--libjava/java/util/Hashtable$3.h28
-rw-r--r--libjava/java/util/Hashtable$EntryEnumerator.h29
-rw-r--r--libjava/java/util/Hashtable$EntryIterator.h32
-rw-r--r--libjava/java/util/Hashtable$HashEntry.h24
-rw-r--r--libjava/java/util/Hashtable$KeyEnumerator.h27
-rw-r--r--libjava/java/util/Hashtable$KeyIterator.h28
-rw-r--r--libjava/java/util/Hashtable$ValueEnumerator.h27
-rw-r--r--libjava/java/util/Hashtable$ValueIterator.h28
-rw-r--r--libjava/java/util/Hashtable.h67
-rw-r--r--libjava/java/util/IdentityHashMap$1.h29
-rw-r--r--libjava/java/util/IdentityHashMap$2.h29
-rw-r--r--libjava/java/util/IdentityHashMap$3.h27
-rw-r--r--libjava/java/util/IdentityHashMap$IdentityEntry.h31
-rw-r--r--libjava/java/util/IdentityHashMap$IdentityIterator.h30
-rw-r--r--libjava/java/util/IdentityHashMap.h61
-rw-r--r--libjava/java/util/IllegalFormatCodePointException.h25
-rw-r--r--libjava/java/util/IllegalFormatConversionException.h27
-rw-r--r--libjava/java/util/IllegalFormatException.h23
-rw-r--r--libjava/java/util/IllegalFormatFlagsException.h24
-rw-r--r--libjava/java/util/IllegalFormatPrecisionException.h24
-rw-r--r--libjava/java/util/IllegalFormatWidthException.h24
-rw-r--r--libjava/java/util/InputMismatchException.h20
-rw-r--r--libjava/java/util/InvalidPropertiesFormatException.h25
-rw-r--r--libjava/java/util/Iterator.h21
-rw-r--r--libjava/java/util/LinkedHashMap$1.h31
-rw-r--r--libjava/java/util/LinkedHashMap$LinkedHashEntry.h25
-rw-r--r--libjava/java/util/LinkedHashMap.h38
-rw-r--r--libjava/java/util/LinkedHashSet.h27
-rw-r--r--libjava/java/util/LinkedList$1.h33
-rw-r--r--libjava/java/util/LinkedList$Entry.h23
-rw-r--r--libjava/java/util/LinkedList$LinkedListItr.h40
-rw-r--r--libjava/java/util/LinkedList.h81
-rw-r--r--libjava/java/util/List.h45
-rw-r--r--libjava/java/util/ListIterator.h27
-rw-r--r--libjava/java/util/ListResourceBundle.h26
-rw-r--r--libjava/java/util/Locale.h90
-rw-r--r--libjava/java/util/Map$Entry.h23
-rw-r--r--libjava/java/util/Map.h32
-rw-r--r--libjava/java/util/MissingFormatArgumentException.h24
-rw-r--r--libjava/java/util/MissingFormatWidthException.h24
-rw-r--r--libjava/java/util/MissingResourceException.h26
-rw-r--r--libjava/java/util/NavigableMap.h54
-rw-r--r--libjava/java/util/NavigableSet.h50
-rw-r--r--libjava/java/util/NoSuchElementException.h23
-rw-r--r--libjava/java/util/Observable.h35
-rw-r--r--libjava/java/util/Observer.h19
-rw-r--r--libjava/java/util/PriorityQueue$1.h28
-rw-r--r--libjava/java/util/PriorityQueue.h48
-rw-r--r--libjava/java/util/Properties.h54
-rw-r--r--libjava/java/util/PropertyPermission.h52
-rw-r--r--libjava/java/util/PropertyPermissionCollection.h38
-rw-r--r--libjava/java/util/PropertyResourceBundle.h25
-rw-r--r--libjava/java/util/Queue.h38
-rw-r--r--libjava/java/util/Random.h40
-rw-r--r--libjava/java/util/RandomAccess.h18
-rw-r--r--libjava/java/util/ResourceBundle$1.h21
-rw-r--r--libjava/java/util/ResourceBundle$BundleKey.h32
-rw-r--r--libjava/java/util/ResourceBundle.h51
-rw-r--r--libjava/java/util/Scanner.h178
-rw-r--r--libjava/java/util/ServiceConfigurationError.h23
-rw-r--r--libjava/java/util/ServiceLoader$1.h28
-rw-r--r--libjava/java/util/ServiceLoader.h37
-rw-r--r--libjava/java/util/Set.h35
-rw-r--r--libjava/java/util/SimpleTimeZone.h80
-rw-r--r--libjava/java/util/SortedMap.h36
-rw-r--r--libjava/java/util/SortedSet.h39
-rw-r--r--libjava/java/util/Stack.h27
-rw-r--r--libjava/java/util/StringTokenizer.h34
-rw-r--r--libjava/java/util/TimeZone$1.h21
-rw-r--r--libjava/java/util/TimeZone.h70
-rw-r--r--libjava/java/util/Timer$Scheduler.h23
-rw-r--r--libjava/java/util/Timer$TaskQueue.h39
-rw-r--r--libjava/java/util/Timer.h49
-rw-r--r--libjava/java/util/TimerTask.h29
-rw-r--r--libjava/java/util/TooManyListenersException.h23
-rw-r--r--libjava/java/util/TreeMap$1.h25
-rw-r--r--libjava/java/util/TreeMap$2.h26
-rw-r--r--libjava/java/util/TreeMap$3.h27
-rw-r--r--libjava/java/util/TreeMap$4.h29
-rw-r--r--libjava/java/util/TreeMap$5.h29
-rw-r--r--libjava/java/util/TreeMap$6.h25
-rw-r--r--libjava/java/util/TreeMap$7.h26
-rw-r--r--libjava/java/util/TreeMap$DescendingMap.h65
-rw-r--r--libjava/java/util/TreeMap$DescendingSet.h57
-rw-r--r--libjava/java/util/TreeMap$EntrySet.h28
-rw-r--r--libjava/java/util/TreeMap$KeySet.h29
-rw-r--r--libjava/java/util/TreeMap$NavigableEntrySet.h55
-rw-r--r--libjava/java/util/TreeMap$NavigableKeySet.h40
-rw-r--r--libjava/java/util/TreeMap$Node.h24
-rw-r--r--libjava/java/util/TreeMap$SubMap$EntrySet.h28
-rw-r--r--libjava/java/util/TreeMap$SubMap$KeySet.h29
-rw-r--r--libjava/java/util/TreeMap$SubMap$NavigableEntrySet.h55
-rw-r--r--libjava/java/util/TreeMap$SubMap$NavigableKeySet.h40
-rw-r--r--libjava/java/util/TreeMap$SubMap.h66
-rw-r--r--libjava/java/util/TreeMap$TreeIterator.h33
-rw-r--r--libjava/java/util/TreeMap.h109
-rw-r--r--libjava/java/util/TreeSet.h59
-rw-r--r--libjava/java/util/UUID.h45
-rw-r--r--libjava/java/util/UnknownFormatConversionException.h24
-rw-r--r--libjava/java/util/UnknownFormatFlagsException.h24
-rw-r--r--libjava/java/util/VMTimeZone.h25
-rw-r--r--libjava/java/util/VMTimeZone.java300
-rw-r--r--libjava/java/util/Vector$1.h27
-rw-r--r--libjava/java/util/Vector.h78
-rw-r--r--libjava/java/util/WeakHashMap$1.h22
-rw-r--r--libjava/java/util/WeakHashMap$2.h32
-rw-r--r--libjava/java/util/WeakHashMap$WeakBucket$WeakEntry.h30
-rw-r--r--libjava/java/util/WeakHashMap$WeakBucket.h25
-rw-r--r--libjava/java/util/WeakHashMap$WeakEntrySet.h26
-rw-r--r--libjava/java/util/WeakHashMap.h66
-rw-r--r--libjava/java/util/concurrent/AbstractExecutorService.h42
-rw-r--r--libjava/java/util/concurrent/ArrayBlockingQueue$Itr.h33
-rw-r--r--libjava/java/util/concurrent/ArrayBlockingQueue.h65
-rw-r--r--libjava/java/util/concurrent/BlockingDeque.h70
-rw-r--r--libjava/java/util/concurrent/BlockingQueue.h45
-rw-r--r--libjava/java/util/concurrent/BrokenBarrierException.h23
-rw-r--r--libjava/java/util/concurrent/Callable.h19
-rw-r--r--libjava/java/util/concurrent/CancellationException.h23
-rw-r--r--libjava/java/util/concurrent/CompletionService.h23
-rw-r--r--libjava/java/util/concurrent/ConcurrentHashMap$EntryIterator.h25
-rw-r--r--libjava/java/util/concurrent/ConcurrentHashMap$EntrySet.h28
-rw-r--r--libjava/java/util/concurrent/ConcurrentHashMap$HashEntry.h27
-rw-r--r--libjava/java/util/concurrent/ConcurrentHashMap$HashIterator.h39
-rw-r--r--libjava/java/util/concurrent/ConcurrentHashMap$KeyIterator.h25
-rw-r--r--libjava/java/util/concurrent/ConcurrentHashMap$KeySet.h28
-rw-r--r--libjava/java/util/concurrent/ConcurrentHashMap$Segment.h43
-rw-r--r--libjava/java/util/concurrent/ConcurrentHashMap$ValueIterator.h25
-rw-r--r--libjava/java/util/concurrent/ConcurrentHashMap$Values.h27
-rw-r--r--libjava/java/util/concurrent/ConcurrentHashMap$WriteThroughEntry.h24
-rw-r--r--libjava/java/util/concurrent/ConcurrentHashMap.h65
-rw-r--r--libjava/java/util/concurrent/ConcurrentLinkedQueue$Itr.h32
-rw-r--r--libjava/java/util/concurrent/ConcurrentLinkedQueue$Node.h32
-rw-r--r--libjava/java/util/concurrent/ConcurrentLinkedQueue.h43
-rw-r--r--libjava/java/util/concurrent/ConcurrentMap.h34
-rw-r--r--libjava/java/util/concurrent/ConcurrentNavigableMap.h66
-rw-r--r--libjava/java/util/concurrent/ConcurrentSkipListMap$ComparableUsingComparator.h25
-rw-r--r--libjava/java/util/concurrent/ConcurrentSkipListMap$EntryIterator.h25
-rw-r--r--libjava/java/util/concurrent/ConcurrentSkipListMap$EntrySet.h34
-rw-r--r--libjava/java/util/concurrent/ConcurrentSkipListMap$HeadIndex.h21
-rw-r--r--libjava/java/util/concurrent/ConcurrentSkipListMap$Index.h28
-rw-r--r--libjava/java/util/concurrent/ConcurrentSkipListMap$Iter.h32
-rw-r--r--libjava/java/util/concurrent/ConcurrentSkipListMap$KeyIterator.h24
-rw-r--r--libjava/java/util/concurrent/ConcurrentSkipListMap$KeySet.h54
-rw-r--r--libjava/java/util/concurrent/ConcurrentSkipListMap$Node.h34
-rw-r--r--libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapEntryIterator.h25
-rw-r--r--libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter.h35
-rw-r--r--libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapKeyIterator.h24
-rw-r--r--libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapValueIterator.h24
-rw-r--r--libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap.h118
-rw-r--r--libjava/java/util/concurrent/ConcurrentSkipListMap$ValueIterator.h24
-rw-r--r--libjava/java/util/concurrent/ConcurrentSkipListMap$Values.h32
-rw-r--r--libjava/java/util/concurrent/ConcurrentSkipListMap.h136
-rw-r--r--libjava/java/util/concurrent/ConcurrentSkipListSet.h75
-rw-r--r--libjava/java/util/concurrent/CopyOnWriteArrayList$1.h35
-rw-r--r--libjava/java/util/concurrent/CopyOnWriteArrayList$2.h30
-rw-r--r--libjava/java/util/concurrent/CopyOnWriteArrayList$3.h36
-rw-r--r--libjava/java/util/concurrent/CopyOnWriteArrayList$RandomAccessSubList.h20
-rw-r--r--libjava/java/util/concurrent/CopyOnWriteArrayList$SubList.h42
-rw-r--r--libjava/java/util/concurrent/CopyOnWriteArrayList.h66
-rw-r--r--libjava/java/util/concurrent/CopyOnWriteArraySet.h41
-rw-r--r--libjava/java/util/concurrent/CountDownLatch$Sync.h26
-rw-r--r--libjava/java/util/concurrent/CountDownLatch.h27
-rw-r--r--libjava/java/util/concurrent/CyclicBarrier$Generation.h22
-rw-r--r--libjava/java/util/concurrent/CyclicBarrier.h37
-rw-r--r--libjava/java/util/concurrent/DelayQueue$Itr.h32
-rw-r--r--libjava/java/util/concurrent/DelayQueue.h57
-rw-r--r--libjava/java/util/concurrent/Delayed.h20
-rw-r--r--libjava/java/util/concurrent/Exchanger$Node.h21
-rw-r--r--libjava/java/util/concurrent/Exchanger$Slot.h36
-rw-r--r--libjava/java/util/concurrent/Exchanger.h42
-rw-r--r--libjava/java/util/concurrent/ExecutionException.h26
-rw-r--r--libjava/java/util/concurrent/Executor.h19
-rw-r--r--libjava/java/util/concurrent/ExecutorCompletionService$QueueingFuture.h26
-rw-r--r--libjava/java/util/concurrent/ExecutorCompletionService.h34
-rw-r--r--libjava/java/util/concurrent/ExecutorService.h31
-rw-r--r--libjava/java/util/concurrent/Executors$1.h24
-rw-r--r--libjava/java/util/concurrent/Executors$2.h24
-rw-r--r--libjava/java/util/concurrent/Executors$3.h27
-rw-r--r--libjava/java/util/concurrent/Executors$4.h26
-rw-r--r--libjava/java/util/concurrent/Executors$5.h34
-rw-r--r--libjava/java/util/concurrent/Executors$6.h34
-rw-r--r--libjava/java/util/concurrent/Executors$DefaultThreadFactory.h27
-rw-r--r--libjava/java/util/concurrent/Executors$DelegatedExecutorService.h36
-rw-r--r--libjava/java/util/concurrent/Executors$DelegatedScheduledExecutorService.h27
-rw-r--r--libjava/java/util/concurrent/Executors$FinalizableDelegatedExecutorService.h22
-rw-r--r--libjava/java/util/concurrent/Executors$PrivilegedCallable.h41
-rw-r--r--libjava/java/util/concurrent/Executors$PrivilegedCallableUsingCurrentClassLoader.h43
-rw-r--r--libjava/java/util/concurrent/Executors$PrivilegedThreadFactory.h38
-rw-r--r--libjava/java/util/concurrent/Executors$RunnableAdapter.h25
-rw-r--r--libjava/java/util/concurrent/Executors.h52
-rw-r--r--libjava/java/util/concurrent/Future.h23
-rw-r--r--libjava/java/util/concurrent/FutureTask$Sync.h46
-rw-r--r--libjava/java/util/concurrent/FutureTask.h36
-rw-r--r--libjava/java/util/concurrent/LinkedBlockingDeque$AbstractItr.h32
-rw-r--r--libjava/java/util/concurrent/LinkedBlockingDeque$DescendingItr.h23
-rw-r--r--libjava/java/util/concurrent/LinkedBlockingDeque$Itr.h23
-rw-r--r--libjava/java/util/concurrent/LinkedBlockingDeque$Node.h23
-rw-r--r--libjava/java/util/concurrent/LinkedBlockingDeque.h96
-rw-r--r--libjava/java/util/concurrent/LinkedBlockingQueue$Itr.h30
-rw-r--r--libjava/java/util/concurrent/LinkedBlockingQueue$Node.h22
-rw-r--r--libjava/java/util/concurrent/LinkedBlockingQueue.h71
-rw-r--r--libjava/java/util/concurrent/PriorityBlockingQueue$Itr.h31
-rw-r--r--libjava/java/util/concurrent/PriorityBlockingQueue.h57
-rw-r--r--libjava/java/util/concurrent/RejectedExecutionException.h25
-rw-r--r--libjava/java/util/concurrent/RejectedExecutionHandler.h19
-rw-r--r--libjava/java/util/concurrent/RunnableFuture.h24
-rw-r--r--libjava/java/util/concurrent/RunnableScheduledFuture.h27
-rw-r--r--libjava/java/util/concurrent/ScheduledExecutorService.h35
-rw-r--r--libjava/java/util/concurrent/ScheduledFuture.h25
-rw-r--r--libjava/java/util/concurrent/ScheduledThreadPoolExecutor$1.h29
-rw-r--r--libjava/java/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue.h58
-rw-r--r--libjava/java/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask.h40
-rw-r--r--libjava/java/util/concurrent/ScheduledThreadPoolExecutor.h56
-rw-r--r--libjava/java/util/concurrent/Semaphore$FairSync.h24
-rw-r--r--libjava/java/util/concurrent/Semaphore$NonfairSync.h24
-rw-r--r--libjava/java/util/concurrent/Semaphore$Sync.h29
-rw-r--r--libjava/java/util/concurrent/Semaphore.h46
-rw-r--r--libjava/java/util/concurrent/SynchronousQueue$EmptyIterator.h23
-rw-r--r--libjava/java/util/concurrent/SynchronousQueue$FifoWaitQueue.h22
-rw-r--r--libjava/java/util/concurrent/SynchronousQueue$LifoWaitQueue.h22
-rw-r--r--libjava/java/util/concurrent/SynchronousQueue$TransferQueue$QNode.h31
-rw-r--r--libjava/java/util/concurrent/SynchronousQueue$TransferQueue.h32
-rw-r--r--libjava/java/util/concurrent/SynchronousQueue$TransferStack$SNode.h31
-rw-r--r--libjava/java/util/concurrent/SynchronousQueue$TransferStack.h32
-rw-r--r--libjava/java/util/concurrent/SynchronousQueue$Transferer.h21
-rw-r--r--libjava/java/util/concurrent/SynchronousQueue$WaitQueue.h20
-rw-r--r--libjava/java/util/concurrent/SynchronousQueue.h58
-rw-r--r--libjava/java/util/concurrent/ThreadFactory.h19
-rw-r--r--libjava/java/util/concurrent/ThreadPoolExecutor$AbortPolicy.h20
-rw-r--r--libjava/java/util/concurrent/ThreadPoolExecutor$CallerRunsPolicy.h20
-rw-r--r--libjava/java/util/concurrent/ThreadPoolExecutor$DiscardOldestPolicy.h20
-rw-r--r--libjava/java/util/concurrent/ThreadPoolExecutor$DiscardPolicy.h20
-rw-r--r--libjava/java/util/concurrent/ThreadPoolExecutor$Worker.h34
-rw-r--r--libjava/java/util/concurrent/ThreadPoolExecutor.h97
-rw-r--r--libjava/java/util/concurrent/TimeUnit$1.h31
-rw-r--r--libjava/java/util/concurrent/TimeUnit$2.h31
-rw-r--r--libjava/java/util/concurrent/TimeUnit$3.h31
-rw-r--r--libjava/java/util/concurrent/TimeUnit$4.h31
-rw-r--r--libjava/java/util/concurrent/TimeUnit$5.h31
-rw-r--r--libjava/java/util/concurrent/TimeUnit$6.h31
-rw-r--r--libjava/java/util/concurrent/TimeUnit$7.h31
-rw-r--r--libjava/java/util/concurrent/TimeUnit.h61
-rw-r--r--libjava/java/util/concurrent/TimeoutException.h23
-rw-r--r--libjava/java/util/concurrent/atomic/AtomicBoolean.h43
-rw-r--r--libjava/java/util/concurrent/atomic/AtomicInteger.h53
-rw-r--r--libjava/java/util/concurrent/atomic/AtomicIntegerArray.h54
-rw-r--r--libjava/java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.h44
-rw-r--r--libjava/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.h34
-rw-r--r--libjava/java/util/concurrent/atomic/AtomicLong.h57
-rw-r--r--libjava/java/util/concurrent/atomic/AtomicLongArray.h54
-rw-r--r--libjava/java/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater.h44
-rw-r--r--libjava/java/util/concurrent/atomic/AtomicLongFieldUpdater$LockedUpdater.h44
-rw-r--r--libjava/java/util/concurrent/atomic/AtomicLongFieldUpdater.h34
-rw-r--r--libjava/java/util/concurrent/atomic/AtomicMarkableReference$ReferenceBooleanPair.h25
-rw-r--r--libjava/java/util/concurrent/atomic/AtomicMarkableReference.h31
-rw-r--r--libjava/java/util/concurrent/atomic/AtomicReference.h43
-rw-r--r--libjava/java/util/concurrent/atomic/AtomicReferenceArray.h48
-rw-r--r--libjava/java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl.h45
-rw-r--r--libjava/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.h28
-rw-r--r--libjava/java/util/concurrent/atomic/AtomicStampedReference$ReferenceIntegerPair.h25
-rw-r--r--libjava/java/util/concurrent/atomic/AtomicStampedReference.h31
-rw-r--r--libjava/java/util/concurrent/atomic/natAtomicLong.cc12
-rw-r--r--libjava/java/util/concurrent/locks/AbstractOwnableSynchronizer.h25
-rw-r--r--libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject.h52
-rw-r--r--libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$Node.h34
-rw-r--r--libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.h115
-rw-r--r--libjava/java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.h52
-rw-r--r--libjava/java/util/concurrent/locks/AbstractQueuedSynchronizer$Node.h34
-rw-r--r--libjava/java/util/concurrent/locks/AbstractQueuedSynchronizer.h115
-rw-r--r--libjava/java/util/concurrent/locks/Condition.h25
-rw-r--r--libjava/java/util/concurrent/locks/Lock.h24
-rw-r--r--libjava/java/util/concurrent/locks/LockSupport.h42
-rw-r--r--libjava/java/util/concurrent/locks/ReadWriteLock.h20
-rw-r--r--libjava/java/util/concurrent/locks/ReentrantLock$FairSync.h25
-rw-r--r--libjava/java/util/concurrent/locks/ReentrantLock$NonfairSync.h25
-rw-r--r--libjava/java/util/concurrent/locks/ReentrantLock$Sync.h33
-rw-r--r--libjava/java/util/concurrent/locks/ReentrantLock.h49
-rw-r--r--libjava/java/util/concurrent/locks/ReentrantReadWriteLock$FairSync.h24
-rw-r--r--libjava/java/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync.h24
-rw-r--r--libjava/java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock.h31
-rw-r--r--libjava/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$HoldCounter.h23
-rw-r--r--libjava/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter.h22
-rw-r--r--libjava/java/util/concurrent/locks/ReentrantReadWriteLock$Sync.h55
-rw-r--r--libjava/java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock.h33
-rw-r--r--libjava/java/util/concurrent/locks/ReentrantReadWriteLock.h57
-rw-r--r--libjava/java/util/jar/Attributes$Name.h43
-rw-r--r--libjava/java/util/jar/Attributes.h45
-rw-r--r--libjava/java/util/jar/JarEntry.h42
-rw-r--r--libjava/java/util/jar/JarException.h23
-rw-r--r--libjava/java/util/jar/JarFile$EntryInputStream.h49
-rw-r--r--libjava/java/util/jar/JarFile$JarEnumeration.h27
-rw-r--r--libjava/java/util/jar/JarFile.h103
-rw-r--r--libjava/java/util/jar/JarInputStream.h35
-rw-r--r--libjava/java/util/jar/JarOutputStream.h24
-rw-r--r--libjava/java/util/jar/Manifest.h34
-rw-r--r--libjava/java/util/logging/ConsoleHandler.h21
-rw-r--r--libjava/java/util/logging/ErrorManager.h29
-rw-r--r--libjava/java/util/logging/FileHandler$ostr.h28
-rw-r--r--libjava/java/util/logging/FileHandler.h49
-rw-r--r--libjava/java/util/logging/Filter.h19
-rw-r--r--libjava/java/util/logging/Formatter.h24
-rw-r--r--libjava/java/util/logging/Handler.h44
-rw-r--r--libjava/java/util/logging/Level.h53
-rw-r--r--libjava/java/util/logging/LogManager$1.h24
-rw-r--r--libjava/java/util/logging/LogManager.h77
-rw-r--r--libjava/java/util/logging/LogManager.java991
-rw-r--r--libjava/java/util/logging/LogRecord.h70
-rw-r--r--libjava/java/util/logging/Logger$1.h21
-rw-r--r--libjava/java/util/logging/Logger.h90
-rw-r--r--libjava/java/util/logging/Logger.java1206
-rw-r--r--libjava/java/util/logging/LoggingMXBean.h22
-rw-r--r--libjava/java/util/logging/LoggingPermission.h22
-rw-r--r--libjava/java/util/logging/MemoryHandler.h35
-rw-r--r--libjava/java/util/logging/SimpleFormatter.h35
-rw-r--r--libjava/java/util/logging/SocketHandler.h25
-rw-r--r--libjava/java/util/logging/StreamHandler.h43
-rw-r--r--libjava/java/util/logging/XMLFormatter.h50
-rw-r--r--libjava/java/util/logging/natLogger.cc49
-rw-r--r--libjava/java/util/natVMTimeZone.cc145
-rw-r--r--libjava/java/util/prefs/AbstractPreferences$1.h27
-rw-r--r--libjava/java/util/prefs/AbstractPreferences$2.h28
-rw-r--r--libjava/java/util/prefs/AbstractPreferences.h106
-rw-r--r--libjava/java/util/prefs/BackingStoreException.h26
-rw-r--r--libjava/java/util/prefs/InvalidPreferencesFormatException.h27
-rw-r--r--libjava/java/util/prefs/NodeChangeEvent.h27
-rw-r--r--libjava/java/util/prefs/NodeChangeListener.h20
-rw-r--r--libjava/java/util/prefs/PreferenceChangeEvent.h29
-rw-r--r--libjava/java/util/prefs/PreferenceChangeListener.h19
-rw-r--r--libjava/java/util/prefs/Preferences$1.h22
-rw-r--r--libjava/java/util/prefs/Preferences.h85
-rw-r--r--libjava/java/util/prefs/PreferencesFactory.h20
-rw-r--r--libjava/java/util/regex/MatchResult.h25
-rw-r--r--libjava/java/util/regex/Matcher.h80
-rw-r--r--libjava/java/util/regex/Pattern.h63
-rw-r--r--libjava/java/util/regex/PatternSyntaxException.h29
-rw-r--r--libjava/java/util/spi/CurrencyNameProvider.h21
-rw-r--r--libjava/java/util/spi/LocaleNameProvider.h23
-rw-r--r--libjava/java/util/spi/LocaleServiceProvider.h23
-rw-r--r--libjava/java/util/spi/TimeZoneNameProvider.h21
-rw-r--r--libjava/java/util/zip/Adler32.h30
-rw-r--r--libjava/java/util/zip/CRC32.h33
-rw-r--r--libjava/java/util/zip/CheckedInputStream.h28
-rw-r--r--libjava/java/util/zip/CheckedOutputStream.h27
-rw-r--r--libjava/java/util/zip/Checksum.h24
-rw-r--r--libjava/java/util/zip/DataFormatException.h23
-rw-r--r--libjava/java/util/zip/Deflater.h76
-rw-r--r--libjava/java/util/zip/Deflater.java354
-rw-r--r--libjava/java/util/zip/DeflaterOutputStream.h34
-rw-r--r--libjava/java/util/zip/GZIPInputStream.h41
-rw-r--r--libjava/java/util/zip/GZIPOutputStream.h28
-rw-r--r--libjava/java/util/zip/Inflater.h58
-rw-r--r--libjava/java/util/zip/Inflater.java269
-rw-r--r--libjava/java/util/zip/InflaterInputStream.h41
-rw-r--r--libjava/java/util/zip/ZipConstants.h58
-rw-r--r--libjava/java/util/zip/ZipEntry.h72
-rw-r--r--libjava/java/util/zip/ZipException.h23
-rw-r--r--libjava/java/util/zip/ZipFile$1.h26
-rw-r--r--libjava/java/util/zip/ZipFile$PartialInputStream.h66
-rw-r--r--libjava/java/util/zip/ZipFile$ZipEntryEnumeration.h25
-rw-r--r--libjava/java/util/zip/ZipFile.h49
-rw-r--r--libjava/java/util/zip/ZipInputStream.h50
-rw-r--r--libjava/java/util/zip/ZipOutputStream.h47
-rw-r--r--libjava/java/util/zip/natDeflater.cc216
-rw-r--r--libjava/java/util/zip/natInflater.cc214
480 files changed, 21094 insertions, 0 deletions
diff --git a/libjava/java/util/AbstractCollection.h b/libjava/java/util/AbstractCollection.h
new file mode 100644
index 000000000..15d129d1c
--- /dev/null
+++ b/libjava/java/util/AbstractCollection.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_AbstractCollection__
+#define __java_util_AbstractCollection__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::AbstractCollection : public ::java::lang::Object
+{
+
+public: // actually protected
+ AbstractCollection();
+public:
+ virtual ::java::util::Iterator * iterator() = 0;
+ virtual jint size() = 0;
+ virtual jboolean add(::java::lang::Object *);
+ virtual jboolean addAll(::java::util::Collection *);
+ virtual void clear();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jboolean containsAll(::java::util::Collection *);
+ virtual jboolean isEmpty();
+ virtual jboolean remove(::java::lang::Object *);
+ virtual jboolean removeAll(::java::util::Collection *);
+public: // actually package-private
+ virtual jboolean removeAllInternal(::java::util::Collection *);
+public:
+ virtual jboolean retainAll(::java::util::Collection *);
+public: // actually package-private
+ virtual jboolean retainAllInternal(::java::util::Collection *);
+public:
+ virtual JArray< ::java::lang::Object * > * toArray();
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
+ virtual ::java::lang::String * toString();
+public: // actually package-private
+ static jboolean equals(::java::lang::Object *, ::java::lang::Object *);
+ static jint hashCode(::java::lang::Object *);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_AbstractCollection__
diff --git a/libjava/java/util/AbstractList$1.h b/libjava/java/util/AbstractList$1.h
new file mode 100644
index 000000000..d7aaf2d08
--- /dev/null
+++ b/libjava/java/util/AbstractList$1.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_AbstractList$1__
+#define __java_util_AbstractList$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::AbstractList$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ AbstractList$1(::java::util::AbstractList$SubList *, jint);
+public:
+ virtual jboolean hasNext();
+ virtual jboolean hasPrevious();
+ virtual ::java::lang::Object * next();
+ virtual ::java::lang::Object * previous();
+ virtual jint nextIndex();
+ virtual jint previousIndex();
+ virtual void remove();
+ virtual void set(::java::lang::Object *);
+ virtual void add(::java::lang::Object *);
+private:
+ ::java::util::ListIterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) i;
+ jint position;
+public: // actually package-private
+ ::java::util::AbstractList$SubList * this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_AbstractList$1__
diff --git a/libjava/java/util/AbstractList$2.h b/libjava/java/util/AbstractList$2.h
new file mode 100644
index 000000000..eb15682f3
--- /dev/null
+++ b/libjava/java/util/AbstractList$2.h
@@ -0,0 +1,33 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_AbstractList$2__
+#define __java_util_AbstractList$2__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::AbstractList$2 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ AbstractList$2(::java::util::AbstractList *);
+private:
+ void checkMod();
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Object * next();
+ virtual void remove();
+private:
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) pos;
+ jint size;
+ jint last;
+ jint knownMod;
+public: // actually package-private
+ ::java::util::AbstractList * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_AbstractList$2__
diff --git a/libjava/java/util/AbstractList$3.h b/libjava/java/util/AbstractList$3.h
new file mode 100644
index 000000000..8c3254167
--- /dev/null
+++ b/libjava/java/util/AbstractList$3.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_AbstractList$3__
+#define __java_util_AbstractList$3__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::AbstractList$3 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ AbstractList$3(::java::util::AbstractList *, jint);
+private:
+ void checkMod();
+public:
+ virtual jboolean hasNext();
+ virtual jboolean hasPrevious();
+ virtual ::java::lang::Object * next();
+ virtual ::java::lang::Object * previous();
+ virtual jint nextIndex();
+ virtual jint previousIndex();
+ virtual void remove();
+ virtual void set(::java::lang::Object *);
+ virtual void add(::java::lang::Object *);
+private:
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) knownMod;
+ jint position;
+ jint lastReturned;
+ jint size;
+public: // actually package-private
+ ::java::util::AbstractList * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_AbstractList$3__
diff --git a/libjava/java/util/AbstractList$RandomAccessSubList.h b/libjava/java/util/AbstractList$RandomAccessSubList.h
new file mode 100644
index 000000000..49b23bc39
--- /dev/null
+++ b/libjava/java/util/AbstractList$RandomAccessSubList.h
@@ -0,0 +1,20 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_AbstractList$RandomAccessSubList__
+#define __java_util_AbstractList$RandomAccessSubList__
+
+#pragma interface
+
+#include <java/util/AbstractList$SubList.h>
+
+class java::util::AbstractList$RandomAccessSubList : public ::java::util::AbstractList$SubList
+{
+
+public: // actually package-private
+ AbstractList$RandomAccessSubList(::java::util::AbstractList *, jint, jint);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_AbstractList$RandomAccessSubList__
diff --git a/libjava/java/util/AbstractList$SubList.h b/libjava/java/util/AbstractList$SubList.h
new file mode 100644
index 000000000..e258ed4df
--- /dev/null
+++ b/libjava/java/util/AbstractList$SubList.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_AbstractList$SubList__
+#define __java_util_AbstractList$SubList__
+
+#pragma interface
+
+#include <java/util/AbstractList.h>
+
+class java::util::AbstractList$SubList : public ::java::util::AbstractList
+{
+
+public: // actually package-private
+ AbstractList$SubList(::java::util::AbstractList *, jint, jint);
+ virtual void checkMod();
+private:
+ void checkBoundsInclusive(jint);
+ void checkBoundsExclusive(jint);
+public:
+ virtual jint size();
+ virtual ::java::lang::Object * set(jint, ::java::lang::Object *);
+ virtual ::java::lang::Object * get(jint);
+ virtual void add(jint, ::java::lang::Object *);
+ virtual ::java::lang::Object * remove(jint);
+public: // actually protected
+ virtual void removeRange(jint, jint);
+public:
+ virtual jboolean addAll(jint, ::java::util::Collection *);
+ virtual jboolean addAll(::java::util::Collection *);
+ virtual ::java::util::Iterator * iterator();
+ virtual ::java::util::ListIterator * listIterator(jint);
+public: // actually package-private
+ ::java::util::AbstractList * __attribute__((aligned(__alignof__( ::java::util::AbstractList)))) backingList;
+ jint offset;
+ jint size__;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_AbstractList$SubList__
diff --git a/libjava/java/util/AbstractList.h b/libjava/java/util/AbstractList.h
new file mode 100644
index 000000000..ace35d68d
--- /dev/null
+++ b/libjava/java/util/AbstractList.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_AbstractList__
+#define __java_util_AbstractList__
+
+#pragma interface
+
+#include <java/util/AbstractCollection.h>
+
+class java::util::AbstractList : public ::java::util::AbstractCollection
+{
+
+public: // actually protected
+ AbstractList();
+public:
+ virtual ::java::lang::Object * get(jint) = 0;
+ virtual void add(jint, ::java::lang::Object *);
+ virtual jboolean add(::java::lang::Object *);
+ virtual jboolean addAll(jint, ::java::util::Collection *);
+ virtual void clear();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual jint hashCode();
+ virtual jint indexOf(::java::lang::Object *);
+ virtual ::java::util::Iterator * iterator();
+ virtual jint lastIndexOf(::java::lang::Object *);
+ virtual ::java::util::ListIterator * listIterator();
+ virtual ::java::util::ListIterator * listIterator(jint);
+ virtual ::java::lang::Object * remove(jint);
+public: // actually protected
+ virtual void removeRange(jint, jint);
+public:
+ virtual ::java::lang::Object * set(jint, ::java::lang::Object *);
+ virtual ::java::util::List * subList(jint, jint);
+public: // actually protected
+ jint __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) modCount;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_AbstractList__
diff --git a/libjava/java/util/AbstractMap$1.h b/libjava/java/util/AbstractMap$1.h
new file mode 100644
index 000000000..4df6b0ce6
--- /dev/null
+++ b/libjava/java/util/AbstractMap$1.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_AbstractMap$1__
+#define __java_util_AbstractMap$1__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+
+class java::util::AbstractMap$1 : public ::java::util::AbstractSet
+{
+
+public: // actually package-private
+ AbstractMap$1(::java::util::AbstractMap *);
+public:
+ virtual jint size();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual ::java::util::Iterator * iterator();
+public: // actually package-private
+ static ::java::util::AbstractMap * access$0(::java::util::AbstractMap$1 *);
+ ::java::util::AbstractMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_AbstractMap$1__
diff --git a/libjava/java/util/AbstractMap$2.h b/libjava/java/util/AbstractMap$2.h
new file mode 100644
index 000000000..d1e110698
--- /dev/null
+++ b/libjava/java/util/AbstractMap$2.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_AbstractMap$2__
+#define __java_util_AbstractMap$2__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::AbstractMap$2 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ AbstractMap$2(::java::util::AbstractMap$1 *);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Object * next();
+ virtual void remove();
+private:
+ ::java::util::Iterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) map_iterator;
+public: // actually package-private
+ ::java::util::AbstractMap$1 * this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_AbstractMap$2__
diff --git a/libjava/java/util/AbstractMap$3.h b/libjava/java/util/AbstractMap$3.h
new file mode 100644
index 000000000..baf7a313a
--- /dev/null
+++ b/libjava/java/util/AbstractMap$3.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_AbstractMap$3__
+#define __java_util_AbstractMap$3__
+
+#pragma interface
+
+#include <java/util/AbstractCollection.h>
+
+class java::util::AbstractMap$3 : public ::java::util::AbstractCollection
+{
+
+public: // actually package-private
+ AbstractMap$3(::java::util::AbstractMap *);
+public:
+ virtual jint size();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual ::java::util::Iterator * iterator();
+public: // actually package-private
+ static ::java::util::AbstractMap * access$0(::java::util::AbstractMap$3 *);
+ ::java::util::AbstractMap * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_AbstractMap$3__
diff --git a/libjava/java/util/AbstractMap$4.h b/libjava/java/util/AbstractMap$4.h
new file mode 100644
index 000000000..9ea122f68
--- /dev/null
+++ b/libjava/java/util/AbstractMap$4.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_AbstractMap$4__
+#define __java_util_AbstractMap$4__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::AbstractMap$4 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ AbstractMap$4(::java::util::AbstractMap$3 *);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Object * next();
+ virtual void remove();
+private:
+ ::java::util::Iterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) map_iterator;
+public: // actually package-private
+ ::java::util::AbstractMap$3 * this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_AbstractMap$4__
diff --git a/libjava/java/util/AbstractMap$SimpleEntry.h b/libjava/java/util/AbstractMap$SimpleEntry.h
new file mode 100644
index 000000000..581205048
--- /dev/null
+++ b/libjava/java/util/AbstractMap$SimpleEntry.h
@@ -0,0 +1,32 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_AbstractMap$SimpleEntry__
+#define __java_util_AbstractMap$SimpleEntry__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::AbstractMap$SimpleEntry : public ::java::lang::Object
+{
+
+public:
+ AbstractMap$SimpleEntry(::java::lang::Object *, ::java::lang::Object *);
+ AbstractMap$SimpleEntry(::java::util::Map$Entry *);
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::Object * getKey();
+ virtual ::java::lang::Object * getValue();
+ virtual jint hashCode();
+ virtual ::java::lang::Object * setValue(::java::lang::Object *);
+ virtual ::java::lang::String * toString();
+private:
+ static const jlong serialVersionUID = -8499721149061103585LL;
+public: // actually package-private
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key;
+ ::java::lang::Object * value;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_AbstractMap$SimpleEntry__
diff --git a/libjava/java/util/AbstractMap$SimpleImmutableEntry.h b/libjava/java/util/AbstractMap$SimpleImmutableEntry.h
new file mode 100644
index 000000000..f979f8a0c
--- /dev/null
+++ b/libjava/java/util/AbstractMap$SimpleImmutableEntry.h
@@ -0,0 +1,29 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_AbstractMap$SimpleImmutableEntry__
+#define __java_util_AbstractMap$SimpleImmutableEntry__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::AbstractMap$SimpleImmutableEntry : public ::java::lang::Object
+{
+
+public:
+ AbstractMap$SimpleImmutableEntry(::java::lang::Object *, ::java::lang::Object *);
+ AbstractMap$SimpleImmutableEntry(::java::util::Map$Entry *);
+ virtual ::java::lang::Object * getKey();
+ virtual ::java::lang::Object * getValue();
+ virtual ::java::lang::Object * setValue(::java::lang::Object *);
+private:
+ static const jlong serialVersionUID = 7138329143949025153LL;
+public: // actually package-private
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key;
+ ::java::lang::Object * value;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_AbstractMap$SimpleImmutableEntry__
diff --git a/libjava/java/util/AbstractMap.h b/libjava/java/util/AbstractMap.h
new file mode 100644
index 000000000..fba927661
--- /dev/null
+++ b/libjava/java/util/AbstractMap.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_AbstractMap__
+#define __java_util_AbstractMap__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::AbstractMap : public ::java::lang::Object
+{
+
+public: // actually protected
+ AbstractMap();
+public:
+ virtual ::java::util::Set * entrySet() = 0;
+ virtual void clear();
+public: // actually protected
+ virtual ::java::lang::Object * clone();
+public:
+ virtual jboolean containsKey(::java::lang::Object *);
+ virtual jboolean containsValue(::java::lang::Object *);
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::Object * get(::java::lang::Object *);
+ virtual jint hashCode();
+ virtual jboolean isEmpty();
+ virtual ::java::util::Set * keySet();
+ virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *);
+ virtual void putAll(::java::util::Map *);
+ virtual ::java::lang::Object * remove(::java::lang::Object *);
+ virtual jint size();
+ virtual ::java::lang::String * toString();
+ virtual ::java::util::Collection * values();
+public: // actually package-private
+ static jboolean equals(::java::lang::Object *, ::java::lang::Object *);
+ static jint hashCode(::java::lang::Object *);
+ static const jint KEYS = 0;
+ static const jint VALUES = 1;
+ static const jint ENTRIES = 2;
+ ::java::util::Set * __attribute__((aligned(__alignof__( ::java::lang::Object)))) keys;
+ ::java::util::Collection * values__;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_AbstractMap__
diff --git a/libjava/java/util/AbstractQueue.h b/libjava/java/util/AbstractQueue.h
new file mode 100644
index 000000000..f194c25d6
--- /dev/null
+++ b/libjava/java/util/AbstractQueue.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_AbstractQueue__
+#define __java_util_AbstractQueue__
+
+#pragma interface
+
+#include <java/util/AbstractCollection.h>
+
+class java::util::AbstractQueue : public ::java::util::AbstractCollection
+{
+
+public: // actually protected
+ AbstractQueue();
+public:
+ virtual jboolean add(::java::lang::Object *);
+ virtual ::java::lang::Object * remove();
+ virtual ::java::lang::Object * element();
+ virtual void clear();
+ virtual jboolean addAll(::java::util::Collection *);
+ virtual jboolean offer(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * poll() = 0;
+ virtual ::java::lang::Object * peek() = 0;
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_AbstractQueue__
diff --git a/libjava/java/util/AbstractSequentialList.h b/libjava/java/util/AbstractSequentialList.h
new file mode 100644
index 000000000..7763024e5
--- /dev/null
+++ b/libjava/java/util/AbstractSequentialList.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_AbstractSequentialList__
+#define __java_util_AbstractSequentialList__
+
+#pragma interface
+
+#include <java/util/AbstractList.h>
+
+class java::util::AbstractSequentialList : public ::java::util::AbstractList
+{
+
+public: // actually protected
+ AbstractSequentialList();
+public:
+ virtual ::java::util::ListIterator * listIterator(jint) = 0;
+ virtual void add(jint, ::java::lang::Object *);
+ virtual jboolean addAll(jint, ::java::util::Collection *);
+ virtual ::java::lang::Object * get(jint);
+ virtual ::java::util::Iterator * iterator();
+ virtual ::java::lang::Object * remove(jint);
+ virtual ::java::lang::Object * set(jint, ::java::lang::Object *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_AbstractSequentialList__
diff --git a/libjava/java/util/AbstractSet.h b/libjava/java/util/AbstractSet.h
new file mode 100644
index 000000000..b3ec39939
--- /dev/null
+++ b/libjava/java/util/AbstractSet.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_AbstractSet__
+#define __java_util_AbstractSet__
+
+#pragma interface
+
+#include <java/util/AbstractCollection.h>
+
+class java::util::AbstractSet : public ::java::util::AbstractCollection
+{
+
+public: // actually protected
+ AbstractSet();
+public:
+ virtual jboolean equals(::java::lang::Object *);
+ virtual jint hashCode();
+ virtual jboolean removeAll(::java::util::Collection *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_AbstractSet__
diff --git a/libjava/java/util/ArrayDeque$DeqIterator.h b/libjava/java/util/ArrayDeque$DeqIterator.h
new file mode 100644
index 000000000..bbe30bc53
--- /dev/null
+++ b/libjava/java/util/ArrayDeque$DeqIterator.h
@@ -0,0 +1,31 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_ArrayDeque$DeqIterator__
+#define __java_util_ArrayDeque$DeqIterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::ArrayDeque$DeqIterator : public ::java::lang::Object
+{
+
+ ArrayDeque$DeqIterator(::java::util::ArrayDeque *);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Object * next();
+ virtual void remove();
+public: // actually package-private
+ ArrayDeque$DeqIterator(::java::util::ArrayDeque *, ::java::util::ArrayDeque$DeqIterator *);
+private:
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) cursor;
+ jint fence;
+ jint lastRet;
+public: // actually package-private
+ ::java::util::ArrayDeque * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_ArrayDeque$DeqIterator__
diff --git a/libjava/java/util/ArrayDeque$DescendingIterator.h b/libjava/java/util/ArrayDeque$DescendingIterator.h
new file mode 100644
index 000000000..ee72fd7b6
--- /dev/null
+++ b/libjava/java/util/ArrayDeque$DescendingIterator.h
@@ -0,0 +1,31 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_ArrayDeque$DescendingIterator__
+#define __java_util_ArrayDeque$DescendingIterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::ArrayDeque$DescendingIterator : public ::java::lang::Object
+{
+
+ ArrayDeque$DescendingIterator(::java::util::ArrayDeque *);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Object * next();
+ virtual void remove();
+public: // actually package-private
+ ArrayDeque$DescendingIterator(::java::util::ArrayDeque *, ::java::util::ArrayDeque$DescendingIterator *);
+private:
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) cursor;
+ jint fence;
+ jint lastRet;
+public: // actually package-private
+ ::java::util::ArrayDeque * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_ArrayDeque$DescendingIterator__
diff --git a/libjava/java/util/ArrayDeque.h b/libjava/java/util/ArrayDeque.h
new file mode 100644
index 000000000..d1ac9e514
--- /dev/null
+++ b/libjava/java/util/ArrayDeque.h
@@ -0,0 +1,81 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_ArrayDeque__
+#define __java_util_ArrayDeque__
+
+#pragma interface
+
+#include <java/util/AbstractCollection.h>
+#include <gcj/array.h>
+
+
+class java::util::ArrayDeque : public ::java::util::AbstractCollection
+{
+
+ void allocateElements(jint);
+ void doubleCapacity();
+ JArray< ::java::lang::Object * > * copyElements(JArray< ::java::lang::Object * > *);
+public:
+ ArrayDeque();
+ ArrayDeque(jint);
+ ArrayDeque(::java::util::Collection *);
+ virtual void addFirst(::java::lang::Object *);
+ virtual void addLast(::java::lang::Object *);
+ virtual jboolean offerFirst(::java::lang::Object *);
+ virtual jboolean offerLast(::java::lang::Object *);
+ virtual ::java::lang::Object * removeFirst();
+ virtual ::java::lang::Object * removeLast();
+ virtual ::java::lang::Object * pollFirst();
+ virtual ::java::lang::Object * pollLast();
+ virtual ::java::lang::Object * getFirst();
+ virtual ::java::lang::Object * getLast();
+ virtual ::java::lang::Object * peekFirst();
+ virtual ::java::lang::Object * peekLast();
+ virtual jboolean removeFirstOccurrence(::java::lang::Object *);
+ virtual jboolean removeLastOccurrence(::java::lang::Object *);
+ virtual jboolean add(::java::lang::Object *);
+ virtual jboolean offer(::java::lang::Object *);
+ virtual ::java::lang::Object * remove();
+ virtual ::java::lang::Object * poll();
+ virtual ::java::lang::Object * element();
+ virtual ::java::lang::Object * peek();
+ virtual void push(::java::lang::Object *);
+ virtual ::java::lang::Object * pop();
+private:
+ void checkInvariants();
+ jboolean delete$(jint);
+public:
+ virtual jint size();
+ virtual jboolean isEmpty();
+ virtual ::java::util::Iterator * iterator();
+ virtual ::java::util::Iterator * descendingIterator();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jboolean remove(::java::lang::Object *);
+ virtual void clear();
+ virtual JArray< ::java::lang::Object * > * toArray();
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
+ virtual ::java::util::ArrayDeque * ArrayDeque$clone();
+private:
+ void writeObject(::java::io::ObjectOutputStream *);
+ void readObject(::java::io::ObjectInputStream *);
+public:
+ virtual ::java::lang::Object * clone();
+public: // actually package-private
+ static jint access$1(::java::util::ArrayDeque *);
+ static jint access$2(::java::util::ArrayDeque *);
+ static JArray< ::java::lang::Object * > * access$3(::java::util::ArrayDeque *);
+ static jboolean access$4(::java::util::ArrayDeque *, jint);
+private:
+ JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) elements;
+ jint head;
+ jint tail;
+ static const jint MIN_INITIAL_CAPACITY = 8;
+ static const jlong serialVersionUID = 2340985798034038923LL;
+public: // actually package-private
+ static jboolean $assertionsDisabled;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_ArrayDeque__
diff --git a/libjava/java/util/ArrayList.h b/libjava/java/util/ArrayList.h
new file mode 100644
index 000000000..4bbdb1ae0
--- /dev/null
+++ b/libjava/java/util/ArrayList.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_ArrayList__
+#define __java_util_ArrayList__
+
+#pragma interface
+
+#include <java/util/AbstractList.h>
+#include <gcj/array.h>
+
+
+class java::util::ArrayList : public ::java::util::AbstractList
+{
+
+public:
+ ArrayList(jint);
+ ArrayList();
+ ArrayList(::java::util::Collection *);
+ virtual void trimToSize();
+ virtual void ensureCapacity(jint);
+ virtual jint size();
+ virtual jboolean isEmpty();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jint indexOf(::java::lang::Object *);
+ virtual jint lastIndexOf(::java::lang::Object *);
+ virtual ::java::lang::Object * clone();
+ virtual JArray< ::java::lang::Object * > * toArray();
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
+ virtual ::java::lang::Object * get(jint);
+ virtual ::java::lang::Object * set(jint, ::java::lang::Object *);
+ virtual jboolean add(::java::lang::Object *);
+ virtual void add(jint, ::java::lang::Object *);
+ virtual ::java::lang::Object * remove(jint);
+ virtual void clear();
+ virtual jboolean addAll(::java::util::Collection *);
+ virtual jboolean addAll(jint, ::java::util::Collection *);
+public: // actually protected
+ virtual void removeRange(jint, jint);
+private:
+ void checkBoundInclusive(jint);
+ void checkBoundExclusive(jint);
+ void raiseBoundsError(jint);
+public: // actually package-private
+ virtual jboolean removeAllInternal(::java::util::Collection *);
+ virtual jboolean retainAllInternal(::java::util::Collection *);
+private:
+ void writeObject(::java::io::ObjectOutputStream *);
+ void readObject(::java::io::ObjectInputStream *);
+ static const jlong serialVersionUID = 8683452581122892189LL;
+ static const jint DEFAULT_CAPACITY = 10;
+ jint __attribute__((aligned(__alignof__( ::java::util::AbstractList)))) size__;
+ JArray< ::java::lang::Object * > * data;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_ArrayList__
diff --git a/libjava/java/util/Arrays$ArrayList.h b/libjava/java/util/Arrays$ArrayList.h
new file mode 100644
index 000000000..3fe968639
--- /dev/null
+++ b/libjava/java/util/Arrays$ArrayList.h
@@ -0,0 +1,34 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Arrays$ArrayList__
+#define __java_util_Arrays$ArrayList__
+
+#pragma interface
+
+#include <java/util/AbstractList.h>
+#include <gcj/array.h>
+
+
+class java::util::Arrays$ArrayList : public ::java::util::AbstractList
+{
+
+public: // actually package-private
+ Arrays$ArrayList(JArray< ::java::lang::Object * > *);
+public:
+ ::java::lang::Object * get(jint);
+ jint size();
+ ::java::lang::Object * set(jint, ::java::lang::Object *);
+ jboolean contains(::java::lang::Object *);
+ jint indexOf(::java::lang::Object *);
+ jint lastIndexOf(::java::lang::Object *);
+ JArray< ::java::lang::Object * > * toArray();
+ JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
+private:
+ static const jlong serialVersionUID = -2764017481108945198LL;
+ JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::util::AbstractList)))) a;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Arrays$ArrayList__
diff --git a/libjava/java/util/Arrays.h b/libjava/java/util/Arrays.h
new file mode 100644
index 000000000..8860ee35a
--- /dev/null
+++ b/libjava/java/util/Arrays.h
@@ -0,0 +1,186 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Arrays__
+#define __java_util_Arrays__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ }
+ }
+}
+
+class java::util::Arrays : public ::java::lang::Object
+{
+
+ Arrays();
+public:
+ static jint binarySearch(JArray< jbyte > *, jbyte);
+ static jint binarySearch(JArray< jbyte > *, jint, jint, jbyte);
+ static jint binarySearch(JArray< jchar > *, jchar);
+ static jint binarySearch(JArray< jchar > *, jint, jint, jchar);
+ static jint binarySearch(JArray< jshort > *, jshort);
+ static jint binarySearch(JArray< jshort > *, jint, jint, jshort);
+ static jint binarySearch(JArray< jint > *, jint);
+ static jint binarySearch(JArray< jint > *, jint, jint, jint);
+ static jint binarySearch(JArray< jlong > *, jlong);
+ static jint binarySearch(JArray< jlong > *, jint, jint, jlong);
+ static jint binarySearch(JArray< jfloat > *, jfloat);
+ static jint binarySearch(JArray< jfloat > *, jint, jint, jfloat);
+ static jint binarySearch(JArray< jdouble > *, jdouble);
+ static jint binarySearch(JArray< jdouble > *, jint, jint, jdouble);
+ static jint binarySearch(JArray< ::java::lang::Object * > *, ::java::lang::Object *);
+ static jint binarySearch(JArray< ::java::lang::Object * > *, jint, jint, ::java::lang::Object *);
+ static jint binarySearch(JArray< ::java::lang::Object * > *, ::java::lang::Object *, ::java::util::Comparator *);
+ static jint binarySearch(JArray< ::java::lang::Object * > *, jint, jint, ::java::lang::Object *, ::java::util::Comparator *);
+ static jboolean equals(JArray< jboolean > *, JArray< jboolean > *);
+ static jboolean equals(JArray< jbyte > *, JArray< jbyte > *);
+ static jboolean equals(JArray< jchar > *, JArray< jchar > *);
+ static jboolean equals(JArray< jshort > *, JArray< jshort > *);
+ static jboolean equals(JArray< jint > *, JArray< jint > *);
+ static jboolean equals(JArray< jlong > *, JArray< jlong > *);
+ static jboolean equals(JArray< jfloat > *, JArray< jfloat > *);
+ static jboolean equals(JArray< jdouble > *, JArray< jdouble > *);
+ static jboolean equals(JArray< ::java::lang::Object * > *, JArray< ::java::lang::Object * > *);
+ static void fill(JArray< jboolean > *, jboolean);
+ static void fill(JArray< jboolean > *, jint, jint, jboolean);
+ static void fill(JArray< jbyte > *, jbyte);
+ static void fill(JArray< jbyte > *, jint, jint, jbyte);
+ static void fill(JArray< jchar > *, jchar);
+ static void fill(JArray< jchar > *, jint, jint, jchar);
+ static void fill(JArray< jshort > *, jshort);
+ static void fill(JArray< jshort > *, jint, jint, jshort);
+ static void fill(JArray< jint > *, jint);
+ static void fill(JArray< jint > *, jint, jint, jint);
+ static void fill(JArray< jlong > *, jlong);
+ static void fill(JArray< jlong > *, jint, jint, jlong);
+ static void fill(JArray< jfloat > *, jfloat);
+ static void fill(JArray< jfloat > *, jint, jint, jfloat);
+ static void fill(JArray< jdouble > *, jdouble);
+ static void fill(JArray< jdouble > *, jint, jint, jdouble);
+ static void fill(JArray< ::java::lang::Object * > *, ::java::lang::Object *);
+ static void fill(JArray< ::java::lang::Object * > *, jint, jint, ::java::lang::Object *);
+ static void sort(JArray< jbyte > *);
+ static void sort(JArray< jbyte > *, jint, jint);
+private:
+ static jint med3(jint, jint, jint, JArray< jbyte > *);
+ static void swap(jint, jint, JArray< jbyte > *);
+ static void vecswap(jint, jint, jint, JArray< jbyte > *);
+ static void qsort(JArray< jbyte > *, jint, jint);
+public:
+ static void sort(JArray< jchar > *);
+ static void sort(JArray< jchar > *, jint, jint);
+private:
+ static jint med3(jint, jint, jint, JArray< jchar > *);
+ static void swap(jint, jint, JArray< jchar > *);
+ static void vecswap(jint, jint, jint, JArray< jchar > *);
+ static void qsort(JArray< jchar > *, jint, jint);
+public:
+ static void sort(JArray< jshort > *);
+ static void sort(JArray< jshort > *, jint, jint);
+private:
+ static jint med3(jint, jint, jint, JArray< jshort > *);
+ static void swap(jint, jint, JArray< jshort > *);
+ static void vecswap(jint, jint, jint, JArray< jshort > *);
+ static void qsort(JArray< jshort > *, jint, jint);
+public:
+ static void sort(JArray< jint > *);
+ static void sort(JArray< jint > *, jint, jint);
+private:
+ static jint med3(jint, jint, jint, JArray< jint > *);
+ static void swap(jint, jint, JArray< jint > *);
+ static void vecswap(jint, jint, jint, JArray< jint > *);
+ static jint compare(jint, jint);
+ static void qsort(JArray< jint > *, jint, jint);
+public:
+ static void sort(JArray< jlong > *);
+ static void sort(JArray< jlong > *, jint, jint);
+private:
+ static jint med3(jint, jint, jint, JArray< jlong > *);
+ static void swap(jint, jint, JArray< jlong > *);
+ static void vecswap(jint, jint, jint, JArray< jlong > *);
+ static jint compare(jlong, jlong);
+ static void qsort(JArray< jlong > *, jint, jint);
+public:
+ static void sort(JArray< jfloat > *);
+ static void sort(JArray< jfloat > *, jint, jint);
+private:
+ static jint med3(jint, jint, jint, JArray< jfloat > *);
+ static void swap(jint, jint, JArray< jfloat > *);
+ static void vecswap(jint, jint, jint, JArray< jfloat > *);
+ static void qsort(JArray< jfloat > *, jint, jint);
+public:
+ static void sort(JArray< jdouble > *);
+ static void sort(JArray< jdouble > *, jint, jint);
+private:
+ static jint med3(jint, jint, jint, JArray< jdouble > *);
+ static void swap(jint, jint, JArray< jdouble > *);
+ static void vecswap(jint, jint, jint, JArray< jdouble > *);
+ static void qsort(JArray< jdouble > *, jint, jint);
+public:
+ static void sort(JArray< ::java::lang::Object * > *);
+ static void sort(JArray< ::java::lang::Object * > *, ::java::util::Comparator *);
+ static void sort(JArray< ::java::lang::Object * > *, jint, jint);
+ static void sort(JArray< ::java::lang::Object * > *, jint, jint, ::java::util::Comparator *);
+ static ::java::util::List * asList(JArray< ::java::lang::Object * > *);
+ static jint hashCode(JArray< jlong > *);
+ static jint hashCode(JArray< jint > *);
+ static jint hashCode(JArray< jshort > *);
+ static jint hashCode(JArray< jchar > *);
+ static jint hashCode(JArray< jbyte > *);
+ static jint hashCode(JArray< jboolean > *);
+ static jint hashCode(JArray< jfloat > *);
+ static jint hashCode(JArray< jdouble > *);
+ static jint hashCode(JArray< ::java::lang::Object * > *);
+ static jint deepHashCode(JArray< ::java::lang::Object * > *);
+ static jboolean deepEquals(JArray< ::java::lang::Object * > *, JArray< ::java::lang::Object * > *);
+ static ::java::lang::String * toString(JArray< jboolean > *);
+ static ::java::lang::String * toString(JArray< jbyte > *);
+ static ::java::lang::String * toString(JArray< jchar > *);
+ static ::java::lang::String * toString(JArray< jshort > *);
+ static ::java::lang::String * toString(JArray< jint > *);
+ static ::java::lang::String * toString(JArray< jlong > *);
+ static ::java::lang::String * toString(JArray< jfloat > *);
+ static ::java::lang::String * toString(JArray< jdouble > *);
+ static ::java::lang::String * toString(JArray< ::java::lang::Object * > *);
+private:
+ static void deepToString(JArray< ::java::lang::Object * > *, ::gnu::java::lang::CPStringBuilder *, ::java::util::HashSet *);
+public:
+ static ::java::lang::String * deepToString(JArray< ::java::lang::Object * > *);
+ static JArray< jboolean > * copyOf(JArray< jboolean > *, jint);
+ static JArray< jboolean > * copyOfRange(JArray< jboolean > *, jint, jint);
+ static JArray< jbyte > * copyOf(JArray< jbyte > *, jint);
+ static JArray< jbyte > * copyOfRange(JArray< jbyte > *, jint, jint);
+ static JArray< jchar > * copyOf(JArray< jchar > *, jint);
+ static JArray< jchar > * copyOfRange(JArray< jchar > *, jint, jint);
+ static JArray< jdouble > * copyOf(JArray< jdouble > *, jint);
+ static JArray< jdouble > * copyOfRange(JArray< jdouble > *, jint, jint);
+ static JArray< jfloat > * copyOf(JArray< jfloat > *, jint);
+ static JArray< jfloat > * copyOfRange(JArray< jfloat > *, jint, jint);
+ static JArray< jint > * copyOf(JArray< jint > *, jint);
+ static JArray< jint > * copyOfRange(JArray< jint > *, jint, jint);
+ static JArray< jlong > * copyOf(JArray< jlong > *, jint);
+ static JArray< jlong > * copyOfRange(JArray< jlong > *, jint, jint);
+ static JArray< jshort > * copyOf(JArray< jshort > *, jint);
+ static JArray< jshort > * copyOfRange(JArray< jshort > *, jint, jint);
+ static JArray< ::java::lang::Object * > * copyOf(JArray< ::java::lang::Object * > *, jint);
+ static JArray< ::java::lang::Object * > * copyOfRange(JArray< ::java::lang::Object * > *, jint, jint);
+ static JArray< ::java::lang::Object * > * copyOf(JArray< ::java::lang::Object * > *, jint, ::java::lang::Class *);
+ static JArray< ::java::lang::Object * > * copyOfRange(JArray< ::java::lang::Object * > *, jint, jint, ::java::lang::Class *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Arrays__
diff --git a/libjava/java/util/BitSet.h b/libjava/java/util/BitSet.h
new file mode 100644
index 000000000..1470ca0b2
--- /dev/null
+++ b/libjava/java/util/BitSet.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_BitSet__
+#define __java_util_BitSet__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::BitSet : public ::java::lang::Object
+{
+
+public:
+ BitSet();
+ BitSet(jint);
+ virtual void and$(::java::util::BitSet *);
+ virtual void andNot(::java::util::BitSet *);
+ virtual jint cardinality();
+ virtual void clear();
+ virtual void clear(jint);
+ virtual void clear(jint, jint);
+ virtual ::java::lang::Object * clone();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual void flip(jint);
+ virtual void flip(jint, jint);
+ virtual jboolean get(jint);
+ virtual ::java::util::BitSet * get(jint, jint);
+ virtual jint hashCode();
+ virtual jboolean intersects(::java::util::BitSet *);
+ virtual jboolean isEmpty();
+ virtual jint length();
+ virtual jint nextClearBit(jint);
+ virtual jint nextSetBit(jint);
+ virtual void or$(::java::util::BitSet *);
+ virtual void set(jint);
+ virtual void set(jint, jboolean);
+ virtual void set(jint, jint);
+ virtual void set(jint, jint, jboolean);
+ virtual jint size();
+ virtual ::java::lang::String * toString();
+ virtual void xor$(::java::util::BitSet *);
+private:
+ void ensure(jint);
+public: // actually package-private
+ virtual jboolean containsAll(::java::util::BitSet *);
+private:
+ static const jlong serialVersionUID = 7997698588986878753LL;
+ static const jint LONG_MASK = 63;
+ JArray< jlong > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) bits;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_BitSet__
diff --git a/libjava/java/util/Calendar.h b/libjava/java/util/Calendar.h
new file mode 100644
index 000000000..9abfba539
--- /dev/null
+++ b/libjava/java/util/Calendar.h
@@ -0,0 +1,149 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Calendar__
+#define __java_util_Calendar__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::Calendar : public ::java::lang::Object
+{
+
+ static ::java::util::ResourceBundle * getBundle(::java::util::Locale *);
+public: // actually protected
+ Calendar();
+ Calendar(::java::util::TimeZone *, ::java::util::Locale *);
+public:
+ static ::java::util::Calendar * getInstance();
+ static ::java::util::Calendar * getInstance(::java::util::TimeZone *);
+ static ::java::util::Calendar * getInstance(::java::util::Locale *);
+ static ::java::util::Calendar * getInstance(::java::util::TimeZone *, ::java::util::Locale *);
+ static JArray< ::java::util::Locale * > * getAvailableLocales();
+public: // actually protected
+ virtual void computeTime() = 0;
+ virtual void computeFields() = 0;
+public:
+ virtual ::java::util::Date * getTime();
+ virtual void setTime(::java::util::Date *);
+ virtual jlong getTimeInMillis();
+ virtual void setTimeInMillis(jlong);
+ virtual jint get(jint);
+public: // actually protected
+ virtual jint internalGet(jint);
+public:
+ virtual void set(jint, jint);
+ virtual void set(jint, jint, jint);
+ virtual void set(jint, jint, jint, jint, jint);
+ virtual void set(jint, jint, jint, jint, jint, jint);
+ virtual void clear();
+ virtual void clear(jint);
+ virtual jboolean isSet(jint);
+public: // actually protected
+ virtual void complete();
+public:
+ virtual jboolean equals(::java::lang::Object *);
+ virtual jint hashCode();
+ virtual jboolean before(::java::lang::Object *);
+ virtual jboolean after(::java::lang::Object *);
+ virtual void add(jint, jint) = 0;
+ virtual void roll(jint, jboolean) = 0;
+ virtual void roll(jint, jint);
+ virtual void setTimeZone(::java::util::TimeZone *);
+ virtual ::java::util::TimeZone * getTimeZone();
+ virtual void setLenient(jboolean);
+ virtual jboolean isLenient();
+ virtual void setFirstDayOfWeek(jint);
+ virtual jint getFirstDayOfWeek();
+ virtual void setMinimalDaysInFirstWeek(jint);
+ virtual jint getMinimalDaysInFirstWeek();
+ virtual jint getMinimum(jint) = 0;
+ virtual jint getMaximum(jint) = 0;
+ virtual jint getGreatestMinimum(jint) = 0;
+ virtual jint getLeastMaximum(jint) = 0;
+ virtual jint getActualMinimum(jint);
+ virtual jint getActualMaximum(jint);
+ virtual jint Calendar$compareTo(::java::util::Calendar *);
+ virtual ::java::lang::Object * clone();
+ virtual ::java::lang::String * toString();
+private:
+ void writeObject(::java::io::ObjectOutputStream *);
+ void readObject(::java::io::ObjectInputStream *);
+public:
+ virtual ::java::lang::String * getDisplayName(jint, jint, ::java::util::Locale *);
+ virtual ::java::util::Map * getDisplayNames(jint, jint, ::java::util::Locale *);
+ virtual jint compareTo(::java::lang::Object *);
+ static const jint ERA = 0;
+ static const jint YEAR = 1;
+ static const jint MONTH = 2;
+ static const jint WEEK_OF_YEAR = 3;
+ static const jint WEEK_OF_MONTH = 4;
+ static const jint DATE = 5;
+ static const jint DAY_OF_MONTH = 5;
+ static const jint DAY_OF_YEAR = 6;
+ static const jint DAY_OF_WEEK = 7;
+ static const jint DAY_OF_WEEK_IN_MONTH = 8;
+ static const jint AM_PM = 9;
+ static const jint HOUR = 10;
+ static const jint HOUR_OF_DAY = 11;
+ static const jint MINUTE = 12;
+ static const jint SECOND = 13;
+ static const jint MILLISECOND = 14;
+ static const jint ZONE_OFFSET = 15;
+ static const jint DST_OFFSET = 16;
+ static const jint FIELD_COUNT = 17;
+ static const jint SUNDAY = 1;
+ static const jint MONDAY = 2;
+ static const jint TUESDAY = 3;
+ static const jint WEDNESDAY = 4;
+ static const jint THURSDAY = 5;
+ static const jint FRIDAY = 6;
+ static const jint SATURDAY = 7;
+ static const jint JANUARY = 0;
+ static const jint FEBRUARY = 1;
+ static const jint MARCH = 2;
+ static const jint APRIL = 3;
+ static const jint MAY = 4;
+ static const jint JUNE = 5;
+ static const jint JULY = 6;
+ static const jint AUGUST = 7;
+ static const jint SEPTEMBER = 8;
+ static const jint OCTOBER = 9;
+ static const jint NOVEMBER = 10;
+ static const jint DECEMBER = 11;
+ static const jint UNDECIMBER = 12;
+ static const jint AM = 0;
+ static const jint PM = 1;
+ static const jint ALL_STYLES = 0;
+ static const jint SHORT = 1;
+ static const jint LONG = 2;
+public: // actually protected
+ JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) fields;
+ JArray< jboolean > * isSet__;
+ jlong time;
+ jboolean isTimeSet;
+ jboolean areFieldsSet;
+private:
+ ::java::util::TimeZone * zone;
+ static ::java::lang::String * calendarClassName;
+ jboolean lenient;
+ jint firstDayOfWeek;
+ jint minimalDaysInFirstWeek;
+ jboolean explicitDSTOffset;
+ jint serialVersionOnStream;
+public: // actually package-private
+ static const jlong serialVersionUID = -1807547505821590642LL;
+private:
+ static ::java::lang::String * bundleName;
+ static ::java::util::Properties * properties;
+ static ::java::util::HashMap * cache;
+ static JArray< ::java::lang::Class * > * ctorArgTypes;
+ static JArray< ::java::lang::String * > * fieldNames;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Calendar__
diff --git a/libjava/java/util/Collection.h b/libjava/java/util/Collection.h
new file mode 100644
index 000000000..afeb7ffee
--- /dev/null
+++ b/libjava/java/util/Collection.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collection__
+#define __java_util_Collection__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::Collection : public ::java::lang::Object
+{
+
+public:
+ virtual jboolean add(::java::lang::Object *) = 0;
+ virtual jboolean addAll(::java::util::Collection *) = 0;
+ virtual void clear() = 0;
+ virtual jboolean contains(::java::lang::Object *) = 0;
+ virtual jboolean containsAll(::java::util::Collection *) = 0;
+ virtual jboolean equals(::java::lang::Object *) = 0;
+ virtual jint hashCode() = 0;
+ virtual jboolean isEmpty() = 0;
+ virtual ::java::util::Iterator * iterator() = 0;
+ virtual jboolean remove(::java::lang::Object *) = 0;
+ virtual jboolean removeAll(::java::util::Collection *) = 0;
+ virtual jboolean retainAll(::java::util::Collection *) = 0;
+ virtual jint size() = 0;
+ virtual JArray< ::java::lang::Object * > * toArray() = 0;
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_Collection__
diff --git a/libjava/java/util/Collections$1$SynchronizedMapEntry.h b/libjava/java/util/Collections$1$SynchronizedMapEntry.h
new file mode 100644
index 000000000..754898749
--- /dev/null
+++ b/libjava/java/util/Collections$1$SynchronizedMapEntry.h
@@ -0,0 +1,30 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$1$SynchronizedMapEntry__
+#define __java_util_Collections$1$SynchronizedMapEntry__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Collections$1$SynchronizedMapEntry : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Collections$1$SynchronizedMapEntry(::java::util::Collections$SynchronizedMap *, ::java::util::Map$Entry *);
+public:
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::Object * getKey();
+ virtual ::java::lang::Object * getValue();
+ virtual jint hashCode();
+ virtual ::java::lang::Object * setValue(::java::lang::Object *);
+ virtual ::java::lang::String * toString();
+public: // actually package-private
+ ::java::util::Map$Entry * __attribute__((aligned(__alignof__( ::java::lang::Object)))) e;
+ ::java::util::Collections$SynchronizedMap * this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$1$SynchronizedMapEntry__
diff --git a/libjava/java/util/Collections$1.h b/libjava/java/util/Collections$1.h
new file mode 100644
index 000000000..2e3d80c9d
--- /dev/null
+++ b/libjava/java/util/Collections$1.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$1__
+#define __java_util_Collections$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Collections$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Collections$1(::java::util::Collections$SingletonSet *);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Object * next();
+ virtual void remove();
+private:
+ jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) hasNext__;
+public: // actually package-private
+ ::java::util::Collections$SingletonSet * this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$1__
diff --git a/libjava/java/util/Collections$2.h b/libjava/java/util/Collections$2.h
new file mode 100644
index 000000000..5beb1eca5
--- /dev/null
+++ b/libjava/java/util/Collections$2.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$2__
+#define __java_util_Collections$2__
+
+#pragma interface
+
+#include <java/util/AbstractMap$SimpleEntry.h>
+
+class java::util::Collections$2 : public ::java::util::AbstractMap$SimpleEntry
+{
+
+public: // actually package-private
+ Collections$2(::java::util::Collections$SingletonMap *, ::java::lang::Object *, ::java::lang::Object *);
+public:
+ virtual ::java::lang::Object * setValue(::java::lang::Object *);
+public: // actually package-private
+ ::java::util::Collections$SingletonMap * __attribute__((aligned(__alignof__( ::java::util::AbstractMap$SimpleEntry)))) this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$2__
diff --git a/libjava/java/util/Collections$3.h b/libjava/java/util/Collections$3.h
new file mode 100644
index 000000000..1629d8d26
--- /dev/null
+++ b/libjava/java/util/Collections$3.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$3__
+#define __java_util_Collections$3__
+
+#pragma interface
+
+#include <java/util/Collections$SynchronizedSet.h>
+
+class java::util::Collections$3 : public ::java::util::Collections$SynchronizedSet
+{
+
+public: // actually package-private
+ Collections$3(::java::util::Collections$SynchronizedMap *, ::java::lang::Object *, ::java::util::Set *);
+public:
+ virtual ::java::util::Iterator * iterator();
+public: // actually package-private
+ static ::java::util::Collections$SynchronizedMap * access$0(::java::util::Collections$3 *);
+ ::java::util::Collections$SynchronizedMap * __attribute__((aligned(__alignof__( ::java::util::Collections$SynchronizedSet)))) this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$3__
diff --git a/libjava/java/util/Collections$4.h b/libjava/java/util/Collections$4.h
new file mode 100644
index 000000000..6aa2182b1
--- /dev/null
+++ b/libjava/java/util/Collections$4.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$4__
+#define __java_util_Collections$4__
+
+#pragma interface
+
+#include <java/util/Collections$SynchronizedIterator.h>
+
+class java::util::Collections$4 : public ::java::util::Collections$SynchronizedIterator
+{
+
+public: // actually package-private
+ Collections$4(::java::util::Collections$3 *, ::java::lang::Object *, ::java::util::Iterator *);
+public:
+ virtual ::java::util::Map$Entry * Collections$4$next();
+ virtual ::java::lang::Object * next();
+public: // actually package-private
+ ::java::util::Collections$3 * __attribute__((aligned(__alignof__( ::java::util::Collections$SynchronizedIterator)))) this$2;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$4__
diff --git a/libjava/java/util/Collections$5.h b/libjava/java/util/Collections$5.h
new file mode 100644
index 000000000..36f8bd13f
--- /dev/null
+++ b/libjava/java/util/Collections$5.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$5__
+#define __java_util_Collections$5__
+
+#pragma interface
+
+#include <java/util/Collections$UnmodifiableIterator.h>
+
+class java::util::Collections$5 : public ::java::util::Collections$UnmodifiableIterator
+{
+
+public: // actually package-private
+ Collections$5(::java::util::Collections$UnmodifiableMap$UnmodifiableEntrySet *, ::java::util::Iterator *);
+public:
+ virtual ::java::util::Map$Entry * Collections$5$next();
+ virtual ::java::lang::Object * next();
+public: // actually package-private
+ ::java::util::Collections$UnmodifiableMap$UnmodifiableEntrySet * __attribute__((aligned(__alignof__( ::java::util::Collections$UnmodifiableIterator)))) this$2;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$5__
diff --git a/libjava/java/util/Collections$6.h b/libjava/java/util/Collections$6.h
new file mode 100644
index 000000000..d5e2691f8
--- /dev/null
+++ b/libjava/java/util/Collections$6.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$6__
+#define __java_util_Collections$6__
+
+#pragma interface
+
+#include <java/util/Collections$CheckedIterator.h>
+
+class java::util::Collections$6 : public ::java::util::Collections$CheckedIterator
+{
+
+public: // actually package-private
+ Collections$6(::java::util::Collections$CheckedMap$CheckedEntrySet *, ::java::util::Iterator *, ::java::lang::Class *);
+public:
+ virtual ::java::lang::Object * next();
+public: // actually package-private
+ static ::java::util::Collections$CheckedMap$CheckedEntrySet * access$0(::java::util::Collections$6 *);
+ ::java::util::Collections$CheckedMap$CheckedEntrySet * __attribute__((aligned(__alignof__( ::java::util::Collections$CheckedIterator)))) this$2;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$6__
diff --git a/libjava/java/util/Collections$7.h b/libjava/java/util/Collections$7.h
new file mode 100644
index 000000000..1b320b9f6
--- /dev/null
+++ b/libjava/java/util/Collections$7.h
@@ -0,0 +1,31 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$7__
+#define __java_util_Collections$7__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Collections$7 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Collections$7(::java::util::Collections$6 *, ::java::util::Map$Entry *);
+public:
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::Object * getKey();
+ virtual ::java::lang::Object * getValue();
+ virtual jint hashCode();
+ virtual ::java::lang::Object * setValue(::java::lang::Object *);
+ virtual ::java::lang::String * toString();
+public: // actually package-private
+ ::java::util::Collections$6 * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$3;
+private:
+ ::java::util::Map$Entry * val$e;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$7__
diff --git a/libjava/java/util/Collections$8.h b/libjava/java/util/Collections$8.h
new file mode 100644
index 000000000..4f3faf043
--- /dev/null
+++ b/libjava/java/util/Collections$8.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$8__
+#define __java_util_Collections$8__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Collections$8 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Collections$8(::java::util::Iterator *);
+public:
+ virtual jboolean hasMoreElements();
+ virtual ::java::lang::Object * nextElement();
+private:
+ ::java::util::Iterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) val$i;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$8__
diff --git a/libjava/java/util/Collections$9.h b/libjava/java/util/Collections$9.h
new file mode 100644
index 000000000..a425a6c51
--- /dev/null
+++ b/libjava/java/util/Collections$9.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$9__
+#define __java_util_Collections$9__
+
+#pragma interface
+
+#include <java/util/Collections$ReverseComparator.h>
+
+class java::util::Collections$9 : public ::java::util::Collections$ReverseComparator
+{
+
+public: // actually package-private
+ Collections$9(::java::util::Comparator *);
+public:
+ virtual jint compare(::java::lang::Object *, ::java::lang::Object *);
+private:
+ ::java::util::Comparator * __attribute__((aligned(__alignof__( ::java::util::Collections$ReverseComparator)))) val$c;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$9__
diff --git a/libjava/java/util/Collections$CheckedCollection.h b/libjava/java/util/Collections$CheckedCollection.h
new file mode 100644
index 000000000..688439f04
--- /dev/null
+++ b/libjava/java/util/Collections$CheckedCollection.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$CheckedCollection__
+#define __java_util_Collections$CheckedCollection__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::Collections$CheckedCollection : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Collections$CheckedCollection(::java::util::Collection *, ::java::lang::Class *);
+public:
+ virtual jboolean add(::java::lang::Object *);
+ virtual jboolean addAll(::java::util::Collection *);
+ virtual void clear();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jboolean containsAll(::java::util::Collection *);
+ virtual jboolean isEmpty();
+ virtual ::java::util::Iterator * iterator();
+ virtual jboolean remove(::java::lang::Object *);
+ virtual jboolean removeAll(::java::util::Collection *);
+ virtual jboolean retainAll(::java::util::Collection *);
+ virtual jint size();
+ virtual JArray< ::java::lang::Object * > * toArray();
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
+ virtual ::java::lang::String * toString();
+private:
+ static const jlong serialVersionUID = 1578914078182001775LL;
+public: // actually package-private
+ ::java::util::Collection * __attribute__((aligned(__alignof__( ::java::lang::Object)))) c;
+ ::java::lang::Class * type;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$CheckedCollection__
diff --git a/libjava/java/util/Collections$CheckedIterator.h b/libjava/java/util/Collections$CheckedIterator.h
new file mode 100644
index 000000000..cce1f0bcc
--- /dev/null
+++ b/libjava/java/util/Collections$CheckedIterator.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$CheckedIterator__
+#define __java_util_Collections$CheckedIterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Collections$CheckedIterator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Collections$CheckedIterator(::java::util::Iterator *, ::java::lang::Class *);
+public:
+ virtual ::java::lang::Object * next();
+ virtual jboolean hasNext();
+ virtual void remove();
+private:
+ ::java::util::Iterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) i;
+public: // actually package-private
+ ::java::lang::Class * type;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$CheckedIterator__
diff --git a/libjava/java/util/Collections$CheckedList.h b/libjava/java/util/Collections$CheckedList.h
new file mode 100644
index 000000000..6158bc2a7
--- /dev/null
+++ b/libjava/java/util/Collections$CheckedList.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$CheckedList__
+#define __java_util_Collections$CheckedList__
+
+#pragma interface
+
+#include <java/util/Collections$CheckedCollection.h>
+
+class java::util::Collections$CheckedList : public ::java::util::Collections$CheckedCollection
+{
+
+public: // actually package-private
+ Collections$CheckedList(::java::util::List *, ::java::lang::Class *);
+public:
+ virtual void add(jint, ::java::lang::Object *);
+ virtual jboolean addAll(jint, ::java::util::Collection *);
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::Object * get(jint);
+ virtual jint hashCode();
+ virtual jint indexOf(::java::lang::Object *);
+ virtual jint lastIndexOf(::java::lang::Object *);
+ virtual ::java::util::ListIterator * listIterator();
+ virtual ::java::util::ListIterator * listIterator(jint);
+ virtual ::java::lang::Object * remove(jint);
+ virtual ::java::lang::Object * set(jint, ::java::lang::Object *);
+ virtual ::java::util::List * subList(jint, jint);
+private:
+ static const jlong serialVersionUID = 65247728283967356LL;
+public: // actually package-private
+ ::java::util::List * __attribute__((aligned(__alignof__( ::java::util::Collections$CheckedCollection)))) list;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$CheckedList__
diff --git a/libjava/java/util/Collections$CheckedListIterator.h b/libjava/java/util/Collections$CheckedListIterator.h
new file mode 100644
index 000000000..2c1b9f03d
--- /dev/null
+++ b/libjava/java/util/Collections$CheckedListIterator.h
@@ -0,0 +1,29 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$CheckedListIterator__
+#define __java_util_Collections$CheckedListIterator__
+
+#pragma interface
+
+#include <java/util/Collections$CheckedIterator.h>
+
+class java::util::Collections$CheckedListIterator : public ::java::util::Collections$CheckedIterator
+{
+
+public: // actually package-private
+ Collections$CheckedListIterator(::java::util::ListIterator *, ::java::lang::Class *);
+public:
+ void add(::java::lang::Object *);
+ jboolean hasPrevious();
+ jint nextIndex();
+ ::java::lang::Object * previous();
+ jint previousIndex();
+ void set(::java::lang::Object *);
+private:
+ ::java::util::ListIterator * __attribute__((aligned(__alignof__( ::java::util::Collections$CheckedIterator)))) li;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$CheckedListIterator__
diff --git a/libjava/java/util/Collections$CheckedMap$CheckedEntrySet.h b/libjava/java/util/Collections$CheckedMap$CheckedEntrySet.h
new file mode 100644
index 000000000..1882b9a9b
--- /dev/null
+++ b/libjava/java/util/Collections$CheckedMap$CheckedEntrySet.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$CheckedMap$CheckedEntrySet__
+#define __java_util_Collections$CheckedMap$CheckedEntrySet__
+
+#pragma interface
+
+#include <java/util/Collections$CheckedSet.h>
+
+class java::util::Collections$CheckedMap$CheckedEntrySet : public ::java::util::Collections$CheckedSet
+{
+
+public: // actually package-private
+ Collections$CheckedMap$CheckedEntrySet(::java::util::Set *, ::java::lang::Class *, ::java::lang::Class *, ::java::lang::Class *);
+public:
+ ::java::util::Iterator * iterator();
+public: // actually package-private
+ static ::java::lang::Class * access$0(::java::util::Collections$CheckedMap$CheckedEntrySet *);
+private:
+ ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::util::Collections$CheckedSet)))) keyType;
+ ::java::lang::Class * valueType;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$CheckedMap$CheckedEntrySet__
diff --git a/libjava/java/util/Collections$CheckedMap.h b/libjava/java/util/Collections$CheckedMap.h
new file mode 100644
index 000000000..e32b255f7
--- /dev/null
+++ b/libjava/java/util/Collections$CheckedMap.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$CheckedMap__
+#define __java_util_Collections$CheckedMap__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Collections$CheckedMap : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Collections$CheckedMap(::java::util::Map *, ::java::lang::Class *, ::java::lang::Class *);
+public:
+ virtual void clear();
+ virtual jboolean containsKey(::java::lang::Object *);
+ virtual jboolean containsValue(::java::lang::Object *);
+ virtual ::java::util::Set * entrySet();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::Object * get(::java::lang::Object *);
+ virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *);
+ virtual jint hashCode();
+ virtual jboolean isEmpty();
+ virtual ::java::util::Set * keySet();
+ virtual void putAll(::java::util::Map *);
+ virtual ::java::lang::Object * remove(::java::lang::Object *);
+ virtual jint size();
+ virtual ::java::lang::String * toString();
+ virtual ::java::util::Collection * values();
+private:
+ static const jlong serialVersionUID = 5742860141034234728LL;
+ ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) m;
+public: // actually package-private
+ ::java::lang::Class * keyType;
+ ::java::lang::Class * valueType;
+private:
+ ::java::util::Set * entries;
+ ::java::util::Set * keys;
+ ::java::util::Collection * values__;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$CheckedMap__
diff --git a/libjava/java/util/Collections$CheckedRandomAccessList.h b/libjava/java/util/Collections$CheckedRandomAccessList.h
new file mode 100644
index 000000000..4fad9a793
--- /dev/null
+++ b/libjava/java/util/Collections$CheckedRandomAccessList.h
@@ -0,0 +1,22 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$CheckedRandomAccessList__
+#define __java_util_Collections$CheckedRandomAccessList__
+
+#pragma interface
+
+#include <java/util/Collections$CheckedList.h>
+
+class java::util::Collections$CheckedRandomAccessList : public ::java::util::Collections$CheckedList
+{
+
+public: // actually package-private
+ Collections$CheckedRandomAccessList(::java::util::List *, ::java::lang::Class *);
+private:
+ static const jlong serialVersionUID = 1638200125423088369LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$CheckedRandomAccessList__
diff --git a/libjava/java/util/Collections$CheckedSet.h b/libjava/java/util/Collections$CheckedSet.h
new file mode 100644
index 000000000..e58a98d2e
--- /dev/null
+++ b/libjava/java/util/Collections$CheckedSet.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$CheckedSet__
+#define __java_util_Collections$CheckedSet__
+
+#pragma interface
+
+#include <java/util/Collections$CheckedCollection.h>
+
+class java::util::Collections$CheckedSet : public ::java::util::Collections$CheckedCollection
+{
+
+public: // actually package-private
+ Collections$CheckedSet(::java::util::Set *, ::java::lang::Class *);
+public:
+ virtual jboolean equals(::java::lang::Object *);
+ virtual jint hashCode();
+private:
+ static const jlong serialVersionUID = 4694047833775013803LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$CheckedSet__
diff --git a/libjava/java/util/Collections$CheckedSortedMap.h b/libjava/java/util/Collections$CheckedSortedMap.h
new file mode 100644
index 000000000..54d830569
--- /dev/null
+++ b/libjava/java/util/Collections$CheckedSortedMap.h
@@ -0,0 +1,30 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$CheckedSortedMap__
+#define __java_util_Collections$CheckedSortedMap__
+
+#pragma interface
+
+#include <java/util/Collections$CheckedMap.h>
+
+class java::util::Collections$CheckedSortedMap : public ::java::util::Collections$CheckedMap
+{
+
+public: // actually package-private
+ Collections$CheckedSortedMap(::java::util::SortedMap *, ::java::lang::Class *, ::java::lang::Class *);
+public:
+ virtual ::java::util::Comparator * comparator();
+ virtual ::java::lang::Object * firstKey();
+ virtual ::java::util::SortedMap * headMap(::java::lang::Object *);
+ virtual ::java::lang::Object * lastKey();
+ virtual ::java::util::SortedMap * subMap(::java::lang::Object *, ::java::lang::Object *);
+ virtual ::java::util::SortedMap * tailMap(::java::lang::Object *);
+private:
+ static const jlong serialVersionUID = 1599671320688067438LL;
+ ::java::util::SortedMap * __attribute__((aligned(__alignof__( ::java::util::Collections$CheckedMap)))) sm;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$CheckedSortedMap__
diff --git a/libjava/java/util/Collections$CheckedSortedSet.h b/libjava/java/util/Collections$CheckedSortedSet.h
new file mode 100644
index 000000000..f65817529
--- /dev/null
+++ b/libjava/java/util/Collections$CheckedSortedSet.h
@@ -0,0 +1,30 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$CheckedSortedSet__
+#define __java_util_Collections$CheckedSortedSet__
+
+#pragma interface
+
+#include <java/util/Collections$CheckedSet.h>
+
+class java::util::Collections$CheckedSortedSet : public ::java::util::Collections$CheckedSet
+{
+
+public: // actually package-private
+ Collections$CheckedSortedSet(::java::util::SortedSet *, ::java::lang::Class *);
+public:
+ virtual ::java::util::Comparator * comparator();
+ virtual ::java::lang::Object * first();
+ virtual ::java::util::SortedSet * headSet(::java::lang::Object *);
+ virtual ::java::lang::Object * last();
+ virtual ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *);
+ virtual ::java::util::SortedSet * tailSet(::java::lang::Object *);
+private:
+ static const jlong serialVersionUID = 1599911165492914959LL;
+ ::java::util::SortedSet * __attribute__((aligned(__alignof__( ::java::util::Collections$CheckedSet)))) ss;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$CheckedSortedSet__
diff --git a/libjava/java/util/Collections$CopiesList.h b/libjava/java/util/Collections$CopiesList.h
new file mode 100644
index 000000000..3ff503da4
--- /dev/null
+++ b/libjava/java/util/Collections$CopiesList.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$CopiesList__
+#define __java_util_Collections$CopiesList__
+
+#pragma interface
+
+#include <java/util/AbstractList.h>
+#include <gcj/array.h>
+
+
+class java::util::Collections$CopiesList : public ::java::util::AbstractList
+{
+
+public: // actually package-private
+ Collections$CopiesList(jint, ::java::lang::Object *);
+public:
+ jint size();
+ ::java::lang::Object * get(jint);
+ jboolean contains(::java::lang::Object *);
+ jint indexOf(::java::lang::Object *);
+ jint lastIndexOf(::java::lang::Object *);
+ ::java::util::List * subList(jint, jint);
+ JArray< ::java::lang::Object * > * toArray();
+ ::java::lang::String * toString();
+private:
+ static const jlong serialVersionUID = 2739099268398711800LL;
+ jint __attribute__((aligned(__alignof__( ::java::util::AbstractList)))) n;
+ ::java::lang::Object * element;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$CopiesList__
diff --git a/libjava/java/util/Collections$EmptyList.h b/libjava/java/util/Collections$EmptyList.h
new file mode 100644
index 000000000..8133e1643
--- /dev/null
+++ b/libjava/java/util/Collections$EmptyList.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$EmptyList__
+#define __java_util_Collections$EmptyList__
+
+#pragma interface
+
+#include <java/util/AbstractList.h>
+#include <gcj/array.h>
+
+
+class java::util::Collections$EmptyList : public ::java::util::AbstractList
+{
+
+public: // actually package-private
+ Collections$EmptyList();
+public:
+ jint size();
+ ::java::lang::Object * get(jint);
+ jboolean contains(::java::lang::Object *);
+ jboolean containsAll(::java::util::Collection *);
+ jboolean equals(::java::lang::Object *);
+ jint hashCode();
+ jint indexOf(::java::lang::Object *);
+ jint lastIndexOf(::java::lang::Object *);
+ jboolean remove(::java::lang::Object *);
+ jboolean removeAll(::java::util::Collection *);
+ jboolean retainAll(::java::util::Collection *);
+ JArray< ::java::lang::Object * > * toArray();
+ JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
+ ::java::lang::String * toString();
+private:
+ static const jlong serialVersionUID = 8842843931221139166LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$EmptyList__
diff --git a/libjava/java/util/Collections$EmptyMap.h b/libjava/java/util/Collections$EmptyMap.h
new file mode 100644
index 000000000..6b09265c4
--- /dev/null
+++ b/libjava/java/util/Collections$EmptyMap.h
@@ -0,0 +1,34 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$EmptyMap__
+#define __java_util_Collections$EmptyMap__
+
+#pragma interface
+
+#include <java/util/AbstractMap.h>
+
+class java::util::Collections$EmptyMap : public ::java::util::AbstractMap
+{
+
+public: // actually package-private
+ Collections$EmptyMap();
+public:
+ ::java::util::Set * entrySet();
+ jboolean containsKey(::java::lang::Object *);
+ jboolean containsValue(::java::lang::Object *);
+ jboolean equals(::java::lang::Object *);
+ ::java::lang::Object * get(::java::lang::Object *);
+ jint hashCode();
+ ::java::util::Set * keySet();
+ ::java::lang::Object * remove(::java::lang::Object *);
+ jint size();
+ ::java::util::Collection * values();
+ ::java::lang::String * toString();
+private:
+ static const jlong serialVersionUID = 6428348081105594320LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$EmptyMap__
diff --git a/libjava/java/util/Collections$EmptySet.h b/libjava/java/util/Collections$EmptySet.h
new file mode 100644
index 000000000..cbd01262f
--- /dev/null
+++ b/libjava/java/util/Collections$EmptySet.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$EmptySet__
+#define __java_util_Collections$EmptySet__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+#include <gcj/array.h>
+
+
+class java::util::Collections$EmptySet : public ::java::util::AbstractSet
+{
+
+public: // actually package-private
+ Collections$EmptySet();
+public:
+ jint size();
+ ::java::util::Iterator * iterator();
+ jboolean contains(::java::lang::Object *);
+ jboolean containsAll(::java::util::Collection *);
+ jboolean equals(::java::lang::Object *);
+ jint hashCode();
+ jboolean remove(::java::lang::Object *);
+ jboolean removeAll(::java::util::Collection *);
+ jboolean retainAll(::java::util::Collection *);
+ JArray< ::java::lang::Object * > * toArray();
+ JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
+ ::java::lang::String * toString();
+private:
+ static const jlong serialVersionUID = 1582296315990362920LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$EmptySet__
diff --git a/libjava/java/util/Collections$LIFOQueue.h b/libjava/java/util/Collections$LIFOQueue.h
new file mode 100644
index 000000000..c053a4932
--- /dev/null
+++ b/libjava/java/util/Collections$LIFOQueue.h
@@ -0,0 +1,31 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$LIFOQueue__
+#define __java_util_Collections$LIFOQueue__
+
+#pragma interface
+
+#include <java/util/AbstractQueue.h>
+
+class java::util::Collections$LIFOQueue : public ::java::util::AbstractQueue
+{
+
+public:
+ Collections$LIFOQueue(::java::util::Deque *);
+ virtual jboolean add(::java::lang::Object *);
+ virtual jboolean addAll(::java::util::Collection *);
+ virtual void clear();
+ virtual jboolean isEmpty();
+ virtual ::java::util::Iterator * iterator();
+ virtual jboolean offer(::java::lang::Object *);
+ virtual ::java::lang::Object * peek();
+ virtual ::java::lang::Object * poll();
+ virtual jint size();
+private:
+ ::java::util::Deque * __attribute__((aligned(__alignof__( ::java::util::AbstractQueue)))) deque;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$LIFOQueue__
diff --git a/libjava/java/util/Collections$MapSet.h b/libjava/java/util/Collections$MapSet.h
new file mode 100644
index 000000000..70caba782
--- /dev/null
+++ b/libjava/java/util/Collections$MapSet.h
@@ -0,0 +1,30 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$MapSet__
+#define __java_util_Collections$MapSet__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+
+class java::util::Collections$MapSet : public ::java::util::AbstractSet
+{
+
+public:
+ Collections$MapSet(::java::util::Map *);
+ virtual jboolean add(::java::lang::Object *);
+ virtual jboolean addAll(::java::util::Collection *);
+ virtual void clear();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jboolean isEmpty();
+ virtual ::java::util::Iterator * iterator();
+ virtual jboolean remove(::java::lang::Object *);
+ virtual jint size();
+private:
+ ::java::util::Map * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) map;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$MapSet__
diff --git a/libjava/java/util/Collections$ReverseComparator.h b/libjava/java/util/Collections$ReverseComparator.h
new file mode 100644
index 000000000..006c27cbf
--- /dev/null
+++ b/libjava/java/util/Collections$ReverseComparator.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$ReverseComparator__
+#define __java_util_Collections$ReverseComparator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Collections$ReverseComparator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Collections$ReverseComparator();
+public:
+ virtual jint compare(::java::lang::Object *, ::java::lang::Object *);
+private:
+ static const jlong serialVersionUID = 7207038068494060240LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$ReverseComparator__
diff --git a/libjava/java/util/Collections$SingletonList.h b/libjava/java/util/Collections$SingletonList.h
new file mode 100644
index 000000000..03340f1d9
--- /dev/null
+++ b/libjava/java/util/Collections$SingletonList.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$SingletonList__
+#define __java_util_Collections$SingletonList__
+
+#pragma interface
+
+#include <java/util/AbstractList.h>
+#include <gcj/array.h>
+
+
+class java::util::Collections$SingletonList : public ::java::util::AbstractList
+{
+
+public: // actually package-private
+ Collections$SingletonList(::java::lang::Object *);
+public:
+ jint size();
+ ::java::lang::Object * get(jint);
+ jboolean contains(::java::lang::Object *);
+ jboolean containsAll(::java::util::Collection *);
+ jint hashCode();
+ jint indexOf(::java::lang::Object *);
+ jint lastIndexOf(::java::lang::Object *);
+ ::java::util::List * subList(jint, jint);
+ JArray< ::java::lang::Object * > * toArray();
+ ::java::lang::String * toString();
+private:
+ static const jlong serialVersionUID = 3093736618740652951LL;
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::util::AbstractList)))) element;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$SingletonList__
diff --git a/libjava/java/util/Collections$SingletonMap.h b/libjava/java/util/Collections$SingletonMap.h
new file mode 100644
index 000000000..a5b07689a
--- /dev/null
+++ b/libjava/java/util/Collections$SingletonMap.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$SingletonMap__
+#define __java_util_Collections$SingletonMap__
+
+#pragma interface
+
+#include <java/util/AbstractMap.h>
+
+class java::util::Collections$SingletonMap : public ::java::util::AbstractMap
+{
+
+public: // actually package-private
+ Collections$SingletonMap(::java::lang::Object *, ::java::lang::Object *);
+public:
+ ::java::util::Set * entrySet();
+ jboolean containsKey(::java::lang::Object *);
+ jboolean containsValue(::java::lang::Object *);
+ ::java::lang::Object * get(::java::lang::Object *);
+ jint hashCode();
+ ::java::util::Set * keySet();
+ jint size();
+ ::java::util::Collection * values();
+ ::java::lang::String * toString();
+private:
+ static const jlong serialVersionUID = -6979724477215052911LL;
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::util::AbstractMap)))) k;
+ ::java::lang::Object * v;
+ ::java::util::Set * entries;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$SingletonMap__
diff --git a/libjava/java/util/Collections$SingletonSet.h b/libjava/java/util/Collections$SingletonSet.h
new file mode 100644
index 000000000..51deccdd3
--- /dev/null
+++ b/libjava/java/util/Collections$SingletonSet.h
@@ -0,0 +1,34 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$SingletonSet__
+#define __java_util_Collections$SingletonSet__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+#include <gcj/array.h>
+
+
+class java::util::Collections$SingletonSet : public ::java::util::AbstractSet
+{
+
+public: // actually package-private
+ Collections$SingletonSet(::java::lang::Object *);
+public:
+ jint size();
+ ::java::util::Iterator * iterator();
+ jboolean contains(::java::lang::Object *);
+ jboolean containsAll(::java::util::Collection *);
+ jint hashCode();
+ JArray< ::java::lang::Object * > * toArray();
+ ::java::lang::String * toString();
+private:
+ static const jlong serialVersionUID = 3193687207550431679LL;
+public: // actually package-private
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) element;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$SingletonSet__
diff --git a/libjava/java/util/Collections$SynchronizedCollection.h b/libjava/java/util/Collections$SynchronizedCollection.h
new file mode 100644
index 000000000..a41b8d2b1
--- /dev/null
+++ b/libjava/java/util/Collections$SynchronizedCollection.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$SynchronizedCollection__
+#define __java_util_Collections$SynchronizedCollection__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::Collections$SynchronizedCollection : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Collections$SynchronizedCollection(::java::util::Collection *);
+ Collections$SynchronizedCollection(::java::lang::Object *, ::java::util::Collection *);
+public:
+ virtual jboolean add(::java::lang::Object *);
+ virtual jboolean addAll(::java::util::Collection *);
+ virtual void clear();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jboolean containsAll(::java::util::Collection *);
+ virtual jboolean isEmpty();
+ virtual ::java::util::Iterator * iterator();
+ virtual jboolean remove(::java::lang::Object *);
+ virtual jboolean removeAll(::java::util::Collection *);
+ virtual jboolean retainAll(::java::util::Collection *);
+ virtual jint size();
+ virtual JArray< ::java::lang::Object * > * toArray();
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
+ virtual ::java::lang::String * toString();
+private:
+ static const jlong serialVersionUID = 3053995032091335093LL;
+public: // actually package-private
+ ::java::util::Collection * __attribute__((aligned(__alignof__( ::java::lang::Object)))) c;
+ ::java::lang::Object * mutex;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$SynchronizedCollection__
diff --git a/libjava/java/util/Collections$SynchronizedIterator.h b/libjava/java/util/Collections$SynchronizedIterator.h
new file mode 100644
index 000000000..bc0950b6d
--- /dev/null
+++ b/libjava/java/util/Collections$SynchronizedIterator.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$SynchronizedIterator__
+#define __java_util_Collections$SynchronizedIterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Collections$SynchronizedIterator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Collections$SynchronizedIterator(::java::lang::Object *, ::java::util::Iterator *);
+public:
+ virtual ::java::lang::Object * next();
+ virtual jboolean hasNext();
+ virtual void remove();
+public: // actually package-private
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mutex;
+private:
+ ::java::util::Iterator * i;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$SynchronizedIterator__
diff --git a/libjava/java/util/Collections$SynchronizedList.h b/libjava/java/util/Collections$SynchronizedList.h
new file mode 100644
index 000000000..3404a091d
--- /dev/null
+++ b/libjava/java/util/Collections$SynchronizedList.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$SynchronizedList__
+#define __java_util_Collections$SynchronizedList__
+
+#pragma interface
+
+#include <java/util/Collections$SynchronizedCollection.h>
+
+class java::util::Collections$SynchronizedList : public ::java::util::Collections$SynchronizedCollection
+{
+
+public: // actually package-private
+ Collections$SynchronizedList(::java::util::List *);
+ Collections$SynchronizedList(::java::lang::Object *, ::java::util::List *);
+public:
+ virtual void add(jint, ::java::lang::Object *);
+ virtual jboolean addAll(jint, ::java::util::Collection *);
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::Object * get(jint);
+ virtual jint hashCode();
+ virtual jint indexOf(::java::lang::Object *);
+ virtual jint lastIndexOf(::java::lang::Object *);
+ virtual ::java::util::ListIterator * listIterator();
+ virtual ::java::util::ListIterator * listIterator(jint);
+ virtual ::java::lang::Object * remove(jint);
+ virtual ::java::lang::Object * set(jint, ::java::lang::Object *);
+ virtual ::java::util::List * subList(jint, jint);
+private:
+ static const jlong serialVersionUID = -7754090372962971524LL;
+public: // actually package-private
+ ::java::util::List * __attribute__((aligned(__alignof__( ::java::util::Collections$SynchronizedCollection)))) list;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$SynchronizedList__
diff --git a/libjava/java/util/Collections$SynchronizedListIterator.h b/libjava/java/util/Collections$SynchronizedListIterator.h
new file mode 100644
index 000000000..87cd16b0b
--- /dev/null
+++ b/libjava/java/util/Collections$SynchronizedListIterator.h
@@ -0,0 +1,29 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$SynchronizedListIterator__
+#define __java_util_Collections$SynchronizedListIterator__
+
+#pragma interface
+
+#include <java/util/Collections$SynchronizedIterator.h>
+
+class java::util::Collections$SynchronizedListIterator : public ::java::util::Collections$SynchronizedIterator
+{
+
+public: // actually package-private
+ Collections$SynchronizedListIterator(::java::lang::Object *, ::java::util::ListIterator *);
+public:
+ void add(::java::lang::Object *);
+ jboolean hasPrevious();
+ jint nextIndex();
+ ::java::lang::Object * previous();
+ jint previousIndex();
+ void set(::java::lang::Object *);
+private:
+ ::java::util::ListIterator * __attribute__((aligned(__alignof__( ::java::util::Collections$SynchronizedIterator)))) li;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$SynchronizedListIterator__
diff --git a/libjava/java/util/Collections$SynchronizedMap.h b/libjava/java/util/Collections$SynchronizedMap.h
new file mode 100644
index 000000000..6232204d1
--- /dev/null
+++ b/libjava/java/util/Collections$SynchronizedMap.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$SynchronizedMap__
+#define __java_util_Collections$SynchronizedMap__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Collections$SynchronizedMap : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Collections$SynchronizedMap(::java::util::Map *);
+ Collections$SynchronizedMap(::java::lang::Object *, ::java::util::Map *);
+public:
+ virtual void clear();
+ virtual jboolean containsKey(::java::lang::Object *);
+ virtual jboolean containsValue(::java::lang::Object *);
+ virtual ::java::util::Set * entrySet();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::Object * get(::java::lang::Object *);
+ virtual jint hashCode();
+ virtual jboolean isEmpty();
+ virtual ::java::util::Set * keySet();
+ virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *);
+ virtual void putAll(::java::util::Map *);
+ virtual ::java::lang::Object * remove(::java::lang::Object *);
+ virtual jint size();
+ virtual ::java::lang::String * toString();
+ virtual ::java::util::Collection * values();
+private:
+ static const jlong serialVersionUID = 1978198479659022715LL;
+ ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) m;
+public: // actually package-private
+ ::java::lang::Object * mutex;
+private:
+ ::java::util::Set * entries;
+ ::java::util::Set * keys;
+ ::java::util::Collection * values__;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$SynchronizedMap__
diff --git a/libjava/java/util/Collections$SynchronizedRandomAccessList.h b/libjava/java/util/Collections$SynchronizedRandomAccessList.h
new file mode 100644
index 000000000..3bf085ee1
--- /dev/null
+++ b/libjava/java/util/Collections$SynchronizedRandomAccessList.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$SynchronizedRandomAccessList__
+#define __java_util_Collections$SynchronizedRandomAccessList__
+
+#pragma interface
+
+#include <java/util/Collections$SynchronizedList.h>
+
+class java::util::Collections$SynchronizedRandomAccessList : public ::java::util::Collections$SynchronizedList
+{
+
+public: // actually package-private
+ Collections$SynchronizedRandomAccessList(::java::util::List *);
+ Collections$SynchronizedRandomAccessList(::java::lang::Object *, ::java::util::List *);
+public:
+ ::java::util::List * subList(jint, jint);
+private:
+ static const jlong serialVersionUID = 1530674583602358482LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$SynchronizedRandomAccessList__
diff --git a/libjava/java/util/Collections$SynchronizedSet.h b/libjava/java/util/Collections$SynchronizedSet.h
new file mode 100644
index 000000000..bb5b67697
--- /dev/null
+++ b/libjava/java/util/Collections$SynchronizedSet.h
@@ -0,0 +1,26 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$SynchronizedSet__
+#define __java_util_Collections$SynchronizedSet__
+
+#pragma interface
+
+#include <java/util/Collections$SynchronizedCollection.h>
+
+class java::util::Collections$SynchronizedSet : public ::java::util::Collections$SynchronizedCollection
+{
+
+public: // actually package-private
+ Collections$SynchronizedSet(::java::util::Set *);
+ Collections$SynchronizedSet(::java::lang::Object *, ::java::util::Set *);
+public:
+ virtual jboolean equals(::java::lang::Object *);
+ virtual jint hashCode();
+private:
+ static const jlong serialVersionUID = 487447009682186044LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$SynchronizedSet__
diff --git a/libjava/java/util/Collections$SynchronizedSortedMap.h b/libjava/java/util/Collections$SynchronizedSortedMap.h
new file mode 100644
index 000000000..d31025f26
--- /dev/null
+++ b/libjava/java/util/Collections$SynchronizedSortedMap.h
@@ -0,0 +1,31 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$SynchronizedSortedMap__
+#define __java_util_Collections$SynchronizedSortedMap__
+
+#pragma interface
+
+#include <java/util/Collections$SynchronizedMap.h>
+
+class java::util::Collections$SynchronizedSortedMap : public ::java::util::Collections$SynchronizedMap
+{
+
+public: // actually package-private
+ Collections$SynchronizedSortedMap(::java::util::SortedMap *);
+ Collections$SynchronizedSortedMap(::java::lang::Object *, ::java::util::SortedMap *);
+public:
+ ::java::util::Comparator * comparator();
+ ::java::lang::Object * firstKey();
+ ::java::util::SortedMap * headMap(::java::lang::Object *);
+ ::java::lang::Object * lastKey();
+ ::java::util::SortedMap * subMap(::java::lang::Object *, ::java::lang::Object *);
+ ::java::util::SortedMap * tailMap(::java::lang::Object *);
+private:
+ static const jlong serialVersionUID = -8798146769416483793LL;
+ ::java::util::SortedMap * __attribute__((aligned(__alignof__( ::java::util::Collections$SynchronizedMap)))) sm;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$SynchronizedSortedMap__
diff --git a/libjava/java/util/Collections$SynchronizedSortedSet.h b/libjava/java/util/Collections$SynchronizedSortedSet.h
new file mode 100644
index 000000000..dd25a17b7
--- /dev/null
+++ b/libjava/java/util/Collections$SynchronizedSortedSet.h
@@ -0,0 +1,31 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$SynchronizedSortedSet__
+#define __java_util_Collections$SynchronizedSortedSet__
+
+#pragma interface
+
+#include <java/util/Collections$SynchronizedSet.h>
+
+class java::util::Collections$SynchronizedSortedSet : public ::java::util::Collections$SynchronizedSet
+{
+
+public: // actually package-private
+ Collections$SynchronizedSortedSet(::java::util::SortedSet *);
+ Collections$SynchronizedSortedSet(::java::lang::Object *, ::java::util::SortedSet *);
+public:
+ ::java::util::Comparator * comparator();
+ ::java::lang::Object * first();
+ ::java::util::SortedSet * headSet(::java::lang::Object *);
+ ::java::lang::Object * last();
+ ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *);
+ ::java::util::SortedSet * tailSet(::java::lang::Object *);
+private:
+ static const jlong serialVersionUID = 8695801310862127406LL;
+ ::java::util::SortedSet * __attribute__((aligned(__alignof__( ::java::util::Collections$SynchronizedSet)))) ss;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$SynchronizedSortedSet__
diff --git a/libjava/java/util/Collections$UnmodifiableCollection.h b/libjava/java/util/Collections$UnmodifiableCollection.h
new file mode 100644
index 000000000..2241b880a
--- /dev/null
+++ b/libjava/java/util/Collections$UnmodifiableCollection.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$UnmodifiableCollection__
+#define __java_util_Collections$UnmodifiableCollection__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::Collections$UnmodifiableCollection : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Collections$UnmodifiableCollection(::java::util::Collection *);
+public:
+ virtual jboolean add(::java::lang::Object *);
+ virtual jboolean addAll(::java::util::Collection *);
+ virtual void clear();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jboolean containsAll(::java::util::Collection *);
+ virtual jboolean isEmpty();
+ virtual ::java::util::Iterator * iterator();
+ virtual jboolean remove(::java::lang::Object *);
+ virtual jboolean removeAll(::java::util::Collection *);
+ virtual jboolean retainAll(::java::util::Collection *);
+ virtual jint size();
+ virtual JArray< ::java::lang::Object * > * toArray();
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
+ virtual ::java::lang::String * toString();
+private:
+ static const jlong serialVersionUID = 1820017752578914078LL;
+public: // actually package-private
+ ::java::util::Collection * __attribute__((aligned(__alignof__( ::java::lang::Object)))) c;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$UnmodifiableCollection__
diff --git a/libjava/java/util/Collections$UnmodifiableIterator.h b/libjava/java/util/Collections$UnmodifiableIterator.h
new file mode 100644
index 000000000..3782626aa
--- /dev/null
+++ b/libjava/java/util/Collections$UnmodifiableIterator.h
@@ -0,0 +1,26 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$UnmodifiableIterator__
+#define __java_util_Collections$UnmodifiableIterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Collections$UnmodifiableIterator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Collections$UnmodifiableIterator(::java::util::Iterator *);
+public:
+ virtual ::java::lang::Object * next();
+ virtual jboolean hasNext();
+ virtual void remove();
+private:
+ ::java::util::Iterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) i;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$UnmodifiableIterator__
diff --git a/libjava/java/util/Collections$UnmodifiableList.h b/libjava/java/util/Collections$UnmodifiableList.h
new file mode 100644
index 000000000..e1da47730
--- /dev/null
+++ b/libjava/java/util/Collections$UnmodifiableList.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$UnmodifiableList__
+#define __java_util_Collections$UnmodifiableList__
+
+#pragma interface
+
+#include <java/util/Collections$UnmodifiableCollection.h>
+
+class java::util::Collections$UnmodifiableList : public ::java::util::Collections$UnmodifiableCollection
+{
+
+public: // actually package-private
+ Collections$UnmodifiableList(::java::util::List *);
+public:
+ virtual void add(jint, ::java::lang::Object *);
+ virtual jboolean addAll(jint, ::java::util::Collection *);
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::Object * get(jint);
+ virtual jint hashCode();
+ virtual jint indexOf(::java::lang::Object *);
+ virtual jint lastIndexOf(::java::lang::Object *);
+ virtual ::java::util::ListIterator * listIterator();
+ virtual ::java::util::ListIterator * listIterator(jint);
+ virtual ::java::lang::Object * remove(jint);
+ virtual ::java::lang::Object * set(jint, ::java::lang::Object *);
+ virtual ::java::util::List * subList(jint, jint);
+private:
+ static const jlong serialVersionUID = -283967356065247728LL;
+public: // actually package-private
+ ::java::util::List * __attribute__((aligned(__alignof__( ::java::util::Collections$UnmodifiableCollection)))) list;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$UnmodifiableList__
diff --git a/libjava/java/util/Collections$UnmodifiableListIterator.h b/libjava/java/util/Collections$UnmodifiableListIterator.h
new file mode 100644
index 000000000..f921a5c0b
--- /dev/null
+++ b/libjava/java/util/Collections$UnmodifiableListIterator.h
@@ -0,0 +1,29 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$UnmodifiableListIterator__
+#define __java_util_Collections$UnmodifiableListIterator__
+
+#pragma interface
+
+#include <java/util/Collections$UnmodifiableIterator.h>
+
+class java::util::Collections$UnmodifiableListIterator : public ::java::util::Collections$UnmodifiableIterator
+{
+
+public: // actually package-private
+ Collections$UnmodifiableListIterator(::java::util::ListIterator *);
+public:
+ void add(::java::lang::Object *);
+ jboolean hasPrevious();
+ jint nextIndex();
+ ::java::lang::Object * previous();
+ jint previousIndex();
+ void set(::java::lang::Object *);
+private:
+ ::java::util::ListIterator * __attribute__((aligned(__alignof__( ::java::util::Collections$UnmodifiableIterator)))) li;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$UnmodifiableListIterator__
diff --git a/libjava/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry.h b/libjava/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry.h
new file mode 100644
index 000000000..c0358c9b8
--- /dev/null
+++ b/libjava/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry.h
@@ -0,0 +1,30 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry__
+#define __java_util_Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry : public ::java::lang::Object
+{
+
+ Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry(::java::util::Map$Entry *);
+public:
+ jboolean equals(::java::lang::Object *);
+ ::java::lang::Object * getKey();
+ ::java::lang::Object * getValue();
+ jint hashCode();
+ ::java::lang::Object * setValue(::java::lang::Object *);
+ ::java::lang::String * toString();
+public: // actually package-private
+ Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry(::java::util::Map$Entry *, ::java::util::Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry *);
+private:
+ ::java::util::Map$Entry * __attribute__((aligned(__alignof__( ::java::lang::Object)))) e;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry__
diff --git a/libjava/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.h b/libjava/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.h
new file mode 100644
index 000000000..8299dc468
--- /dev/null
+++ b/libjava/java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$UnmodifiableMap$UnmodifiableEntrySet__
+#define __java_util_Collections$UnmodifiableMap$UnmodifiableEntrySet__
+
+#pragma interface
+
+#include <java/util/Collections$UnmodifiableSet.h>
+#include <gcj/array.h>
+
+
+class java::util::Collections$UnmodifiableMap$UnmodifiableEntrySet : public ::java::util::Collections$UnmodifiableSet
+{
+
+public: // actually package-private
+ Collections$UnmodifiableMap$UnmodifiableEntrySet(::java::util::Set *);
+public:
+ ::java::util::Iterator * iterator();
+ JArray< ::java::lang::Object * > * toArray();
+ JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
+private:
+ static const jlong serialVersionUID = 7854390611657943733LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$UnmodifiableMap$UnmodifiableEntrySet__
diff --git a/libjava/java/util/Collections$UnmodifiableMap.h b/libjava/java/util/Collections$UnmodifiableMap.h
new file mode 100644
index 000000000..3aaee0a7b
--- /dev/null
+++ b/libjava/java/util/Collections$UnmodifiableMap.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$UnmodifiableMap__
+#define __java_util_Collections$UnmodifiableMap__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Collections$UnmodifiableMap : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Collections$UnmodifiableMap(::java::util::Map *);
+public:
+ virtual void clear();
+ virtual jboolean containsKey(::java::lang::Object *);
+ virtual jboolean containsValue(::java::lang::Object *);
+ virtual ::java::util::Set * entrySet();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::Object * get(::java::lang::Object *);
+ virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *);
+ virtual jint hashCode();
+ virtual jboolean isEmpty();
+ virtual ::java::util::Set * keySet();
+ virtual void putAll(::java::util::Map *);
+ virtual ::java::lang::Object * remove(::java::lang::Object *);
+ virtual jint size();
+ virtual ::java::lang::String * toString();
+ virtual ::java::util::Collection * values();
+private:
+ static const jlong serialVersionUID = -1034234728574286014LL;
+ ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) m;
+ ::java::util::Set * entries;
+ ::java::util::Set * keys;
+ ::java::util::Collection * values__;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$UnmodifiableMap__
diff --git a/libjava/java/util/Collections$UnmodifiableRandomAccessList.h b/libjava/java/util/Collections$UnmodifiableRandomAccessList.h
new file mode 100644
index 000000000..62a310b41
--- /dev/null
+++ b/libjava/java/util/Collections$UnmodifiableRandomAccessList.h
@@ -0,0 +1,22 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$UnmodifiableRandomAccessList__
+#define __java_util_Collections$UnmodifiableRandomAccessList__
+
+#pragma interface
+
+#include <java/util/Collections$UnmodifiableList.h>
+
+class java::util::Collections$UnmodifiableRandomAccessList : public ::java::util::Collections$UnmodifiableList
+{
+
+public: // actually package-private
+ Collections$UnmodifiableRandomAccessList(::java::util::List *);
+private:
+ static const jlong serialVersionUID = -2542308836966382001LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$UnmodifiableRandomAccessList__
diff --git a/libjava/java/util/Collections$UnmodifiableSet.h b/libjava/java/util/Collections$UnmodifiableSet.h
new file mode 100644
index 000000000..3633ae299
--- /dev/null
+++ b/libjava/java/util/Collections$UnmodifiableSet.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$UnmodifiableSet__
+#define __java_util_Collections$UnmodifiableSet__
+
+#pragma interface
+
+#include <java/util/Collections$UnmodifiableCollection.h>
+
+class java::util::Collections$UnmodifiableSet : public ::java::util::Collections$UnmodifiableCollection
+{
+
+public: // actually package-private
+ Collections$UnmodifiableSet(::java::util::Set *);
+public:
+ virtual jboolean equals(::java::lang::Object *);
+ virtual jint hashCode();
+private:
+ static const jlong serialVersionUID = -9215047833775013803LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$UnmodifiableSet__
diff --git a/libjava/java/util/Collections$UnmodifiableSortedMap.h b/libjava/java/util/Collections$UnmodifiableSortedMap.h
new file mode 100644
index 000000000..6c5a37426
--- /dev/null
+++ b/libjava/java/util/Collections$UnmodifiableSortedMap.h
@@ -0,0 +1,30 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$UnmodifiableSortedMap__
+#define __java_util_Collections$UnmodifiableSortedMap__
+
+#pragma interface
+
+#include <java/util/Collections$UnmodifiableMap.h>
+
+class java::util::Collections$UnmodifiableSortedMap : public ::java::util::Collections$UnmodifiableMap
+{
+
+public: // actually package-private
+ Collections$UnmodifiableSortedMap(::java::util::SortedMap *);
+public:
+ virtual ::java::util::Comparator * comparator();
+ virtual ::java::lang::Object * firstKey();
+ virtual ::java::util::SortedMap * headMap(::java::lang::Object *);
+ virtual ::java::lang::Object * lastKey();
+ virtual ::java::util::SortedMap * subMap(::java::lang::Object *, ::java::lang::Object *);
+ virtual ::java::util::SortedMap * tailMap(::java::lang::Object *);
+private:
+ static const jlong serialVersionUID = -8806743815996713206LL;
+ ::java::util::SortedMap * __attribute__((aligned(__alignof__( ::java::util::Collections$UnmodifiableMap)))) sm;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$UnmodifiableSortedMap__
diff --git a/libjava/java/util/Collections$UnmodifiableSortedSet.h b/libjava/java/util/Collections$UnmodifiableSortedSet.h
new file mode 100644
index 000000000..50d776d6d
--- /dev/null
+++ b/libjava/java/util/Collections$UnmodifiableSortedSet.h
@@ -0,0 +1,30 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections$UnmodifiableSortedSet__
+#define __java_util_Collections$UnmodifiableSortedSet__
+
+#pragma interface
+
+#include <java/util/Collections$UnmodifiableSet.h>
+
+class java::util::Collections$UnmodifiableSortedSet : public ::java::util::Collections$UnmodifiableSet
+{
+
+public: // actually package-private
+ Collections$UnmodifiableSortedSet(::java::util::SortedSet *);
+public:
+ virtual ::java::util::Comparator * comparator();
+ virtual ::java::lang::Object * first();
+ virtual ::java::util::SortedSet * headSet(::java::lang::Object *);
+ virtual ::java::lang::Object * last();
+ virtual ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *);
+ virtual ::java::util::SortedSet * tailSet(::java::lang::Object *);
+private:
+ static const jlong serialVersionUID = -4929149591599911165LL;
+ ::java::util::SortedSet * __attribute__((aligned(__alignof__( ::java::util::Collections$UnmodifiableSet)))) ss;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections$UnmodifiableSortedSet__
diff --git a/libjava/java/util/Collections.h b/libjava/java/util/Collections.h
new file mode 100644
index 000000000..2ca25f898
--- /dev/null
+++ b/libjava/java/util/Collections.h
@@ -0,0 +1,87 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Collections__
+#define __java_util_Collections__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::Collections : public ::java::lang::Object
+{
+
+ static jboolean isSequential(::java::util::List *);
+ Collections();
+public:
+ static ::java::util::Set * emptySet();
+ static ::java::util::List * emptyList();
+ static ::java::util::Map * emptyMap();
+public: // actually package-private
+ static jint compare(::java::lang::Object *, ::java::lang::Object *, ::java::util::Comparator *);
+public:
+ static jint binarySearch(::java::util::List *, ::java::lang::Object *);
+ static jint binarySearch(::java::util::List *, ::java::lang::Object *, ::java::util::Comparator *);
+ static void copy(::java::util::List *, ::java::util::List *);
+ static ::java::util::Enumeration * enumeration(::java::util::Collection *);
+ static void fill(::java::util::List *, ::java::lang::Object *);
+ static jint indexOfSubList(::java::util::List *, ::java::util::List *);
+ static jint lastIndexOfSubList(::java::util::List *, ::java::util::List *);
+ static ::java::util::ArrayList * list(::java::util::Enumeration *);
+ static ::java::lang::Object * max(::java::util::Collection *);
+ static ::java::lang::Object * max(::java::util::Collection *, ::java::util::Comparator *);
+ static ::java::lang::Object * min(::java::util::Collection *);
+ static ::java::lang::Object * min(::java::util::Collection *, ::java::util::Comparator *);
+ static ::java::util::List * nCopies(jint, ::java::lang::Object *);
+ static jboolean replaceAll(::java::util::List *, ::java::lang::Object *, ::java::lang::Object *);
+ static void reverse(::java::util::List *);
+ static ::java::util::Comparator * reverseOrder(::java::util::Comparator *);
+ static ::java::util::Comparator * reverseOrder();
+ static void rotate(::java::util::List *, jint);
+ static void shuffle(::java::util::List *);
+ static void shuffle(::java::util::List *, ::java::util::Random *);
+ static jint frequency(::java::util::Collection *, ::java::lang::Object *);
+ static jboolean addAll(::java::util::Collection *, JArray< ::java::lang::Object * > *);
+ static jboolean disjoint(::java::util::Collection *, ::java::util::Collection *);
+ static ::java::util::Set * singleton(::java::lang::Object *);
+ static ::java::util::List * singletonList(::java::lang::Object *);
+ static ::java::util::Map * singletonMap(::java::lang::Object *, ::java::lang::Object *);
+ static void sort(::java::util::List *);
+ static void sort(::java::util::List *, ::java::util::Comparator *);
+ static void swap(::java::util::List *, jint, jint);
+ static ::java::util::Collection * synchronizedCollection(::java::util::Collection *);
+ static ::java::util::List * synchronizedList(::java::util::List *);
+ static ::java::util::Map * synchronizedMap(::java::util::Map *);
+ static ::java::util::Set * synchronizedSet(::java::util::Set *);
+ static ::java::util::SortedMap * synchronizedSortedMap(::java::util::SortedMap *);
+ static ::java::util::SortedSet * synchronizedSortedSet(::java::util::SortedSet *);
+ static ::java::util::Collection * unmodifiableCollection(::java::util::Collection *);
+ static ::java::util::List * unmodifiableList(::java::util::List *);
+ static ::java::util::Map * unmodifiableMap(::java::util::Map *);
+ static ::java::util::Set * unmodifiableSet(::java::util::Set *);
+ static ::java::util::SortedMap * unmodifiableSortedMap(::java::util::SortedMap *);
+ static ::java::util::SortedSet * unmodifiableSortedSet(::java::util::SortedSet *);
+ static ::java::util::Collection * checkedCollection(::java::util::Collection *, ::java::lang::Class *);
+ static ::java::util::List * checkedList(::java::util::List *, ::java::lang::Class *);
+ static ::java::util::Map * checkedMap(::java::util::Map *, ::java::lang::Class *, ::java::lang::Class *);
+ static ::java::util::Set * checkedSet(::java::util::Set *, ::java::lang::Class *);
+ static ::java::util::SortedMap * checkedSortedMap(::java::util::SortedMap *, ::java::lang::Class *, ::java::lang::Class *);
+ static ::java::util::SortedSet * checkedSortedSet(::java::util::SortedSet *, ::java::lang::Class *);
+ static ::java::util::Queue * asLifoQueue(::java::util::Deque *);
+ static ::java::util::Set * newSetFromMap(::java::util::Map *);
+private:
+ static const jint LARGE_LIST_SIZE = 16;
+public:
+ static ::java::util::Set * EMPTY_SET;
+ static ::java::util::List * EMPTY_LIST;
+ static ::java::util::Map * EMPTY_MAP;
+private:
+ static ::java::util::Collections$ReverseComparator * rcInstance;
+ static ::java::util::Random * defaultRandom;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Collections__
diff --git a/libjava/java/util/Comparator.h b/libjava/java/util/Comparator.h
new file mode 100644
index 000000000..f14275e58
--- /dev/null
+++ b/libjava/java/util/Comparator.h
@@ -0,0 +1,20 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Comparator__
+#define __java_util_Comparator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Comparator : public ::java::lang::Object
+{
+
+public:
+ virtual jint compare(::java::lang::Object *, ::java::lang::Object *) = 0;
+ virtual jboolean equals(::java::lang::Object *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_Comparator__
diff --git a/libjava/java/util/ConcurrentModificationException.h b/libjava/java/util/ConcurrentModificationException.h
new file mode 100644
index 000000000..012ab658d
--- /dev/null
+++ b/libjava/java/util/ConcurrentModificationException.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_ConcurrentModificationException__
+#define __java_util_ConcurrentModificationException__
+
+#pragma interface
+
+#include <java/lang/RuntimeException.h>
+
+class java::util::ConcurrentModificationException : public ::java::lang::RuntimeException
+{
+
+public:
+ ConcurrentModificationException();
+ ConcurrentModificationException(::java::lang::String *);
+private:
+ static const jlong serialVersionUID = -3666751008965953603LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_ConcurrentModificationException__
diff --git a/libjava/java/util/Currency.h b/libjava/java/util/Currency.h
new file mode 100644
index 000000000..2697c97ad
--- /dev/null
+++ b/libjava/java/util/Currency.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Currency__
+#define __java_util_Currency__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Currency : public ::java::lang::Object
+{
+
+ Currency();
+ Currency(::java::util::Locale *);
+ Currency(::java::lang::String *);
+public:
+ ::java::lang::String * getCurrencyCode();
+ jint getDefaultFractionDigits();
+ static ::java::util::Currency * getInstance(::java::util::Locale *);
+ static ::java::util::Currency * getInstance(::java::lang::String *);
+ ::java::lang::String * getSymbol();
+ ::java::lang::String * getSymbol(::java::util::Locale *);
+ ::java::lang::String * toString();
+private:
+ ::java::lang::Object * readResolve();
+public: // actually package-private
+ static const jlong serialVersionUID = -158308464356906721LL;
+private:
+ static ::java::util::Properties * properties;
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) currencyCode;
+ jint fractionDigits;
+ static ::java::util::Map * countryMap;
+ static ::java::util::Map * cache;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Currency__
diff --git a/libjava/java/util/Date.h b/libjava/java/util/Date.h
new file mode 100644
index 000000000..0f801d87a
--- /dev/null
+++ b/libjava/java/util/Date.h
@@ -0,0 +1,69 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Date__
+#define __java_util_Date__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::Date : public ::java::lang::Object
+{
+
+public:
+ Date();
+ Date(jlong);
+ Date(jint, jint, jint);
+ Date(jint, jint, jint, jint, jint);
+ Date(jint, jint, jint, jint, jint, jint);
+ Date(::java::lang::String *);
+ virtual ::java::lang::Object * clone();
+ static jlong UTC(jint, jint, jint, jint, jint, jint);
+ virtual jlong getTime();
+ virtual jint getTimezoneOffset();
+ virtual void setTime(jlong);
+ virtual jboolean after(::java::util::Date *);
+ virtual jboolean before(::java::util::Date *);
+ virtual jboolean equals(::java::lang::Object *);
+ virtual jint Date$compareTo(::java::util::Date *);
+ virtual jint hashCode();
+ virtual ::java::lang::String * toString();
+ virtual ::java::lang::String * toLocaleString();
+ virtual ::java::lang::String * toGMTString();
+private:
+ static jint parseTz(::java::lang::String *, jchar);
+ static jint parseMonth(::java::lang::String *);
+ static jboolean parseDayOfWeek(::java::lang::String *);
+public:
+ static jlong parse(::java::lang::String *);
+ virtual jint getYear();
+ virtual void setYear(jint);
+ virtual jint getMonth();
+ virtual void setMonth(jint);
+ virtual jint getDate();
+ virtual void setDate(jint);
+ virtual jint getDay();
+ virtual jint getHours();
+ virtual void setHours(jint);
+ virtual jint getMinutes();
+ virtual void setMinutes(jint);
+ virtual jint getSeconds();
+ virtual void setSeconds(jint);
+private:
+ void readObject(::java::io::ObjectInputStream *);
+ void writeObject(::java::io::ObjectOutputStream *);
+public:
+ virtual jint compareTo(::java::lang::Object *);
+private:
+ static const jlong serialVersionUID = 7523967970034938905LL;
+ jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) time;
+ static JArray< ::java::lang::String * > * weekNames;
+ static JArray< ::java::lang::String * > * monthNames;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Date__
diff --git a/libjava/java/util/Deque.h b/libjava/java/util/Deque.h
new file mode 100644
index 000000000..0ceb91f82
--- /dev/null
+++ b/libjava/java/util/Deque.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Deque__
+#define __java_util_Deque__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::Deque : public ::java::lang::Object
+{
+
+public:
+ virtual void addFirst(::java::lang::Object *) = 0;
+ virtual void addLast(::java::lang::Object *) = 0;
+ virtual jboolean offerFirst(::java::lang::Object *) = 0;
+ virtual jboolean offerLast(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * removeFirst() = 0;
+ virtual ::java::lang::Object * removeLast() = 0;
+ virtual ::java::lang::Object * pollFirst() = 0;
+ virtual ::java::lang::Object * pollLast() = 0;
+ virtual ::java::lang::Object * getFirst() = 0;
+ virtual ::java::lang::Object * getLast() = 0;
+ virtual ::java::lang::Object * peekFirst() = 0;
+ virtual ::java::lang::Object * peekLast() = 0;
+ virtual jboolean removeFirstOccurrence(::java::lang::Object *) = 0;
+ virtual jboolean removeLastOccurrence(::java::lang::Object *) = 0;
+ virtual jboolean add(::java::lang::Object *) = 0;
+ virtual jboolean offer(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * remove() = 0;
+ virtual ::java::lang::Object * poll() = 0;
+ virtual ::java::lang::Object * element() = 0;
+ virtual ::java::lang::Object * peek() = 0;
+ virtual void push(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * pop() = 0;
+ virtual jboolean remove(::java::lang::Object *) = 0;
+ virtual jboolean contains(::java::lang::Object *) = 0;
+ virtual jint size() = 0;
+ virtual ::java::util::Iterator * iterator() = 0;
+ virtual ::java::util::Iterator * descendingIterator() = 0;
+ virtual jboolean addAll(::java::util::Collection *) = 0;
+ virtual void clear() = 0;
+ virtual jboolean containsAll(::java::util::Collection *) = 0;
+ virtual jboolean isEmpty() = 0;
+ virtual jboolean removeAll(::java::util::Collection *) = 0;
+ virtual jboolean retainAll(::java::util::Collection *) = 0;
+ virtual JArray< ::java::lang::Object * > * toArray() = 0;
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_Deque__
diff --git a/libjava/java/util/Dictionary.h b/libjava/java/util/Dictionary.h
new file mode 100644
index 000000000..5f02531a5
--- /dev/null
+++ b/libjava/java/util/Dictionary.h
@@ -0,0 +1,26 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Dictionary__
+#define __java_util_Dictionary__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Dictionary : public ::java::lang::Object
+{
+
+public:
+ Dictionary();
+ virtual ::java::util::Enumeration * elements() = 0;
+ virtual ::java::lang::Object * get(::java::lang::Object *) = 0;
+ virtual jboolean isEmpty() = 0;
+ virtual ::java::util::Enumeration * keys() = 0;
+ virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * remove(::java::lang::Object *) = 0;
+ virtual jint size() = 0;
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Dictionary__
diff --git a/libjava/java/util/DuplicateFormatFlagsException.h b/libjava/java/util/DuplicateFormatFlagsException.h
new file mode 100644
index 000000000..c384bc026
--- /dev/null
+++ b/libjava/java/util/DuplicateFormatFlagsException.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_DuplicateFormatFlagsException__
+#define __java_util_DuplicateFormatFlagsException__
+
+#pragma interface
+
+#include <java/util/IllegalFormatException.h>
+
+class java::util::DuplicateFormatFlagsException : public ::java::util::IllegalFormatException
+{
+
+public:
+ DuplicateFormatFlagsException(::java::lang::String *);
+ virtual ::java::lang::String * getFlags();
+private:
+ static const jlong serialVersionUID = 18890531LL;
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::IllegalFormatException)))) flags;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_DuplicateFormatFlagsException__
diff --git a/libjava/java/util/EmptyStackException.h b/libjava/java/util/EmptyStackException.h
new file mode 100644
index 000000000..7b5b16759
--- /dev/null
+++ b/libjava/java/util/EmptyStackException.h
@@ -0,0 +1,22 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_EmptyStackException__
+#define __java_util_EmptyStackException__
+
+#pragma interface
+
+#include <java/lang/RuntimeException.h>
+
+class java::util::EmptyStackException : public ::java::lang::RuntimeException
+{
+
+public:
+ EmptyStackException();
+private:
+ static const jlong serialVersionUID = 5084686378493302095LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_EmptyStackException__
diff --git a/libjava/java/util/EnumMap$1.h b/libjava/java/util/EnumMap$1.h
new file mode 100644
index 000000000..9d36b6f39
--- /dev/null
+++ b/libjava/java/util/EnumMap$1.h
@@ -0,0 +1,29 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_EnumMap$1__
+#define __java_util_EnumMap$1__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+
+class java::util::EnumMap$1 : public ::java::util::AbstractSet
+{
+
+public: // actually package-private
+ EnumMap$1(::java::util::EnumMap *);
+public:
+ virtual jint size();
+ virtual ::java::util::Iterator * iterator();
+ virtual void clear();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jboolean remove(::java::lang::Object *);
+public: // actually package-private
+ static ::java::util::EnumMap * access$0(::java::util::EnumMap$1 *);
+ ::java::util::EnumMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_EnumMap$1__
diff --git a/libjava/java/util/EnumMap$2.h b/libjava/java/util/EnumMap$2.h
new file mode 100644
index 000000000..d7753d7ca
--- /dev/null
+++ b/libjava/java/util/EnumMap$2.h
@@ -0,0 +1,29 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_EnumMap$2__
+#define __java_util_EnumMap$2__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::EnumMap$2 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ EnumMap$2(::java::util::EnumMap$1 *);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Enum * EnumMap$2$next();
+ virtual void remove();
+ virtual ::java::lang::Object * next();
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) count;
+ jint index;
+ ::java::util::EnumMap$1 * this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_EnumMap$2__
diff --git a/libjava/java/util/EnumMap$3.h b/libjava/java/util/EnumMap$3.h
new file mode 100644
index 000000000..54fa6aff5
--- /dev/null
+++ b/libjava/java/util/EnumMap$3.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_EnumMap$3__
+#define __java_util_EnumMap$3__
+
+#pragma interface
+
+#include <java/util/AbstractCollection.h>
+
+class java::util::EnumMap$3 : public ::java::util::AbstractCollection
+{
+
+public: // actually package-private
+ EnumMap$3(::java::util::EnumMap *);
+public:
+ virtual jint size();
+ virtual ::java::util::Iterator * iterator();
+ virtual void clear();
+public: // actually package-private
+ static ::java::util::EnumMap * access$0(::java::util::EnumMap$3 *);
+ ::java::util::EnumMap * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_EnumMap$3__
diff --git a/libjava/java/util/EnumMap$4.h b/libjava/java/util/EnumMap$4.h
new file mode 100644
index 000000000..2c8a392b1
--- /dev/null
+++ b/libjava/java/util/EnumMap$4.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_EnumMap$4__
+#define __java_util_EnumMap$4__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::EnumMap$4 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ EnumMap$4(::java::util::EnumMap$3 *);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Object * next();
+ virtual void remove();
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) count;
+ jint index;
+ ::java::util::EnumMap$3 * this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_EnumMap$4__
diff --git a/libjava/java/util/EnumMap$5.h b/libjava/java/util/EnumMap$5.h
new file mode 100644
index 000000000..67aff5608
--- /dev/null
+++ b/libjava/java/util/EnumMap$5.h
@@ -0,0 +1,29 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_EnumMap$5__
+#define __java_util_EnumMap$5__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+
+class java::util::EnumMap$5 : public ::java::util::AbstractSet
+{
+
+public: // actually package-private
+ EnumMap$5(::java::util::EnumMap *);
+public:
+ virtual jint size();
+ virtual ::java::util::Iterator * iterator();
+ virtual void clear();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jboolean remove(::java::lang::Object *);
+public: // actually package-private
+ static ::java::util::EnumMap * access$0(::java::util::EnumMap$5 *);
+ ::java::util::EnumMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_EnumMap$5__
diff --git a/libjava/java/util/EnumMap$6.h b/libjava/java/util/EnumMap$6.h
new file mode 100644
index 000000000..f57eb42fe
--- /dev/null
+++ b/libjava/java/util/EnumMap$6.h
@@ -0,0 +1,30 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_EnumMap$6__
+#define __java_util_EnumMap$6__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::EnumMap$6 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ EnumMap$6(::java::util::EnumMap$5 *);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::util::Map$Entry * EnumMap$6$next();
+ virtual void remove();
+ virtual ::java::lang::Object * next();
+public: // actually package-private
+ static ::java::util::EnumMap$5 * access$1(::java::util::EnumMap$6 *);
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) count;
+ jint index;
+ ::java::util::EnumMap$5 * this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_EnumMap$6__
diff --git a/libjava/java/util/EnumMap$7.h b/libjava/java/util/EnumMap$7.h
new file mode 100644
index 000000000..7f7ef4f72
--- /dev/null
+++ b/libjava/java/util/EnumMap$7.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_EnumMap$7__
+#define __java_util_EnumMap$7__
+
+#pragma interface
+
+#include <java/util/AbstractMap$SimpleEntry.h>
+
+class java::util::EnumMap$7 : public ::java::util::AbstractMap$SimpleEntry
+{
+
+public: // actually package-private
+ EnumMap$7(::java::util::EnumMap$6 *, ::java::lang::Enum *, ::java::lang::Object *);
+public:
+ virtual ::java::lang::Object * setValue(::java::lang::Object *);
+public: // actually package-private
+ ::java::util::EnumMap$6 * __attribute__((aligned(__alignof__( ::java::util::AbstractMap$SimpleEntry)))) this$2;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_EnumMap$7__
diff --git a/libjava/java/util/EnumMap.h b/libjava/java/util/EnumMap.h
new file mode 100644
index 000000000..074f87839
--- /dev/null
+++ b/libjava/java/util/EnumMap.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_EnumMap__
+#define __java_util_EnumMap__
+
+#pragma interface
+
+#include <java/util/AbstractMap.h>
+#include <gcj/array.h>
+
+
+class java::util::EnumMap : public ::java::util::AbstractMap
+{
+
+public:
+ EnumMap(::java::lang::Class *);
+ EnumMap(::java::util::EnumMap *);
+ EnumMap(::java::util::Map *);
+ virtual jint size();
+ virtual jboolean containsValue(::java::lang::Object *);
+ virtual jboolean containsKey(::java::lang::Object *);
+ virtual ::java::lang::Object * get(::java::lang::Object *);
+ virtual ::java::lang::Object * EnumMap$put(::java::lang::Enum *, ::java::lang::Object *);
+ virtual ::java::lang::Object * remove(::java::lang::Object *);
+ virtual void putAll(::java::util::Map *);
+ virtual void clear();
+ virtual ::java::util::Set * keySet();
+ virtual ::java::util::Collection * values();
+ virtual ::java::util::Set * entrySet();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::util::EnumMap * EnumMap$clone();
+ virtual ::java::lang::Object * clone();
+ virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *);
+private:
+ static const jlong serialVersionUID = 458661240069192865LL;
+public: // actually package-private
+ JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::util::AbstractMap)))) store;
+ jint cardinality;
+ ::java::lang::Class * enumClass;
+ ::java::util::Set * entries;
+ static ::java::lang::Object * emptySlot;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_EnumMap__
diff --git a/libjava/java/util/EnumSet$1.h b/libjava/java/util/EnumSet$1.h
new file mode 100644
index 000000000..4d7e3a2b9
--- /dev/null
+++ b/libjava/java/util/EnumSet$1.h
@@ -0,0 +1,31 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_EnumSet$1__
+#define __java_util_EnumSet$1__
+
+#pragma interface
+
+#include <java/util/EnumSet.h>
+
+class java::util::EnumSet$1 : public ::java::util::EnumSet
+{
+
+public: // actually package-private
+ EnumSet$1();
+public:
+ virtual jboolean EnumSet$1$add(::java::lang::Enum *);
+ virtual jboolean addAll(::java::util::Collection *);
+ virtual void clear();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jboolean containsAll(::java::util::Collection *);
+ virtual ::java::util::Iterator * iterator();
+ virtual jboolean remove(::java::lang::Object *);
+ virtual jboolean removeAll(::java::util::Collection *);
+ virtual jboolean retainAll(::java::util::Collection *);
+ virtual jint size();
+ virtual jboolean add(::java::lang::Object *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_EnumSet$1__
diff --git a/libjava/java/util/EnumSet$2.h b/libjava/java/util/EnumSet$2.h
new file mode 100644
index 000000000..14464a1ac
--- /dev/null
+++ b/libjava/java/util/EnumSet$2.h
@@ -0,0 +1,29 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_EnumSet$2__
+#define __java_util_EnumSet$2__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::EnumSet$2 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ EnumSet$2(::java::util::EnumSet$1 *);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Enum * EnumSet$2$next();
+ virtual void remove();
+ virtual ::java::lang::Object * next();
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) next__;
+ jint count;
+ ::java::util::EnumSet$1 * this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_EnumSet$2__
diff --git a/libjava/java/util/EnumSet.h b/libjava/java/util/EnumSet.h
new file mode 100644
index 000000000..5497e306d
--- /dev/null
+++ b/libjava/java/util/EnumSet.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_EnumSet__
+#define __java_util_EnumSet__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+#include <gcj/array.h>
+
+
+class java::util::EnumSet : public ::java::util::AbstractSet
+{
+
+public: // actually package-private
+ EnumSet();
+public:
+ virtual ::java::util::EnumSet * EnumSet$clone();
+ static ::java::util::EnumSet * allOf(::java::lang::Class *);
+ static ::java::util::EnumSet * noneOf(::java::lang::Class *);
+ static ::java::util::EnumSet * copyOf(::java::util::EnumSet *);
+ static ::java::util::EnumSet * copyOf(::java::util::Collection *);
+ static ::java::util::EnumSet * complementOf(::java::util::EnumSet *);
+ static ::java::util::EnumSet * of(::java::lang::Enum *);
+ static ::java::util::EnumSet * of(::java::lang::Enum *, ::java::lang::Enum *);
+ static ::java::util::EnumSet * of(::java::lang::Enum *, ::java::lang::Enum *, ::java::lang::Enum *);
+ static ::java::util::EnumSet * of(::java::lang::Enum *, ::java::lang::Enum *, ::java::lang::Enum *, ::java::lang::Enum *);
+ static ::java::util::EnumSet * of(::java::lang::Enum *, ::java::lang::Enum *, ::java::lang::Enum *, ::java::lang::Enum *, ::java::lang::Enum *);
+ static ::java::util::EnumSet * of(::java::lang::Enum *, JArray< ::java::lang::Enum * > *);
+ static ::java::util::EnumSet * range(::java::lang::Enum *, ::java::lang::Enum *);
+ virtual ::java::lang::Object * clone();
+private:
+ static const jlong serialVersionUID = 4782406773684236311LL;
+public: // actually package-private
+ ::java::util::BitSet * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) store;
+ jint cardinality;
+ ::java::lang::Class * enumClass;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_EnumSet__
diff --git a/libjava/java/util/Enumeration.h b/libjava/java/util/Enumeration.h
new file mode 100644
index 000000000..a79045f0e
--- /dev/null
+++ b/libjava/java/util/Enumeration.h
@@ -0,0 +1,20 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Enumeration__
+#define __java_util_Enumeration__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Enumeration : public ::java::lang::Object
+{
+
+public:
+ virtual jboolean hasMoreElements() = 0;
+ virtual ::java::lang::Object * nextElement() = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_Enumeration__
diff --git a/libjava/java/util/EventListener.h b/libjava/java/util/EventListener.h
new file mode 100644
index 000000000..7ab4585c9
--- /dev/null
+++ b/libjava/java/util/EventListener.h
@@ -0,0 +1,18 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_EventListener__
+#define __java_util_EventListener__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::EventListener : public ::java::lang::Object
+{
+
+public:
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_EventListener__
diff --git a/libjava/java/util/EventListenerProxy.h b/libjava/java/util/EventListenerProxy.h
new file mode 100644
index 000000000..06f165097
--- /dev/null
+++ b/libjava/java/util/EventListenerProxy.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_EventListenerProxy__
+#define __java_util_EventListenerProxy__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::EventListenerProxy : public ::java::lang::Object
+{
+
+public:
+ EventListenerProxy(::java::util::EventListener *);
+ virtual ::java::util::EventListener * getListener();
+private:
+ ::java::util::EventListener * __attribute__((aligned(__alignof__( ::java::lang::Object)))) listener;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_EventListenerProxy__
diff --git a/libjava/java/util/EventObject.h b/libjava/java/util/EventObject.h
new file mode 100644
index 000000000..bd1862b95
--- /dev/null
+++ b/libjava/java/util/EventObject.h
@@ -0,0 +1,26 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_EventObject__
+#define __java_util_EventObject__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::EventObject : public ::java::lang::Object
+{
+
+public:
+ EventObject(::java::lang::Object *);
+ virtual ::java::lang::Object * getSource();
+ virtual ::java::lang::String * toString();
+private:
+ static const jlong serialVersionUID = 5516075349620653480LL;
+public: // actually protected
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) source;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_EventObject__
diff --git a/libjava/java/util/FormatFlagsConversionMismatchException.h b/libjava/java/util/FormatFlagsConversionMismatchException.h
new file mode 100644
index 000000000..ce0d3fe3d
--- /dev/null
+++ b/libjava/java/util/FormatFlagsConversionMismatchException.h
@@ -0,0 +1,26 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_FormatFlagsConversionMismatchException__
+#define __java_util_FormatFlagsConversionMismatchException__
+
+#pragma interface
+
+#include <java/util/IllegalFormatException.h>
+
+class java::util::FormatFlagsConversionMismatchException : public ::java::util::IllegalFormatException
+{
+
+public:
+ FormatFlagsConversionMismatchException(::java::lang::String *, jchar);
+ virtual jchar getConversion();
+ virtual ::java::lang::String * getFlags();
+private:
+ static const jlong serialVersionUID = 19120414LL;
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::IllegalFormatException)))) f;
+ jchar c;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_FormatFlagsConversionMismatchException__
diff --git a/libjava/java/util/Formattable.h b/libjava/java/util/Formattable.h
new file mode 100644
index 000000000..7af1df738
--- /dev/null
+++ b/libjava/java/util/Formattable.h
@@ -0,0 +1,19 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Formattable__
+#define __java_util_Formattable__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Formattable : public ::java::lang::Object
+{
+
+public:
+ virtual void formatTo(::java::util::Formatter *, jint, jint, jint) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_Formattable__
diff --git a/libjava/java/util/FormattableFlags.h b/libjava/java/util/FormattableFlags.h
new file mode 100644
index 000000000..36fba012b
--- /dev/null
+++ b/libjava/java/util/FormattableFlags.h
@@ -0,0 +1,29 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_FormattableFlags__
+#define __java_util_FormattableFlags__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::FormattableFlags : public ::java::lang::Object
+{
+
+ FormattableFlags();
+public:
+ static const jint LEFT_JUSTIFY = 1;
+ static const jint UPPERCASE = 2;
+ static const jint ALTERNATE = 4;
+public: // actually package-private
+ static const jint PLUS = 8;
+ static const jint SPACE = 16;
+ static const jint ZERO = 32;
+ static const jint COMMA = 64;
+ static const jint PAREN = 128;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_FormattableFlags__
diff --git a/libjava/java/util/Formatter$BigDecimalLayoutForm.h b/libjava/java/util/Formatter$BigDecimalLayoutForm.h
new file mode 100644
index 000000000..a6ea3a893
--- /dev/null
+++ b/libjava/java/util/Formatter$BigDecimalLayoutForm.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Formatter$BigDecimalLayoutForm__
+#define __java_util_Formatter$BigDecimalLayoutForm__
+
+#pragma interface
+
+#include <java/lang/Enum.h>
+#include <gcj/array.h>
+
+
+class java::util::Formatter$BigDecimalLayoutForm : public ::java::lang::Enum
+{
+
+ Formatter$BigDecimalLayoutForm(::java::lang::String *, jint);
+public:
+ static JArray< ::java::util::Formatter$BigDecimalLayoutForm * > * values();
+ static ::java::util::Formatter$BigDecimalLayoutForm * valueOf(::java::lang::String *);
+ static ::java::util::Formatter$BigDecimalLayoutForm * DECIMAL_FLOAT;
+ static ::java::util::Formatter$BigDecimalLayoutForm * SCIENTIFIC;
+private:
+ static JArray< ::java::util::Formatter$BigDecimalLayoutForm * > * ENUM$VALUES;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Formatter$BigDecimalLayoutForm__
diff --git a/libjava/java/util/Formatter.h b/libjava/java/util/Formatter.h
new file mode 100644
index 000000000..71a659f66
--- /dev/null
+++ b/libjava/java/util/Formatter.h
@@ -0,0 +1,100 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Formatter__
+#define __java_util_Formatter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace text
+ {
+ class DateFormatSymbols;
+ }
+ }
+}
+
+class java::util::Formatter : public ::java::lang::Object
+{
+
+public:
+ Formatter();
+ Formatter(::java::util::Locale *);
+ Formatter(::java::lang::Appendable *);
+ Formatter(::java::lang::Appendable *, ::java::util::Locale *);
+ Formatter(::java::io::File *);
+ Formatter(::java::io::File *, ::java::lang::String *);
+ Formatter(::java::io::File *, ::java::lang::String *, ::java::util::Locale *);
+ Formatter(::java::io::OutputStream *);
+ Formatter(::java::io::OutputStream *, ::java::lang::String *);
+ Formatter(::java::io::OutputStream *, ::java::lang::String *, ::java::util::Locale *);
+ Formatter(::java::io::PrintStream *);
+ Formatter(::java::lang::String *);
+ Formatter(::java::lang::String *, ::java::lang::String *);
+ Formatter(::java::lang::String *, ::java::lang::String *, ::java::util::Locale *);
+ void close();
+ void flush();
+private:
+ ::java::lang::String * getName(jint);
+ void checkFlags(jint, jint, jchar);
+ void noPrecision(jint);
+ void applyLocalization(::gnu::java::lang::CPStringBuilder *, jint, jint, jboolean);
+ void genericFormat(::java::lang::String *, jint, jint, jint);
+ void booleanFormat(::java::lang::Object *, jint, jint, jint, jchar);
+ void hashCodeFormat(::java::lang::Object *, jint, jint, jint, jchar);
+ void stringFormat(::java::lang::Object *, jint, jint, jint, jchar);
+ void characterFormat(::java::lang::Object *, jint, jint, jint, jchar);
+ void percentFormat(jint, jint, jint);
+ void newLineFormat(jint, jint, jint);
+ ::gnu::java::lang::CPStringBuilder * basicIntegralConversion(::java::lang::Object *, jint, jint, jint, jint, jchar);
+ void hexOrOctalConversion(::java::lang::Object *, jint, jint, jint, jint, jchar);
+ void decimalConversion(::java::lang::Object *, jint, jint, jint, jchar);
+ void singleDateTimeConversion(::gnu::java::lang::CPStringBuilder *, ::java::util::Calendar *, jchar, ::java::text::DateFormatSymbols *);
+ void dateTimeConversion(::java::lang::Object *, jint, jint, jint, jchar, jchar);
+ void advance();
+ jint parseInt();
+ jint parseArgumentIndex();
+ jint parseFlags();
+ jint parseWidth();
+ jint parsePrecision();
+public:
+ ::java::util::Formatter * format(::java::util::Locale *, ::java::lang::String *, JArray< ::java::lang::Object * > *);
+ ::java::util::Formatter * format(::java::lang::String *, JArray< ::java::lang::Object * > *);
+ ::java::io::IOException * ioException();
+ ::java::util::Locale * locale();
+ ::java::lang::Appendable * out();
+ ::java::lang::String * toString();
+private:
+ ::java::lang::Appendable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) out__;
+ ::java::util::Locale * locale__;
+ jboolean closed;
+ ::java::io::IOException * ioException__;
+ ::java::lang::String * format__;
+ jint index;
+ jint length;
+ ::java::util::Locale * fmtLocale;
+ static ::java::lang::String * FLAGS;
+ static ::java::lang::String * lineSeparator;
+public: // actually package-private
+ static jboolean $assertionsDisabled;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Formatter__
diff --git a/libjava/java/util/FormatterClosedException.h b/libjava/java/util/FormatterClosedException.h
new file mode 100644
index 000000000..e4e950bca
--- /dev/null
+++ b/libjava/java/util/FormatterClosedException.h
@@ -0,0 +1,22 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_FormatterClosedException__
+#define __java_util_FormatterClosedException__
+
+#pragma interface
+
+#include <java/lang/IllegalStateException.h>
+
+class java::util::FormatterClosedException : public ::java::lang::IllegalStateException
+{
+
+public:
+ FormatterClosedException();
+private:
+ static const jlong serialVersionUID = 18111216LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_FormatterClosedException__
diff --git a/libjava/java/util/GregorianCalendar.h b/libjava/java/util/GregorianCalendar.h
new file mode 100644
index 000000000..9fe77cde5
--- /dev/null
+++ b/libjava/java/util/GregorianCalendar.h
@@ -0,0 +1,71 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_GregorianCalendar__
+#define __java_util_GregorianCalendar__
+
+#pragma interface
+
+#include <java/util/Calendar.h>
+#include <gcj/array.h>
+
+
+class java::util::GregorianCalendar : public ::java::util::Calendar
+{
+
+public:
+ GregorianCalendar();
+ GregorianCalendar(::java::util::TimeZone *);
+ GregorianCalendar(::java::util::Locale *);
+ GregorianCalendar(::java::util::TimeZone *, ::java::util::Locale *);
+private:
+ GregorianCalendar(::java::util::TimeZone *, ::java::util::Locale *, jboolean);
+public:
+ GregorianCalendar(jint, jint, jint);
+ GregorianCalendar(jint, jint, jint, jint, jint);
+ GregorianCalendar(jint, jint, jint, jint, jint, jint);
+ virtual void setGregorianChange(::java::util::Date *);
+ virtual ::java::util::Date * getGregorianChange();
+ virtual jboolean isLeapYear(jint);
+private:
+ jint getWeekDay(jint, jint);
+ jint getFirstDayOfMonth(jint, jint);
+ jboolean isGregorian(jint, jint);
+ void nonLeniencyCheck();
+public: // actually protected
+ virtual void computeTime();
+private:
+ jlong getLinearDay(jint, jint, jboolean);
+ void calculateDay(JArray< jint > *, jlong, jboolean);
+public: // actually protected
+ virtual void computeFields();
+public:
+ virtual jint hashCode();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual void add(jint, jint);
+ virtual void roll(jint, jboolean);
+private:
+ void cleanUpAfterRoll(jint, jint);
+public:
+ virtual void roll(jint, jint);
+ virtual jint getMinimum(jint);
+ virtual jint getMaximum(jint);
+ virtual jint getGreatestMinimum(jint);
+ virtual jint getLeastMaximum(jint);
+ virtual jint getActualMinimum(jint);
+ virtual jint getActualMaximum(jint);
+ static const jint BC = 0;
+ static const jint AD = 1;
+private:
+ jlong __attribute__((aligned(__alignof__( ::java::util::Calendar)))) gregorianCutover;
+public: // actually package-private
+ static const jlong serialVersionUID = -8125100834729963327LL;
+private:
+ static const jint EPOCH_DAYS = 719162;
+ static JArray< jint > * minimums;
+ static JArray< jint > * maximums;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_GregorianCalendar__
diff --git a/libjava/java/util/HashMap$1.h b/libjava/java/util/HashMap$1.h
new file mode 100644
index 000000000..abf0354c9
--- /dev/null
+++ b/libjava/java/util/HashMap$1.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_HashMap$1__
+#define __java_util_HashMap$1__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+
+class java::util::HashMap$1 : public ::java::util::AbstractSet
+{
+
+public: // actually package-private
+ HashMap$1(::java::util::HashMap *);
+public:
+ virtual jint size();
+ virtual ::java::util::Iterator * iterator();
+ virtual void clear();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jboolean remove(::java::lang::Object *);
+public: // actually package-private
+ ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_HashMap$1__
diff --git a/libjava/java/util/HashMap$2.h b/libjava/java/util/HashMap$2.h
new file mode 100644
index 000000000..8b90c54f5
--- /dev/null
+++ b/libjava/java/util/HashMap$2.h
@@ -0,0 +1,26 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_HashMap$2__
+#define __java_util_HashMap$2__
+
+#pragma interface
+
+#include <java/util/AbstractCollection.h>
+
+class java::util::HashMap$2 : public ::java::util::AbstractCollection
+{
+
+public: // actually package-private
+ HashMap$2(::java::util::HashMap *);
+public:
+ virtual jint size();
+ virtual ::java::util::Iterator * iterator();
+ virtual void clear();
+public: // actually package-private
+ ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_HashMap$2__
diff --git a/libjava/java/util/HashMap$3.h b/libjava/java/util/HashMap$3.h
new file mode 100644
index 000000000..dc988a071
--- /dev/null
+++ b/libjava/java/util/HashMap$3.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_HashMap$3__
+#define __java_util_HashMap$3__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+
+class java::util::HashMap$3 : public ::java::util::AbstractSet
+{
+
+public: // actually package-private
+ HashMap$3(::java::util::HashMap *);
+public:
+ virtual jint size();
+ virtual ::java::util::Iterator * iterator();
+ virtual void clear();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jboolean remove(::java::lang::Object *);
+public: // actually package-private
+ ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_HashMap$3__
diff --git a/libjava/java/util/HashMap$HashEntry.h b/libjava/java/util/HashMap$HashEntry.h
new file mode 100644
index 000000000..9f0093d7f
--- /dev/null
+++ b/libjava/java/util/HashMap$HashEntry.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_HashMap$HashEntry__
+#define __java_util_HashMap$HashEntry__
+
+#pragma interface
+
+#include <java/util/AbstractMap$SimpleEntry.h>
+
+class java::util::HashMap$HashEntry : public ::java::util::AbstractMap$SimpleEntry
+{
+
+public: // actually package-private
+ HashMap$HashEntry(::java::lang::Object *, ::java::lang::Object *);
+ virtual void access();
+ virtual ::java::lang::Object * cleanup();
+ ::java::util::HashMap$HashEntry * __attribute__((aligned(__alignof__( ::java::util::AbstractMap$SimpleEntry)))) next;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_HashMap$HashEntry__
diff --git a/libjava/java/util/HashMap$HashIterator.h b/libjava/java/util/HashMap$HashIterator.h
new file mode 100644
index 000000000..b56fb350c
--- /dev/null
+++ b/libjava/java/util/HashMap$HashIterator.h
@@ -0,0 +1,33 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_HashMap$HashIterator__
+#define __java_util_HashMap$HashIterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::HashMap$HashIterator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ HashMap$HashIterator(::java::util::HashMap *, jint);
+public:
+ jboolean hasNext();
+ ::java::lang::Object * next();
+ void remove();
+private:
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) type;
+ jint knownMod;
+ jint count;
+ jint idx;
+ ::java::util::HashMap$HashEntry * last;
+ ::java::util::HashMap$HashEntry * next__;
+public: // actually package-private
+ ::java::util::HashMap * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_HashMap$HashIterator__
diff --git a/libjava/java/util/HashMap.h b/libjava/java/util/HashMap.h
new file mode 100644
index 000000000..5b8c77f10
--- /dev/null
+++ b/libjava/java/util/HashMap.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_HashMap__
+#define __java_util_HashMap__
+
+#pragma interface
+
+#include <java/util/AbstractMap.h>
+#include <gcj/array.h>
+
+
+class java::util::HashMap : public ::java::util::AbstractMap
+{
+
+public:
+ HashMap();
+ HashMap(::java::util::Map *);
+ HashMap(jint);
+ HashMap(jint, jfloat);
+ virtual jint size();
+ virtual jboolean isEmpty();
+ virtual ::java::lang::Object * get(::java::lang::Object *);
+ virtual jboolean containsKey(::java::lang::Object *);
+ virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *);
+ virtual void putAll(::java::util::Map *);
+ virtual ::java::lang::Object * remove(::java::lang::Object *);
+ virtual void clear();
+ virtual jboolean containsValue(::java::lang::Object *);
+ virtual ::java::lang::Object * clone();
+ virtual ::java::util::Set * keySet();
+ virtual ::java::util::Collection * values();
+ virtual ::java::util::Set * entrySet();
+public: // actually package-private
+ virtual void addEntry(::java::lang::Object *, ::java::lang::Object *, jint, jboolean);
+ virtual ::java::util::HashMap$HashEntry * getEntry(::java::lang::Object *);
+ virtual jint hash(::java::lang::Object *);
+ virtual ::java::util::Iterator * iterator(jint);
+ virtual void putAllInternal(::java::util::Map *);
+private:
+ void rehash();
+ void writeObject(::java::io::ObjectOutputStream *);
+ void readObject(::java::io::ObjectInputStream *);
+public: // actually package-private
+ static const jint DEFAULT_CAPACITY = 11;
+ static jfloat DEFAULT_LOAD_FACTOR;
+private:
+ static const jlong serialVersionUID = 362498820763181265LL;
+ jint __attribute__((aligned(__alignof__( ::java::util::AbstractMap)))) threshold;
+public: // actually package-private
+ jfloat loadFactor;
+ JArray< ::java::util::HashMap$HashEntry * > * buckets;
+ jint modCount;
+ jint size__;
+private:
+ ::java::util::Set * entries;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_HashMap__
diff --git a/libjava/java/util/HashSet.h b/libjava/java/util/HashSet.h
new file mode 100644
index 000000000..0d96ab91c
--- /dev/null
+++ b/libjava/java/util/HashSet.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_HashSet__
+#define __java_util_HashSet__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+
+class java::util::HashSet : public ::java::util::AbstractSet
+{
+
+public:
+ HashSet();
+ HashSet(jint);
+ HashSet(jint, jfloat);
+ HashSet(::java::util::Collection *);
+ virtual jboolean add(::java::lang::Object *);
+ virtual void clear();
+ virtual ::java::lang::Object * clone();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jboolean isEmpty();
+ virtual ::java::util::Iterator * iterator();
+ virtual jboolean remove(::java::lang::Object *);
+ virtual jint size();
+public: // actually package-private
+ virtual ::java::util::HashMap * init(jint, jfloat);
+private:
+ void writeObject(::java::io::ObjectOutputStream *);
+ void readObject(::java::io::ObjectInputStream *);
+ static const jlong serialVersionUID = -5024744406713321676LL;
+ ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) map;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_HashSet__
diff --git a/libjava/java/util/Hashtable$1.h b/libjava/java/util/Hashtable$1.h
new file mode 100644
index 000000000..c2dbaf0c1
--- /dev/null
+++ b/libjava/java/util/Hashtable$1.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Hashtable$1__
+#define __java_util_Hashtable$1__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+
+class java::util::Hashtable$1 : public ::java::util::AbstractSet
+{
+
+public: // actually package-private
+ Hashtable$1(::java::util::Hashtable *);
+public:
+ virtual jint size();
+ virtual ::java::util::Iterator * iterator();
+ virtual void clear();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jboolean remove(::java::lang::Object *);
+public: // actually package-private
+ ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Hashtable$1__
diff --git a/libjava/java/util/Hashtable$2.h b/libjava/java/util/Hashtable$2.h
new file mode 100644
index 000000000..12939c75c
--- /dev/null
+++ b/libjava/java/util/Hashtable$2.h
@@ -0,0 +1,26 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Hashtable$2__
+#define __java_util_Hashtable$2__
+
+#pragma interface
+
+#include <java/util/AbstractCollection.h>
+
+class java::util::Hashtable$2 : public ::java::util::AbstractCollection
+{
+
+public: // actually package-private
+ Hashtable$2(::java::util::Hashtable *);
+public:
+ virtual jint size();
+ virtual ::java::util::Iterator * iterator();
+ virtual void clear();
+public: // actually package-private
+ ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Hashtable$2__
diff --git a/libjava/java/util/Hashtable$3.h b/libjava/java/util/Hashtable$3.h
new file mode 100644
index 000000000..9804a67d8
--- /dev/null
+++ b/libjava/java/util/Hashtable$3.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Hashtable$3__
+#define __java_util_Hashtable$3__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+
+class java::util::Hashtable$3 : public ::java::util::AbstractSet
+{
+
+public: // actually package-private
+ Hashtable$3(::java::util::Hashtable *);
+public:
+ virtual jint size();
+ virtual ::java::util::Iterator * iterator();
+ virtual void clear();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jboolean remove(::java::lang::Object *);
+public: // actually package-private
+ ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Hashtable$3__
diff --git a/libjava/java/util/Hashtable$EntryEnumerator.h b/libjava/java/util/Hashtable$EntryEnumerator.h
new file mode 100644
index 000000000..a0f160153
--- /dev/null
+++ b/libjava/java/util/Hashtable$EntryEnumerator.h
@@ -0,0 +1,29 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Hashtable$EntryEnumerator__
+#define __java_util_Hashtable$EntryEnumerator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Hashtable$EntryEnumerator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Hashtable$EntryEnumerator(::java::util::Hashtable *);
+public:
+ virtual jboolean hasMoreElements();
+ virtual ::java::util::Map$Entry * Hashtable$EntryEnumerator$nextElement();
+ virtual ::java::lang::Object * nextElement();
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) count;
+ jint idx;
+ ::java::util::Hashtable$HashEntry * next;
+ ::java::util::Hashtable * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Hashtable$EntryEnumerator__
diff --git a/libjava/java/util/Hashtable$EntryIterator.h b/libjava/java/util/Hashtable$EntryIterator.h
new file mode 100644
index 000000000..7927391ef
--- /dev/null
+++ b/libjava/java/util/Hashtable$EntryIterator.h
@@ -0,0 +1,32 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Hashtable$EntryIterator__
+#define __java_util_Hashtable$EntryIterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Hashtable$EntryIterator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Hashtable$EntryIterator(::java::util::Hashtable *);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::util::Map$Entry * Hashtable$EntryIterator$next();
+ virtual void remove();
+ virtual ::java::lang::Object * next();
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) knownMod;
+ jint count;
+ jint idx;
+ ::java::util::Hashtable$HashEntry * last;
+ ::java::util::Hashtable$HashEntry * next__;
+ ::java::util::Hashtable * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Hashtable$EntryIterator__
diff --git a/libjava/java/util/Hashtable$HashEntry.h b/libjava/java/util/Hashtable$HashEntry.h
new file mode 100644
index 000000000..c0a1c581b
--- /dev/null
+++ b/libjava/java/util/Hashtable$HashEntry.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Hashtable$HashEntry__
+#define __java_util_Hashtable$HashEntry__
+
+#pragma interface
+
+#include <java/util/AbstractMap$SimpleEntry.h>
+
+class java::util::Hashtable$HashEntry : public ::java::util::AbstractMap$SimpleEntry
+{
+
+public: // actually package-private
+ Hashtable$HashEntry(::java::lang::Object *, ::java::lang::Object *);
+public:
+ ::java::lang::Object * setValue(::java::lang::Object *);
+public: // actually package-private
+ ::java::util::Hashtable$HashEntry * __attribute__((aligned(__alignof__( ::java::util::AbstractMap$SimpleEntry)))) next;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Hashtable$HashEntry__
diff --git a/libjava/java/util/Hashtable$KeyEnumerator.h b/libjava/java/util/Hashtable$KeyEnumerator.h
new file mode 100644
index 000000000..db4765da7
--- /dev/null
+++ b/libjava/java/util/Hashtable$KeyEnumerator.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Hashtable$KeyEnumerator__
+#define __java_util_Hashtable$KeyEnumerator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Hashtable$KeyEnumerator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Hashtable$KeyEnumerator(::java::util::Hashtable *);
+public:
+ jboolean hasMoreElements();
+ ::java::lang::Object * nextElement();
+private:
+ ::java::util::Hashtable$EntryEnumerator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) enumerator;
+public: // actually package-private
+ ::java::util::Hashtable * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Hashtable$KeyEnumerator__
diff --git a/libjava/java/util/Hashtable$KeyIterator.h b/libjava/java/util/Hashtable$KeyIterator.h
new file mode 100644
index 000000000..faf1d9322
--- /dev/null
+++ b/libjava/java/util/Hashtable$KeyIterator.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Hashtable$KeyIterator__
+#define __java_util_Hashtable$KeyIterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Hashtable$KeyIterator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Hashtable$KeyIterator(::java::util::Hashtable *);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Object * next();
+ virtual void remove();
+private:
+ ::java::util::Hashtable$EntryIterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) iterator;
+public: // actually package-private
+ ::java::util::Hashtable * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Hashtable$KeyIterator__
diff --git a/libjava/java/util/Hashtable$ValueEnumerator.h b/libjava/java/util/Hashtable$ValueEnumerator.h
new file mode 100644
index 000000000..4dce71ab7
--- /dev/null
+++ b/libjava/java/util/Hashtable$ValueEnumerator.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Hashtable$ValueEnumerator__
+#define __java_util_Hashtable$ValueEnumerator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Hashtable$ValueEnumerator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Hashtable$ValueEnumerator(::java::util::Hashtable *);
+public:
+ jboolean hasMoreElements();
+ ::java::lang::Object * nextElement();
+private:
+ ::java::util::Hashtable$EntryEnumerator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) enumerator;
+public: // actually package-private
+ ::java::util::Hashtable * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Hashtable$ValueEnumerator__
diff --git a/libjava/java/util/Hashtable$ValueIterator.h b/libjava/java/util/Hashtable$ValueIterator.h
new file mode 100644
index 000000000..d25279837
--- /dev/null
+++ b/libjava/java/util/Hashtable$ValueIterator.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Hashtable$ValueIterator__
+#define __java_util_Hashtable$ValueIterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Hashtable$ValueIterator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Hashtable$ValueIterator(::java::util::Hashtable *);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Object * next();
+ virtual void remove();
+private:
+ ::java::util::Hashtable$EntryIterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) iterator;
+public: // actually package-private
+ ::java::util::Hashtable * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Hashtable$ValueIterator__
diff --git a/libjava/java/util/Hashtable.h b/libjava/java/util/Hashtable.h
new file mode 100644
index 000000000..bc33cb149
--- /dev/null
+++ b/libjava/java/util/Hashtable.h
@@ -0,0 +1,67 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Hashtable__
+#define __java_util_Hashtable__
+
+#pragma interface
+
+#include <java/util/Dictionary.h>
+#include <gcj/array.h>
+
+
+class java::util::Hashtable : public ::java::util::Dictionary
+{
+
+public:
+ Hashtable();
+ Hashtable(::java::util::Map *);
+ Hashtable(jint);
+ Hashtable(jint, jfloat);
+ virtual jint size();
+ virtual jboolean isEmpty();
+ virtual ::java::util::Enumeration * keys();
+ virtual ::java::util::Enumeration * elements();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jboolean containsValue(::java::lang::Object *);
+ virtual jboolean containsKey(::java::lang::Object *);
+ virtual ::java::lang::Object * get(::java::lang::Object *);
+ virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *);
+ virtual ::java::lang::Object * remove(::java::lang::Object *);
+ virtual void putAll(::java::util::Map *);
+ virtual void clear();
+ virtual ::java::lang::Object * clone();
+ virtual ::java::lang::String * toString();
+ virtual ::java::util::Set * keySet();
+ virtual ::java::util::Collection * values();
+ virtual ::java::util::Set * entrySet();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual jint hashCode();
+private:
+ jint hash(::java::lang::Object *);
+public: // actually package-private
+ virtual ::java::util::Hashtable$HashEntry * getEntry(::java::lang::Object *);
+ virtual void putAllInternal(::java::util::Map *);
+public: // actually protected
+ virtual void rehash();
+private:
+ void writeObject(::java::io::ObjectOutputStream *);
+ void readObject(::java::io::ObjectInputStream *);
+ static const jint DEFAULT_CAPACITY = 11;
+ static jfloat DEFAULT_LOAD_FACTOR;
+ static const jlong serialVersionUID = 1421746759512286392LL;
+ jint __attribute__((aligned(__alignof__( ::java::util::Dictionary)))) threshold;
+ jfloat loadFactor;
+public: // actually package-private
+ JArray< ::java::util::Hashtable$HashEntry * > * buckets;
+ jint modCount;
+ jint size__;
+private:
+ ::java::util::Set * keys__;
+ ::java::util::Collection * values__;
+ ::java::util::Set * entries;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Hashtable__
diff --git a/libjava/java/util/IdentityHashMap$1.h b/libjava/java/util/IdentityHashMap$1.h
new file mode 100644
index 000000000..e2e37f47b
--- /dev/null
+++ b/libjava/java/util/IdentityHashMap$1.h
@@ -0,0 +1,29 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_IdentityHashMap$1__
+#define __java_util_IdentityHashMap$1__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+
+class java::util::IdentityHashMap$1 : public ::java::util::AbstractSet
+{
+
+public: // actually package-private
+ IdentityHashMap$1(::java::util::IdentityHashMap *);
+public:
+ virtual jint size();
+ virtual ::java::util::Iterator * iterator();
+ virtual void clear();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jint hashCode();
+ virtual jboolean remove(::java::lang::Object *);
+public: // actually package-private
+ ::java::util::IdentityHashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_IdentityHashMap$1__
diff --git a/libjava/java/util/IdentityHashMap$2.h b/libjava/java/util/IdentityHashMap$2.h
new file mode 100644
index 000000000..f45ba8f72
--- /dev/null
+++ b/libjava/java/util/IdentityHashMap$2.h
@@ -0,0 +1,29 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_IdentityHashMap$2__
+#define __java_util_IdentityHashMap$2__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+
+class java::util::IdentityHashMap$2 : public ::java::util::AbstractSet
+{
+
+public: // actually package-private
+ IdentityHashMap$2(::java::util::IdentityHashMap *);
+public:
+ virtual jint size();
+ virtual ::java::util::Iterator * iterator();
+ virtual void clear();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jint hashCode();
+ virtual jboolean remove(::java::lang::Object *);
+public: // actually package-private
+ ::java::util::IdentityHashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_IdentityHashMap$2__
diff --git a/libjava/java/util/IdentityHashMap$3.h b/libjava/java/util/IdentityHashMap$3.h
new file mode 100644
index 000000000..42deb4932
--- /dev/null
+++ b/libjava/java/util/IdentityHashMap$3.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_IdentityHashMap$3__
+#define __java_util_IdentityHashMap$3__
+
+#pragma interface
+
+#include <java/util/AbstractCollection.h>
+
+class java::util::IdentityHashMap$3 : public ::java::util::AbstractCollection
+{
+
+public: // actually package-private
+ IdentityHashMap$3(::java::util::IdentityHashMap *);
+public:
+ virtual jint size();
+ virtual ::java::util::Iterator * iterator();
+ virtual void clear();
+ virtual jboolean remove(::java::lang::Object *);
+public: // actually package-private
+ ::java::util::IdentityHashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_IdentityHashMap$3__
diff --git a/libjava/java/util/IdentityHashMap$IdentityEntry.h b/libjava/java/util/IdentityHashMap$IdentityEntry.h
new file mode 100644
index 000000000..be9fa72da
--- /dev/null
+++ b/libjava/java/util/IdentityHashMap$IdentityEntry.h
@@ -0,0 +1,31 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_IdentityHashMap$IdentityEntry__
+#define __java_util_IdentityHashMap$IdentityEntry__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::IdentityHashMap$IdentityEntry : public ::java::lang::Object
+{
+
+public: // actually package-private
+ IdentityHashMap$IdentityEntry(::java::util::IdentityHashMap *, jint);
+public:
+ jboolean equals(::java::lang::Object *);
+ ::java::lang::Object * getKey();
+ ::java::lang::Object * getValue();
+ jint hashCode();
+ ::java::lang::Object * setValue(::java::lang::Object *);
+ ::java::lang::String * toString();
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) loc;
+ jint knownMod;
+ ::java::util::IdentityHashMap * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_IdentityHashMap$IdentityEntry__
diff --git a/libjava/java/util/IdentityHashMap$IdentityIterator.h b/libjava/java/util/IdentityHashMap$IdentityIterator.h
new file mode 100644
index 000000000..d2ab43e48
--- /dev/null
+++ b/libjava/java/util/IdentityHashMap$IdentityIterator.h
@@ -0,0 +1,30 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_IdentityHashMap$IdentityIterator__
+#define __java_util_IdentityHashMap$IdentityIterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::IdentityHashMap$IdentityIterator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ IdentityHashMap$IdentityIterator(::java::util::IdentityHashMap *, jint);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Object * next();
+ virtual void remove();
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) type;
+ jint knownMod;
+ jint count;
+ jint loc;
+ ::java::util::IdentityHashMap * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_IdentityHashMap$IdentityIterator__
diff --git a/libjava/java/util/IdentityHashMap.h b/libjava/java/util/IdentityHashMap.h
new file mode 100644
index 000000000..9e77a4b29
--- /dev/null
+++ b/libjava/java/util/IdentityHashMap.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_IdentityHashMap__
+#define __java_util_IdentityHashMap__
+
+#pragma interface
+
+#include <java/util/AbstractMap.h>
+#include <gcj/array.h>
+
+
+class java::util::IdentityHashMap : public ::java::util::AbstractMap
+{
+
+public:
+ IdentityHashMap();
+ IdentityHashMap(jint);
+ IdentityHashMap(::java::util::Map *);
+ virtual void clear();
+ virtual ::java::lang::Object * clone();
+ virtual jboolean containsKey(::java::lang::Object *);
+ virtual jboolean containsValue(::java::lang::Object *);
+ virtual ::java::util::Set * entrySet();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::Object * get(::java::lang::Object *);
+ virtual jint hashCode();
+ virtual jboolean isEmpty();
+ virtual ::java::util::Set * keySet();
+ virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *);
+ virtual void putAll(::java::util::Map *);
+public: // actually package-private
+ virtual void removeAtIndex(jint);
+public:
+ virtual ::java::lang::Object * remove(::java::lang::Object *);
+ virtual jint size();
+ virtual ::java::util::Collection * values();
+public: // actually package-private
+ virtual ::java::lang::Object * xform(::java::lang::Object *);
+ virtual ::java::lang::Object * unxform(::java::lang::Object *);
+ virtual jint hash(::java::lang::Object *);
+private:
+ void readObject(::java::io::ObjectInputStream *);
+ void writeObject(::java::io::ObjectOutputStream *);
+ static const jint DEFAULT_CAPACITY = 21;
+public: // actually package-private
+ static ::java::lang::Object * nullslot;
+private:
+ static const jlong serialVersionUID = 8188218128353913216LL;
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::util::AbstractMap)))) size__;
+ JArray< ::java::lang::Object * > * table;
+ jint modCount;
+private:
+ ::java::util::Set * entries;
+ jint threshold;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_IdentityHashMap__
diff --git a/libjava/java/util/IllegalFormatCodePointException.h b/libjava/java/util/IllegalFormatCodePointException.h
new file mode 100644
index 000000000..30801b6d2
--- /dev/null
+++ b/libjava/java/util/IllegalFormatCodePointException.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_IllegalFormatCodePointException__
+#define __java_util_IllegalFormatCodePointException__
+
+#pragma interface
+
+#include <java/util/IllegalFormatException.h>
+
+class java::util::IllegalFormatCodePointException : public ::java::util::IllegalFormatException
+{
+
+public:
+ IllegalFormatCodePointException(jint);
+ virtual jint getCodePoint();
+private:
+ static const jlong serialVersionUID = 19080630LL;
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::util::IllegalFormatException)))) c;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_IllegalFormatCodePointException__
diff --git a/libjava/java/util/IllegalFormatConversionException.h b/libjava/java/util/IllegalFormatConversionException.h
new file mode 100644
index 000000000..b6b7e8124
--- /dev/null
+++ b/libjava/java/util/IllegalFormatConversionException.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_IllegalFormatConversionException__
+#define __java_util_IllegalFormatConversionException__
+
+#pragma interface
+
+#include <java/util/IllegalFormatException.h>
+
+class java::util::IllegalFormatConversionException : public ::java::util::IllegalFormatException
+{
+
+public:
+ IllegalFormatConversionException(jchar, ::java::lang::Class *);
+ virtual jchar getConversion();
+ virtual ::java::lang::Class * getArgumentClass();
+private:
+ static const jlong serialVersionUID = 17000126LL;
+public: // actually package-private
+ jchar __attribute__((aligned(__alignof__( ::java::util::IllegalFormatException)))) c;
+ ::java::lang::Class * arg;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_IllegalFormatConversionException__
diff --git a/libjava/java/util/IllegalFormatException.h b/libjava/java/util/IllegalFormatException.h
new file mode 100644
index 000000000..bf5f4088f
--- /dev/null
+++ b/libjava/java/util/IllegalFormatException.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_IllegalFormatException__
+#define __java_util_IllegalFormatException__
+
+#pragma interface
+
+#include <java/lang/IllegalArgumentException.h>
+
+class java::util::IllegalFormatException : public ::java::lang::IllegalArgumentException
+{
+
+public: // actually package-private
+ IllegalFormatException();
+ IllegalFormatException(::java::lang::String *);
+private:
+ static const jlong serialVersionUID = 18830826LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_IllegalFormatException__
diff --git a/libjava/java/util/IllegalFormatFlagsException.h b/libjava/java/util/IllegalFormatFlagsException.h
new file mode 100644
index 000000000..c5c13c01b
--- /dev/null
+++ b/libjava/java/util/IllegalFormatFlagsException.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_IllegalFormatFlagsException__
+#define __java_util_IllegalFormatFlagsException__
+
+#pragma interface
+
+#include <java/util/IllegalFormatException.h>
+
+class java::util::IllegalFormatFlagsException : public ::java::util::IllegalFormatException
+{
+
+public:
+ IllegalFormatFlagsException(::java::lang::String *);
+ virtual ::java::lang::String * getFlags();
+private:
+ static const jlong serialVersionUID = 790824LL;
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::IllegalFormatException)))) flags;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_IllegalFormatFlagsException__
diff --git a/libjava/java/util/IllegalFormatPrecisionException.h b/libjava/java/util/IllegalFormatPrecisionException.h
new file mode 100644
index 000000000..a4ca0ec23
--- /dev/null
+++ b/libjava/java/util/IllegalFormatPrecisionException.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_IllegalFormatPrecisionException__
+#define __java_util_IllegalFormatPrecisionException__
+
+#pragma interface
+
+#include <java/util/IllegalFormatException.h>
+
+class java::util::IllegalFormatPrecisionException : public ::java::util::IllegalFormatException
+{
+
+public:
+ IllegalFormatPrecisionException(jint);
+ virtual jint getPrecision();
+private:
+ static const jlong serialVersionUID = 18711008LL;
+ jint __attribute__((aligned(__alignof__( ::java::util::IllegalFormatException)))) p;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_IllegalFormatPrecisionException__
diff --git a/libjava/java/util/IllegalFormatWidthException.h b/libjava/java/util/IllegalFormatWidthException.h
new file mode 100644
index 000000000..e278642db
--- /dev/null
+++ b/libjava/java/util/IllegalFormatWidthException.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_IllegalFormatWidthException__
+#define __java_util_IllegalFormatWidthException__
+
+#pragma interface
+
+#include <java/util/IllegalFormatException.h>
+
+class java::util::IllegalFormatWidthException : public ::java::util::IllegalFormatException
+{
+
+public:
+ IllegalFormatWidthException(jint);
+ virtual jint getWidth();
+private:
+ static const jlong serialVersionUID = 16660902LL;
+ jint __attribute__((aligned(__alignof__( ::java::util::IllegalFormatException)))) w;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_IllegalFormatWidthException__
diff --git a/libjava/java/util/InputMismatchException.h b/libjava/java/util/InputMismatchException.h
new file mode 100644
index 000000000..d1d7216bf
--- /dev/null
+++ b/libjava/java/util/InputMismatchException.h
@@ -0,0 +1,20 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_InputMismatchException__
+#define __java_util_InputMismatchException__
+
+#pragma interface
+
+#include <java/util/NoSuchElementException.h>
+
+class java::util::InputMismatchException : public ::java::util::NoSuchElementException
+{
+
+public:
+ InputMismatchException();
+ InputMismatchException(::java::lang::String *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_InputMismatchException__
diff --git a/libjava/java/util/InvalidPropertiesFormatException.h b/libjava/java/util/InvalidPropertiesFormatException.h
new file mode 100644
index 000000000..0380e88d6
--- /dev/null
+++ b/libjava/java/util/InvalidPropertiesFormatException.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_InvalidPropertiesFormatException__
+#define __java_util_InvalidPropertiesFormatException__
+
+#pragma interface
+
+#include <java/io/IOException.h>
+
+class java::util::InvalidPropertiesFormatException : public ::java::io::IOException
+{
+
+public:
+ InvalidPropertiesFormatException(::java::lang::String *);
+ InvalidPropertiesFormatException(::java::lang::Throwable *);
+private:
+ void writeObject(::java::io::ObjectOutputStream *);
+ void readObject(::java::io::ObjectInputStream *);
+ static const jlong serialVersionUID = 7763056076009360219LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_InvalidPropertiesFormatException__
diff --git a/libjava/java/util/Iterator.h b/libjava/java/util/Iterator.h
new file mode 100644
index 000000000..27343a5b8
--- /dev/null
+++ b/libjava/java/util/Iterator.h
@@ -0,0 +1,21 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Iterator__
+#define __java_util_Iterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Iterator : public ::java::lang::Object
+{
+
+public:
+ virtual jboolean hasNext() = 0;
+ virtual ::java::lang::Object * next() = 0;
+ virtual void remove() = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_Iterator__
diff --git a/libjava/java/util/LinkedHashMap$1.h b/libjava/java/util/LinkedHashMap$1.h
new file mode 100644
index 000000000..7341014cd
--- /dev/null
+++ b/libjava/java/util/LinkedHashMap$1.h
@@ -0,0 +1,31 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_LinkedHashMap$1__
+#define __java_util_LinkedHashMap$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::LinkedHashMap$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ LinkedHashMap$1(::java::util::LinkedHashMap *, jint);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Object * next();
+ virtual void remove();
+public: // actually package-private
+ ::java::util::LinkedHashMap$LinkedHashEntry * __attribute__((aligned(__alignof__( ::java::lang::Object)))) current;
+ ::java::util::LinkedHashMap$LinkedHashEntry * last;
+ jint knownMod;
+ ::java::util::LinkedHashMap * this$0;
+private:
+ jint val$type;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_LinkedHashMap$1__
diff --git a/libjava/java/util/LinkedHashMap$LinkedHashEntry.h b/libjava/java/util/LinkedHashMap$LinkedHashEntry.h
new file mode 100644
index 000000000..8db632b32
--- /dev/null
+++ b/libjava/java/util/LinkedHashMap$LinkedHashEntry.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_LinkedHashMap$LinkedHashEntry__
+#define __java_util_LinkedHashMap$LinkedHashEntry__
+
+#pragma interface
+
+#include <java/util/HashMap$HashEntry.h>
+
+class java::util::LinkedHashMap$LinkedHashEntry : public ::java::util::HashMap$HashEntry
+{
+
+public: // actually package-private
+ LinkedHashMap$LinkedHashEntry(::java::util::LinkedHashMap *, ::java::lang::Object *, ::java::lang::Object *);
+ virtual void access();
+ virtual ::java::lang::Object * cleanup();
+ ::java::util::LinkedHashMap$LinkedHashEntry * __attribute__((aligned(__alignof__( ::java::util::HashMap$HashEntry)))) pred;
+ ::java::util::LinkedHashMap$LinkedHashEntry * succ;
+ ::java::util::LinkedHashMap * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_LinkedHashMap$LinkedHashEntry__
diff --git a/libjava/java/util/LinkedHashMap.h b/libjava/java/util/LinkedHashMap.h
new file mode 100644
index 000000000..d57308875
--- /dev/null
+++ b/libjava/java/util/LinkedHashMap.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_LinkedHashMap__
+#define __java_util_LinkedHashMap__
+
+#pragma interface
+
+#include <java/util/HashMap.h>
+
+class java::util::LinkedHashMap : public ::java::util::HashMap
+{
+
+public:
+ LinkedHashMap();
+ LinkedHashMap(::java::util::Map *);
+ LinkedHashMap(jint);
+ LinkedHashMap(jint, jfloat);
+ LinkedHashMap(jint, jfloat, jboolean);
+ virtual void clear();
+ virtual jboolean containsValue(::java::lang::Object *);
+ virtual ::java::lang::Object * get(::java::lang::Object *);
+public: // actually protected
+ virtual jboolean removeEldestEntry(::java::util::Map$Entry *);
+public: // actually package-private
+ virtual void addEntry(::java::lang::Object *, ::java::lang::Object *, jint, jboolean);
+ virtual void putAllInternal(::java::util::Map *);
+ virtual ::java::util::Iterator * iterator(jint);
+private:
+ static const jlong serialVersionUID = 3801124242820219131LL;
+public: // actually package-private
+ ::java::util::LinkedHashMap$LinkedHashEntry * __attribute__((aligned(__alignof__( ::java::util::HashMap)))) root;
+ jboolean accessOrder;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_LinkedHashMap__
diff --git a/libjava/java/util/LinkedHashSet.h b/libjava/java/util/LinkedHashSet.h
new file mode 100644
index 000000000..d63aec8e6
--- /dev/null
+++ b/libjava/java/util/LinkedHashSet.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_LinkedHashSet__
+#define __java_util_LinkedHashSet__
+
+#pragma interface
+
+#include <java/util/HashSet.h>
+
+class java::util::LinkedHashSet : public ::java::util::HashSet
+{
+
+public:
+ LinkedHashSet();
+ LinkedHashSet(jint);
+ LinkedHashSet(jint, jfloat);
+ LinkedHashSet(::java::util::Collection *);
+public: // actually package-private
+ virtual ::java::util::HashMap * init(jint, jfloat);
+private:
+ static const jlong serialVersionUID = -2851667679971038690LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_LinkedHashSet__
diff --git a/libjava/java/util/LinkedList$1.h b/libjava/java/util/LinkedList$1.h
new file mode 100644
index 000000000..a570d6e1a
--- /dev/null
+++ b/libjava/java/util/LinkedList$1.h
@@ -0,0 +1,33 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_LinkedList$1__
+#define __java_util_LinkedList$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::LinkedList$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ LinkedList$1(::java::util::LinkedList *);
+private:
+ void checkMod();
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Object * next();
+ virtual void remove();
+private:
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) knownMod;
+ ::java::util::LinkedList$Entry * next__;
+ ::java::util::LinkedList$Entry * lastReturned;
+ jint position;
+public: // actually package-private
+ ::java::util::LinkedList * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_LinkedList$1__
diff --git a/libjava/java/util/LinkedList$Entry.h b/libjava/java/util/LinkedList$Entry.h
new file mode 100644
index 000000000..c44d48c3e
--- /dev/null
+++ b/libjava/java/util/LinkedList$Entry.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_LinkedList$Entry__
+#define __java_util_LinkedList$Entry__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::LinkedList$Entry : public ::java::lang::Object
+{
+
+public: // actually package-private
+ LinkedList$Entry(::java::lang::Object *);
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) data;
+ ::java::util::LinkedList$Entry * next;
+ ::java::util::LinkedList$Entry * previous;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_LinkedList$Entry__
diff --git a/libjava/java/util/LinkedList$LinkedListItr.h b/libjava/java/util/LinkedList$LinkedListItr.h
new file mode 100644
index 000000000..2756e206e
--- /dev/null
+++ b/libjava/java/util/LinkedList$LinkedListItr.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_LinkedList$LinkedListItr__
+#define __java_util_LinkedList$LinkedListItr__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::LinkedList$LinkedListItr : public ::java::lang::Object
+{
+
+public: // actually package-private
+ LinkedList$LinkedListItr(::java::util::LinkedList *, jint);
+private:
+ void checkMod();
+public:
+ jint nextIndex();
+ jint previousIndex();
+ jboolean hasNext();
+ jboolean hasPrevious();
+ ::java::lang::Object * next();
+ ::java::lang::Object * previous();
+ void remove();
+ void add(::java::lang::Object *);
+ void set(::java::lang::Object *);
+private:
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) knownMod;
+ ::java::util::LinkedList$Entry * next__;
+ ::java::util::LinkedList$Entry * previous__;
+ ::java::util::LinkedList$Entry * lastReturned;
+ jint position;
+public: // actually package-private
+ ::java::util::LinkedList * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_LinkedList$LinkedListItr__
diff --git a/libjava/java/util/LinkedList.h b/libjava/java/util/LinkedList.h
new file mode 100644
index 000000000..0c5e681d1
--- /dev/null
+++ b/libjava/java/util/LinkedList.h
@@ -0,0 +1,81 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_LinkedList__
+#define __java_util_LinkedList__
+
+#pragma interface
+
+#include <java/util/AbstractSequentialList.h>
+#include <gcj/array.h>
+
+
+class java::util::LinkedList : public ::java::util::AbstractSequentialList
+{
+
+public: // actually package-private
+ virtual ::java::util::LinkedList$Entry * getEntry(jint);
+ virtual void removeEntry(::java::util::LinkedList$Entry *);
+private:
+ void checkBoundsInclusive(jint);
+ void checkBoundsExclusive(jint);
+public:
+ LinkedList();
+ LinkedList(::java::util::Collection *);
+ virtual ::java::lang::Object * getFirst();
+ virtual ::java::lang::Object * getLast();
+ virtual ::java::lang::Object * removeFirst();
+ virtual ::java::lang::Object * removeLast();
+ virtual void addFirst(::java::lang::Object *);
+ virtual void addLast(::java::lang::Object *);
+private:
+ void addLastEntry(::java::util::LinkedList$Entry *);
+public:
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jint size();
+ virtual jboolean add(::java::lang::Object *);
+ virtual jboolean remove(::java::lang::Object *);
+ virtual jboolean addAll(::java::util::Collection *);
+ virtual jboolean addAll(jint, ::java::util::Collection *);
+ virtual void clear();
+ virtual ::java::lang::Object * get(jint);
+ virtual ::java::lang::Object * set(jint, ::java::lang::Object *);
+ virtual void add(jint, ::java::lang::Object *);
+ virtual ::java::lang::Object * remove(jint);
+ virtual jint indexOf(::java::lang::Object *);
+ virtual jint lastIndexOf(::java::lang::Object *);
+ virtual ::java::util::ListIterator * listIterator(jint);
+ virtual ::java::lang::Object * clone();
+ virtual JArray< ::java::lang::Object * > * toArray();
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
+ virtual jboolean offer(::java::lang::Object *);
+ virtual ::java::lang::Object * element();
+ virtual ::java::lang::Object * peek();
+ virtual ::java::lang::Object * poll();
+ virtual ::java::lang::Object * remove();
+private:
+ void writeObject(::java::io::ObjectOutputStream *);
+ void readObject(::java::io::ObjectInputStream *);
+public:
+ virtual ::java::util::Iterator * descendingIterator();
+ virtual jboolean offerFirst(::java::lang::Object *);
+ virtual jboolean offerLast(::java::lang::Object *);
+ virtual ::java::lang::Object * peekFirst();
+ virtual ::java::lang::Object * peekLast();
+ virtual ::java::lang::Object * pollFirst();
+ virtual ::java::lang::Object * pollLast();
+ virtual ::java::lang::Object * pop();
+ virtual void push(::java::lang::Object *);
+ virtual jboolean removeFirstOccurrence(::java::lang::Object *);
+ virtual jboolean removeLastOccurrence(::java::lang::Object *);
+private:
+ static const jlong serialVersionUID = 876323262645176354LL;
+public: // actually package-private
+ ::java::util::LinkedList$Entry * __attribute__((aligned(__alignof__( ::java::util::AbstractSequentialList)))) first;
+ ::java::util::LinkedList$Entry * last;
+ jint size__;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_LinkedList__
diff --git a/libjava/java/util/List.h b/libjava/java/util/List.h
new file mode 100644
index 000000000..89e637b09
--- /dev/null
+++ b/libjava/java/util/List.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_List__
+#define __java_util_List__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::List : public ::java::lang::Object
+{
+
+public:
+ virtual void add(jint, ::java::lang::Object *) = 0;
+ virtual jboolean add(::java::lang::Object *) = 0;
+ virtual jboolean addAll(jint, ::java::util::Collection *) = 0;
+ virtual jboolean addAll(::java::util::Collection *) = 0;
+ virtual void clear() = 0;
+ virtual jboolean contains(::java::lang::Object *) = 0;
+ virtual jboolean containsAll(::java::util::Collection *) = 0;
+ virtual jboolean equals(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * get(jint) = 0;
+ virtual jint hashCode() = 0;
+ virtual jint indexOf(::java::lang::Object *) = 0;
+ virtual jboolean isEmpty() = 0;
+ virtual ::java::util::Iterator * iterator() = 0;
+ virtual jint lastIndexOf(::java::lang::Object *) = 0;
+ virtual ::java::util::ListIterator * listIterator() = 0;
+ virtual ::java::util::ListIterator * listIterator(jint) = 0;
+ virtual ::java::lang::Object * remove(jint) = 0;
+ virtual jboolean remove(::java::lang::Object *) = 0;
+ virtual jboolean removeAll(::java::util::Collection *) = 0;
+ virtual jboolean retainAll(::java::util::Collection *) = 0;
+ virtual ::java::lang::Object * set(jint, ::java::lang::Object *) = 0;
+ virtual jint size() = 0;
+ virtual ::java::util::List * subList(jint, jint) = 0;
+ virtual JArray< ::java::lang::Object * > * toArray() = 0;
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_List__
diff --git a/libjava/java/util/ListIterator.h b/libjava/java/util/ListIterator.h
new file mode 100644
index 000000000..947ad3ccf
--- /dev/null
+++ b/libjava/java/util/ListIterator.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_ListIterator__
+#define __java_util_ListIterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::ListIterator : public ::java::lang::Object
+{
+
+public:
+ virtual jboolean hasNext() = 0;
+ virtual jboolean hasPrevious() = 0;
+ virtual ::java::lang::Object * next() = 0;
+ virtual ::java::lang::Object * previous() = 0;
+ virtual jint nextIndex() = 0;
+ virtual jint previousIndex() = 0;
+ virtual void add(::java::lang::Object *) = 0;
+ virtual void remove() = 0;
+ virtual void set(::java::lang::Object *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_ListIterator__
diff --git a/libjava/java/util/ListResourceBundle.h b/libjava/java/util/ListResourceBundle.h
new file mode 100644
index 000000000..216d14b4d
--- /dev/null
+++ b/libjava/java/util/ListResourceBundle.h
@@ -0,0 +1,26 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_ListResourceBundle__
+#define __java_util_ListResourceBundle__
+
+#pragma interface
+
+#include <java/util/ResourceBundle.h>
+#include <gcj/array.h>
+
+
+class java::util::ListResourceBundle : public ::java::util::ResourceBundle
+{
+
+public:
+ ListResourceBundle();
+ virtual ::java::lang::Object * handleGetObject(::java::lang::String *);
+ virtual ::java::util::Enumeration * getKeys();
+public: // actually protected
+ virtual JArray< JArray< ::java::lang::Object * > * > * getContents() = 0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_ListResourceBundle__
diff --git a/libjava/java/util/Locale.h b/libjava/java/util/Locale.h
new file mode 100644
index 000000000..041dab342
--- /dev/null
+++ b/libjava/java/util/Locale.h
@@ -0,0 +1,90 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Locale__
+#define __java_util_Locale__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::Locale : public ::java::lang::Object
+{
+
+ static ::java::util::Locale * getLocale(::java::lang::String *);
+ static ::java::util::Locale * getLocale(::java::lang::String *, ::java::lang::String *);
+ static ::java::util::Locale * getLocale(::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
+ ::java::lang::String * convertLanguage(::java::lang::String *);
+public:
+ Locale(::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
+ Locale(::java::lang::String *, ::java::lang::String *);
+ Locale(::java::lang::String *);
+ static ::java::util::Locale * getDefault();
+ static void setDefault(::java::util::Locale *);
+ static JArray< ::java::util::Locale * > * getAvailableLocales();
+ static JArray< ::java::lang::String * > * getISOCountries();
+ static JArray< ::java::lang::String * > * getISOLanguages();
+private:
+ static JArray< ::java::lang::String * > * getISOStrings(::java::lang::String *);
+public:
+ ::java::lang::String * getLanguage();
+ ::java::lang::String * getCountry();
+ ::java::lang::String * getVariant();
+ ::java::lang::String * toString();
+ ::java::lang::String * getISO3Language();
+ ::java::lang::String * getISO3Country();
+ ::java::lang::String * getDisplayLanguage();
+ ::java::lang::String * getDisplayLanguage(::java::util::Locale *);
+ ::java::lang::String * getDisplayCountry();
+ ::java::lang::String * getDisplayCountry(::java::util::Locale *);
+ ::java::lang::String * getDisplayVariant();
+ ::java::lang::String * getDisplayVariant(::java::util::Locale *);
+ ::java::lang::String * getDisplayName();
+ ::java::lang::String * getDisplayName(::java::util::Locale *);
+ ::java::lang::Object * clone();
+ jint hashCode();
+ jboolean equals(::java::lang::Object *);
+private:
+ void writeObject(::java::io::ObjectOutputStream *);
+ void readObject(::java::io::ObjectInputStream *);
+public:
+ static ::java::util::Locale * ENGLISH;
+ static ::java::util::Locale * FRENCH;
+ static ::java::util::Locale * GERMAN;
+ static ::java::util::Locale * ITALIAN;
+ static ::java::util::Locale * JAPANESE;
+ static ::java::util::Locale * KOREAN;
+ static ::java::util::Locale * CHINESE;
+ static ::java::util::Locale * SIMPLIFIED_CHINESE;
+ static ::java::util::Locale * TRADITIONAL_CHINESE;
+ static ::java::util::Locale * FRANCE;
+ static ::java::util::Locale * GERMANY;
+ static ::java::util::Locale * ITALY;
+ static ::java::util::Locale * JAPAN;
+ static ::java::util::Locale * KOREA;
+ static ::java::util::Locale * CHINA;
+ static ::java::util::Locale * PRC;
+ static ::java::util::Locale * TAIWAN;
+ static ::java::util::Locale * UK;
+ static ::java::util::Locale * US;
+ static ::java::util::Locale * CANADA;
+ static ::java::util::Locale * CANADA_FRENCH;
+ static ::java::util::Locale * ROOT;
+private:
+ static const jlong serialVersionUID = 9149081749638150636LL;
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) language;
+ ::java::lang::String * country;
+ ::java::lang::String * variant;
+ jint hashcode;
+ static JArray< ::java::util::Locale * > * availableLocales;
+ static ::java::util::HashMap * localeMap;
+ static ::java::util::Locale * defaultLocale;
+ static JArray< ::java::lang::String * > * languageCache;
+ static JArray< ::java::lang::String * > * countryCache;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Locale__
diff --git a/libjava/java/util/Map$Entry.h b/libjava/java/util/Map$Entry.h
new file mode 100644
index 000000000..694a37e7a
--- /dev/null
+++ b/libjava/java/util/Map$Entry.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Map$Entry__
+#define __java_util_Map$Entry__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Map$Entry : public ::java::lang::Object
+{
+
+public:
+ virtual ::java::lang::Object * getKey() = 0;
+ virtual ::java::lang::Object * getValue() = 0;
+ virtual ::java::lang::Object * setValue(::java::lang::Object *) = 0;
+ virtual jint hashCode() = 0;
+ virtual jboolean equals(::java::lang::Object *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_Map$Entry__
diff --git a/libjava/java/util/Map.h b/libjava/java/util/Map.h
new file mode 100644
index 000000000..05cc5e900
--- /dev/null
+++ b/libjava/java/util/Map.h
@@ -0,0 +1,32 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Map__
+#define __java_util_Map__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Map : public ::java::lang::Object
+{
+
+public:
+ virtual void clear() = 0;
+ virtual jboolean containsKey(::java::lang::Object *) = 0;
+ virtual jboolean containsValue(::java::lang::Object *) = 0;
+ virtual ::java::util::Set * entrySet() = 0;
+ virtual jboolean equals(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * get(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *) = 0;
+ virtual jint hashCode() = 0;
+ virtual jboolean isEmpty() = 0;
+ virtual ::java::util::Set * keySet() = 0;
+ virtual void putAll(::java::util::Map *) = 0;
+ virtual ::java::lang::Object * remove(::java::lang::Object *) = 0;
+ virtual jint size() = 0;
+ virtual ::java::util::Collection * values() = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_Map__
diff --git a/libjava/java/util/MissingFormatArgumentException.h b/libjava/java/util/MissingFormatArgumentException.h
new file mode 100644
index 000000000..d0908d2d4
--- /dev/null
+++ b/libjava/java/util/MissingFormatArgumentException.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_MissingFormatArgumentException__
+#define __java_util_MissingFormatArgumentException__
+
+#pragma interface
+
+#include <java/util/IllegalFormatException.h>
+
+class java::util::MissingFormatArgumentException : public ::java::util::IllegalFormatException
+{
+
+public:
+ MissingFormatArgumentException(::java::lang::String *);
+ virtual ::java::lang::String * getFormatSpecifier();
+private:
+ static const jlong serialVersionUID = 19190115LL;
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::IllegalFormatException)))) s;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_MissingFormatArgumentException__
diff --git a/libjava/java/util/MissingFormatWidthException.h b/libjava/java/util/MissingFormatWidthException.h
new file mode 100644
index 000000000..dac93c0c4
--- /dev/null
+++ b/libjava/java/util/MissingFormatWidthException.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_MissingFormatWidthException__
+#define __java_util_MissingFormatWidthException__
+
+#pragma interface
+
+#include <java/util/IllegalFormatException.h>
+
+class java::util::MissingFormatWidthException : public ::java::util::IllegalFormatException
+{
+
+public:
+ MissingFormatWidthException(::java::lang::String *);
+ virtual ::java::lang::String * getFormatSpecifier();
+private:
+ static const jlong serialVersionUID = 15560123LL;
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::IllegalFormatException)))) s;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_MissingFormatWidthException__
diff --git a/libjava/java/util/MissingResourceException.h b/libjava/java/util/MissingResourceException.h
new file mode 100644
index 000000000..0523e031a
--- /dev/null
+++ b/libjava/java/util/MissingResourceException.h
@@ -0,0 +1,26 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_MissingResourceException__
+#define __java_util_MissingResourceException__
+
+#pragma interface
+
+#include <java/lang/RuntimeException.h>
+
+class java::util::MissingResourceException : public ::java::lang::RuntimeException
+{
+
+public:
+ MissingResourceException(::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
+ virtual ::java::lang::String * getClassName();
+ virtual ::java::lang::String * getKey();
+private:
+ static const jlong serialVersionUID = -4876345176062000401LL;
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::RuntimeException)))) className;
+ ::java::lang::String * key;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_MissingResourceException__
diff --git a/libjava/java/util/NavigableMap.h b/libjava/java/util/NavigableMap.h
new file mode 100644
index 000000000..9e4834834
--- /dev/null
+++ b/libjava/java/util/NavigableMap.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_NavigableMap__
+#define __java_util_NavigableMap__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::NavigableMap : public ::java::lang::Object
+{
+
+public:
+ virtual ::java::util::Map$Entry * lowerEntry(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * lowerKey(::java::lang::Object *) = 0;
+ virtual ::java::util::Map$Entry * floorEntry(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * floorKey(::java::lang::Object *) = 0;
+ virtual ::java::util::Map$Entry * ceilingEntry(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * ceilingKey(::java::lang::Object *) = 0;
+ virtual ::java::util::Map$Entry * higherEntry(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * higherKey(::java::lang::Object *) = 0;
+ virtual ::java::util::Map$Entry * firstEntry() = 0;
+ virtual ::java::util::Map$Entry * lastEntry() = 0;
+ virtual ::java::util::Map$Entry * pollFirstEntry() = 0;
+ virtual ::java::util::Map$Entry * pollLastEntry() = 0;
+ virtual ::java::util::NavigableMap * descendingMap() = 0;
+ virtual ::java::util::NavigableSet * navigableKeySet() = 0;
+ virtual ::java::util::NavigableSet * descendingKeySet() = 0;
+ virtual ::java::util::NavigableMap * subMap(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean) = 0;
+ virtual ::java::util::NavigableMap * headMap(::java::lang::Object *, jboolean) = 0;
+ virtual ::java::util::NavigableMap * tailMap(::java::lang::Object *, jboolean) = 0;
+ virtual ::java::util::SortedMap * subMap(::java::lang::Object *, ::java::lang::Object *) = 0;
+ virtual ::java::util::SortedMap * headMap(::java::lang::Object *) = 0;
+ virtual ::java::util::SortedMap * tailMap(::java::lang::Object *) = 0;
+ virtual ::java::util::Comparator * comparator() = 0;
+ virtual ::java::lang::Object * firstKey() = 0;
+ virtual ::java::lang::Object * lastKey() = 0;
+ virtual void clear() = 0;
+ virtual jboolean containsKey(::java::lang::Object *) = 0;
+ virtual jboolean containsValue(::java::lang::Object *) = 0;
+ virtual ::java::util::Set * entrySet() = 0;
+ virtual ::java::lang::Object * get(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *) = 0;
+ virtual jboolean isEmpty() = 0;
+ virtual ::java::util::Set * keySet() = 0;
+ virtual void putAll(::java::util::Map *) = 0;
+ virtual ::java::lang::Object * remove(::java::lang::Object *) = 0;
+ virtual jint size() = 0;
+ virtual ::java::util::Collection * values() = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_NavigableMap__
diff --git a/libjava/java/util/NavigableSet.h b/libjava/java/util/NavigableSet.h
new file mode 100644
index 000000000..c7e228ea1
--- /dev/null
+++ b/libjava/java/util/NavigableSet.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_NavigableSet__
+#define __java_util_NavigableSet__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::NavigableSet : public ::java::lang::Object
+{
+
+public:
+ virtual ::java::lang::Object * lower(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * floor(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * ceiling(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * higher(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * pollFirst() = 0;
+ virtual ::java::lang::Object * pollLast() = 0;
+ virtual ::java::util::Iterator * iterator() = 0;
+ virtual ::java::util::NavigableSet * descendingSet() = 0;
+ virtual ::java::util::Iterator * descendingIterator() = 0;
+ virtual ::java::util::NavigableSet * subSet(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean) = 0;
+ virtual ::java::util::NavigableSet * headSet(::java::lang::Object *, jboolean) = 0;
+ virtual ::java::util::NavigableSet * tailSet(::java::lang::Object *, jboolean) = 0;
+ virtual ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *) = 0;
+ virtual ::java::util::SortedSet * headSet(::java::lang::Object *) = 0;
+ virtual ::java::util::SortedSet * tailSet(::java::lang::Object *) = 0;
+ virtual ::java::util::Comparator * comparator() = 0;
+ virtual ::java::lang::Object * first() = 0;
+ virtual ::java::lang::Object * last() = 0;
+ virtual jboolean add(::java::lang::Object *) = 0;
+ virtual jboolean addAll(::java::util::Collection *) = 0;
+ virtual void clear() = 0;
+ virtual jboolean contains(::java::lang::Object *) = 0;
+ virtual jboolean containsAll(::java::util::Collection *) = 0;
+ virtual jboolean isEmpty() = 0;
+ virtual jboolean remove(::java::lang::Object *) = 0;
+ virtual jboolean removeAll(::java::util::Collection *) = 0;
+ virtual jboolean retainAll(::java::util::Collection *) = 0;
+ virtual jint size() = 0;
+ virtual JArray< ::java::lang::Object * > * toArray() = 0;
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_NavigableSet__
diff --git a/libjava/java/util/NoSuchElementException.h b/libjava/java/util/NoSuchElementException.h
new file mode 100644
index 000000000..43cd64676
--- /dev/null
+++ b/libjava/java/util/NoSuchElementException.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_NoSuchElementException__
+#define __java_util_NoSuchElementException__
+
+#pragma interface
+
+#include <java/lang/RuntimeException.h>
+
+class java::util::NoSuchElementException : public ::java::lang::RuntimeException
+{
+
+public:
+ NoSuchElementException();
+ NoSuchElementException(::java::lang::String *);
+private:
+ static const jlong serialVersionUID = 6769829250639411880LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_NoSuchElementException__
diff --git a/libjava/java/util/Observable.h b/libjava/java/util/Observable.h
new file mode 100644
index 000000000..070e97d23
--- /dev/null
+++ b/libjava/java/util/Observable.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Observable__
+#define __java_util_Observable__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Observable : public ::java::lang::Object
+{
+
+public:
+ Observable();
+ virtual void addObserver(::java::util::Observer *);
+public: // actually protected
+ virtual void clearChanged();
+public:
+ virtual jint countObservers();
+ virtual void deleteObserver(::java::util::Observer *);
+ virtual void deleteObservers();
+ virtual jboolean hasChanged();
+ virtual void notifyObservers();
+ virtual void notifyObservers(::java::lang::Object *);
+public: // actually protected
+ virtual void setChanged();
+private:
+ jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) changed;
+ ::java::util::LinkedHashSet * observers;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Observable__
diff --git a/libjava/java/util/Observer.h b/libjava/java/util/Observer.h
new file mode 100644
index 000000000..05964feea
--- /dev/null
+++ b/libjava/java/util/Observer.h
@@ -0,0 +1,19 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Observer__
+#define __java_util_Observer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Observer : public ::java::lang::Object
+{
+
+public:
+ virtual void update(::java::util::Observable *, ::java::lang::Object *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_Observer__
diff --git a/libjava/java/util/PriorityQueue$1.h b/libjava/java/util/PriorityQueue$1.h
new file mode 100644
index 000000000..9268616f0
--- /dev/null
+++ b/libjava/java/util/PriorityQueue$1.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_PriorityQueue$1__
+#define __java_util_PriorityQueue$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::PriorityQueue$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ PriorityQueue$1(::java::util::PriorityQueue *);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Object * next();
+ virtual void remove();
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) index;
+ jint count;
+ ::java::util::PriorityQueue * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_PriorityQueue$1__
diff --git a/libjava/java/util/PriorityQueue.h b/libjava/java/util/PriorityQueue.h
new file mode 100644
index 000000000..7072486a1
--- /dev/null
+++ b/libjava/java/util/PriorityQueue.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_PriorityQueue__
+#define __java_util_PriorityQueue__
+
+#pragma interface
+
+#include <java/util/AbstractQueue.h>
+#include <gcj/array.h>
+
+
+class java::util::PriorityQueue : public ::java::util::AbstractQueue
+{
+
+public:
+ PriorityQueue();
+ PriorityQueue(::java::util::Collection *);
+ PriorityQueue(jint);
+ PriorityQueue(jint, ::java::util::Comparator *);
+ PriorityQueue(::java::util::PriorityQueue *);
+ PriorityQueue(::java::util::SortedSet *);
+ virtual void clear();
+ virtual ::java::util::Comparator * comparator();
+ virtual ::java::util::Iterator * iterator();
+ virtual jboolean offer(::java::lang::Object *);
+ virtual ::java::lang::Object * peek();
+ virtual ::java::lang::Object * poll();
+ virtual jboolean remove(::java::lang::Object *);
+ virtual jint size();
+ virtual jboolean addAll(::java::util::Collection *);
+public: // actually package-private
+ virtual jint findSlot(jint);
+ virtual void remove(jint);
+ virtual void bubbleUp(jint);
+ virtual void resize();
+private:
+ static const jint DEFAULT_CAPACITY = 11;
+ static const jlong serialVersionUID = -7720805057305804111LL;
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::util::AbstractQueue)))) used;
+ JArray< ::java::lang::Object * > * storage;
+ ::java::util::Comparator * comparator__;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_PriorityQueue__
diff --git a/libjava/java/util/Properties.h b/libjava/java/util/Properties.h
new file mode 100644
index 000000000..ccb76b5a2
--- /dev/null
+++ b/libjava/java/util/Properties.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Properties__
+#define __java_util_Properties__
+
+#pragma interface
+
+#include <java/util/Hashtable.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ }
+ }
+}
+
+class java::util::Properties : public ::java::util::Hashtable
+{
+
+public:
+ Properties();
+ Properties(::java::util::Properties *);
+ virtual ::java::lang::Object * setProperty(::java::lang::String *, ::java::lang::String *);
+ virtual void load(::java::io::Reader *);
+ virtual void load(::java::io::InputStream *);
+ virtual void save(::java::io::OutputStream *, ::java::lang::String *);
+ virtual void store(::java::io::OutputStream *, ::java::lang::String *);
+ virtual ::java::lang::String * getProperty(::java::lang::String *);
+ virtual ::java::lang::String * getProperty(::java::lang::String *, ::java::lang::String *);
+ virtual ::java::util::Enumeration * propertyNames();
+ virtual void list(::java::io::PrintStream *);
+ virtual void list(::java::io::PrintWriter *);
+private:
+ void formatForOutput(::java::lang::String *, ::gnu::java::lang::CPStringBuilder *, jboolean);
+public:
+ virtual void storeToXML(::java::io::OutputStream *, ::java::lang::String *);
+ virtual void storeToXML(::java::io::OutputStream *, ::java::lang::String *, ::java::lang::String *);
+ virtual void loadFromXML(::java::io::InputStream *);
+public: // actually protected
+ ::java::util::Properties * __attribute__((aligned(__alignof__( ::java::util::Hashtable)))) defaults;
+private:
+ static const jlong serialVersionUID = 4112578634029874840LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Properties__
diff --git a/libjava/java/util/PropertyPermission.h b/libjava/java/util/PropertyPermission.h
new file mode 100644
index 000000000..afd551447
--- /dev/null
+++ b/libjava/java/util/PropertyPermission.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_PropertyPermission__
+#define __java_util_PropertyPermission__
+
+#pragma interface
+
+#include <java/security/BasicPermission.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace java
+ {
+ namespace security
+ {
+ class Permission;
+ class PermissionCollection;
+ }
+ }
+}
+
+class java::util::PropertyPermission : public ::java::security::BasicPermission
+{
+
+public:
+ PropertyPermission(::java::lang::String *, ::java::lang::String *);
+private:
+ void setActions(::java::lang::String *);
+ void readObject(::java::io::ObjectInputStream *);
+ void writeObject(::java::io::ObjectOutputStream *);
+public:
+ jboolean implies(::java::security::Permission *);
+ jboolean equals(::java::lang::Object *);
+ jint hashCode();
+ ::java::lang::String * getActions();
+ ::java::security::PermissionCollection * newPermissionCollection();
+private:
+ static JArray< ::java::io::ObjectStreamField * > * serialPersistentFields;
+ static const jlong serialVersionUID = 885438825399942851LL;
+ static const jint READ = 1;
+ static const jint WRITE = 2;
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::security::BasicPermission)))) actions;
+private:
+ static JArray< ::java::lang::String * > * actionStrings;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_PropertyPermission__
diff --git a/libjava/java/util/PropertyPermissionCollection.h b/libjava/java/util/PropertyPermissionCollection.h
new file mode 100644
index 000000000..0c00a4e0b
--- /dev/null
+++ b/libjava/java/util/PropertyPermissionCollection.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_PropertyPermissionCollection__
+#define __java_util_PropertyPermissionCollection__
+
+#pragma interface
+
+#include <java/security/PermissionCollection.h>
+extern "Java"
+{
+ namespace java
+ {
+ namespace security
+ {
+ class Permission;
+ }
+ }
+}
+
+class java::util::PropertyPermissionCollection : public ::java::security::PermissionCollection
+{
+
+public: // actually package-private
+ PropertyPermissionCollection();
+public:
+ virtual void add(::java::security::Permission *);
+ virtual jboolean implies(::java::security::Permission *);
+ virtual ::java::util::Enumeration * elements();
+private:
+ static const jlong serialVersionUID = 7015263904581634791LL;
+ ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::security::PermissionCollection)))) permissions;
+ jboolean all_allowed;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_PropertyPermissionCollection__
diff --git a/libjava/java/util/PropertyResourceBundle.h b/libjava/java/util/PropertyResourceBundle.h
new file mode 100644
index 000000000..fa6528511
--- /dev/null
+++ b/libjava/java/util/PropertyResourceBundle.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_PropertyResourceBundle__
+#define __java_util_PropertyResourceBundle__
+
+#pragma interface
+
+#include <java/util/ResourceBundle.h>
+
+class java::util::PropertyResourceBundle : public ::java::util::ResourceBundle
+{
+
+public:
+ PropertyResourceBundle(::java::io::InputStream *);
+ PropertyResourceBundle(::java::io::Reader *);
+ virtual ::java::lang::Object * handleGetObject(::java::lang::String *);
+ virtual ::java::util::Enumeration * getKeys();
+private:
+ ::java::util::Properties * __attribute__((aligned(__alignof__( ::java::util::ResourceBundle)))) properties;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_PropertyResourceBundle__
diff --git a/libjava/java/util/Queue.h b/libjava/java/util/Queue.h
new file mode 100644
index 000000000..c4e8f0573
--- /dev/null
+++ b/libjava/java/util/Queue.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Queue__
+#define __java_util_Queue__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::Queue : public ::java::lang::Object
+{
+
+public:
+ virtual jboolean add(::java::lang::Object *) = 0;
+ virtual jboolean offer(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * remove() = 0;
+ virtual ::java::lang::Object * poll() = 0;
+ virtual ::java::lang::Object * element() = 0;
+ virtual ::java::lang::Object * peek() = 0;
+ virtual jboolean addAll(::java::util::Collection *) = 0;
+ virtual void clear() = 0;
+ virtual jboolean contains(::java::lang::Object *) = 0;
+ virtual jboolean containsAll(::java::util::Collection *) = 0;
+ virtual jboolean isEmpty() = 0;
+ virtual ::java::util::Iterator * iterator() = 0;
+ virtual jboolean remove(::java::lang::Object *) = 0;
+ virtual jboolean removeAll(::java::util::Collection *) = 0;
+ virtual jboolean retainAll(::java::util::Collection *) = 0;
+ virtual jint size() = 0;
+ virtual JArray< ::java::lang::Object * > * toArray() = 0;
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_Queue__
diff --git a/libjava/java/util/Random.h b/libjava/java/util/Random.h
new file mode 100644
index 000000000..93bcf2e6c
--- /dev/null
+++ b/libjava/java/util/Random.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Random__
+#define __java_util_Random__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::Random : public ::java::lang::Object
+{
+
+public:
+ Random();
+ Random(jlong);
+ virtual void setSeed(jlong);
+public: // actually protected
+ virtual jint next(jint);
+public:
+ virtual void nextBytes(JArray< jbyte > *);
+ virtual jint nextInt();
+ virtual jint nextInt(jint);
+ virtual jlong nextLong();
+ virtual jboolean nextBoolean();
+ virtual jfloat nextFloat();
+ virtual jdouble nextDouble();
+ virtual jdouble nextGaussian();
+private:
+ jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) haveNextNextGaussian;
+ jdouble nextNextGaussian;
+ jlong seed;
+ static const jlong serialVersionUID = 3905348978240129619LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Random__
diff --git a/libjava/java/util/RandomAccess.h b/libjava/java/util/RandomAccess.h
new file mode 100644
index 000000000..e2bfce761
--- /dev/null
+++ b/libjava/java/util/RandomAccess.h
@@ -0,0 +1,18 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_RandomAccess__
+#define __java_util_RandomAccess__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::RandomAccess : public ::java::lang::Object
+{
+
+public:
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_RandomAccess__
diff --git a/libjava/java/util/ResourceBundle$1.h b/libjava/java/util/ResourceBundle$1.h
new file mode 100644
index 000000000..b2b883175
--- /dev/null
+++ b/libjava/java/util/ResourceBundle$1.h
@@ -0,0 +1,21 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_ResourceBundle$1__
+#define __java_util_ResourceBundle$1__
+
+#pragma interface
+
+#include <java/util/LinkedHashMap.h>
+
+class java::util::ResourceBundle$1 : public ::java::util::LinkedHashMap
+{
+
+public: // actually package-private
+ ResourceBundle$1(jint, jfloat, jboolean);
+public:
+ virtual jboolean removeEldestEntry(::java::util::Map$Entry *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_ResourceBundle$1__
diff --git a/libjava/java/util/ResourceBundle$BundleKey.h b/libjava/java/util/ResourceBundle$BundleKey.h
new file mode 100644
index 000000000..49c051cfb
--- /dev/null
+++ b/libjava/java/util/ResourceBundle$BundleKey.h
@@ -0,0 +1,32 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_ResourceBundle$BundleKey__
+#define __java_util_ResourceBundle$BundleKey__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::ResourceBundle$BundleKey : public ::java::lang::Object
+{
+
+public: // actually package-private
+ ResourceBundle$BundleKey();
+ ResourceBundle$BundleKey(::java::util::Locale *, ::java::lang::String *, ::java::util::Locale *, ::java::lang::ClassLoader *);
+ virtual void set(::java::util::Locale *, ::java::lang::String *, ::java::util::Locale *, ::java::lang::ClassLoader *);
+public:
+ virtual jint hashCode();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::String * toString();
+public: // actually package-private
+ ::java::util::Locale * __attribute__((aligned(__alignof__( ::java::lang::Object)))) defaultLocale;
+ ::java::lang::String * baseName;
+ ::java::util::Locale * locale;
+ ::java::lang::ClassLoader * classLoader;
+ jint hashcode;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_ResourceBundle$BundleKey__
diff --git a/libjava/java/util/ResourceBundle.h b/libjava/java/util/ResourceBundle.h
new file mode 100644
index 000000000..e14e4539f
--- /dev/null
+++ b/libjava/java/util/ResourceBundle.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_ResourceBundle__
+#define __java_util_ResourceBundle__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::ResourceBundle : public ::java::lang::Object
+{
+
+public:
+ ResourceBundle();
+ virtual ::java::lang::String * getString(::java::lang::String *);
+ virtual JArray< ::java::lang::String * > * getStringArray(::java::lang::String *);
+ virtual ::java::lang::Object * getObject(::java::lang::String *);
+ virtual ::java::util::Locale * getLocale();
+public: // actually protected
+ virtual void setParent(::java::util::ResourceBundle *);
+public:
+ static ::java::util::ResourceBundle * getBundle(::java::lang::String *);
+ static ::java::util::ResourceBundle * getBundle(::java::lang::String *, ::java::util::Locale *);
+ static ::java::util::ResourceBundle * getBundle(::java::lang::String *, ::java::util::Locale *, ::java::lang::ClassLoader *);
+public: // actually protected
+ virtual ::java::lang::Object * handleGetObject(::java::lang::String *) = 0;
+public:
+ virtual ::java::util::Enumeration * getKeys() = 0;
+private:
+ static ::java::util::ResourceBundle * tryBundle(::java::lang::String *, ::java::lang::ClassLoader *);
+ static ::java::util::ResourceBundle * tryBundle(::java::lang::String *, ::java::util::Locale *, ::java::lang::ClassLoader *, jboolean);
+public:
+ static void clearCache();
+ static void clearCache(::java::lang::ClassLoader *);
+private:
+ static const jint CACHE_SIZE = 100;
+public: // actually protected
+ ::java::util::ResourceBundle * __attribute__((aligned(__alignof__( ::java::lang::Object)))) parent;
+private:
+ ::java::util::Locale * locale;
+ static ::java::util::Map * bundleCache;
+ static ::java::util::ResourceBundle$BundleKey * lookupKey;
+ static ::java::lang::Object * nullEntry;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_ResourceBundle__
diff --git a/libjava/java/util/Scanner.h b/libjava/java/util/Scanner.h
new file mode 100644
index 000000000..bca1ab77e
--- /dev/null
+++ b/libjava/java/util/Scanner.h
@@ -0,0 +1,178 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Scanner__
+#define __java_util_Scanner__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace java
+ {
+ namespace math
+ {
+ class BigDecimal;
+ class BigInteger;
+ }
+ namespace nio
+ {
+ namespace channels
+ {
+ class ReadableByteChannel;
+ }
+ }
+ namespace text
+ {
+ class DecimalFormat;
+ class DecimalFormatSymbols;
+ class NumberFormat;
+ }
+ }
+}
+
+class java::util::Scanner : public ::java::lang::Object
+{
+
+public:
+ Scanner(::java::io::File *);
+ Scanner(::java::io::File *, ::java::lang::String *);
+ Scanner(::java::io::InputStream *);
+ Scanner(::java::io::InputStream *, ::java::lang::String *);
+ Scanner(::java::lang::Readable *);
+ Scanner(::java::nio::channels::ReadableByteChannel *);
+ Scanner(::java::nio::channels::ReadableByteChannel *, ::java::lang::String *);
+ Scanner(::java::lang::String *);
+ virtual void close();
+ virtual ::java::util::regex::Pattern * delimiter();
+ virtual ::java::lang::String * findInLine(::java::util::regex::Pattern *);
+ virtual ::java::lang::String * findInLine(::java::lang::String *);
+ virtual ::java::lang::String * findWithinHorizon(::java::util::regex::Pattern *, jint);
+ virtual ::java::lang::String * findWithinHorizon(::java::lang::String *, jint);
+ virtual jboolean hasNext();
+ virtual jboolean hasNext(::java::util::regex::Pattern *);
+ virtual jboolean hasNext(::java::lang::String *);
+ virtual jboolean hasNextBigDecimal();
+ virtual jboolean hasNextBigInteger();
+ virtual jboolean hasNextBigInteger(jint);
+ virtual jboolean hasNextBoolean();
+ virtual jboolean hasNextByte();
+ virtual jboolean hasNextByte(jint);
+ virtual jboolean hasNextDouble();
+ virtual jboolean hasNextFloat();
+ virtual jboolean hasNextInt();
+ virtual jboolean hasNextInt(jint);
+ virtual jboolean hasNextLine();
+ virtual jboolean hasNextLong();
+ virtual jboolean hasNextLong(jint);
+ virtual jboolean hasNextShort();
+ virtual jboolean hasNextShort(jint);
+ virtual ::java::io::IOException * ioException();
+ virtual jboolean isUseLocale();
+ virtual ::java::util::Locale * locale();
+ virtual ::java::util::regex::MatchResult * match();
+ virtual ::java::lang::String * Scanner$next();
+ virtual ::java::lang::String * next(::java::util::regex::Pattern *);
+ virtual ::java::lang::String * next(::java::lang::String *);
+ virtual ::java::math::BigDecimal * nextBigDecimal();
+ virtual ::java::math::BigInteger * nextBigInteger();
+ virtual ::java::math::BigInteger * nextBigInteger(jint);
+ virtual jboolean nextBoolean();
+ virtual jbyte nextByte();
+ virtual jbyte nextByte(jint);
+ virtual jdouble nextDouble();
+ virtual jfloat nextFloat();
+ virtual jint nextInt();
+ virtual jint nextInt(jint);
+ virtual ::java::lang::String * nextLine();
+ virtual jlong nextLong();
+ virtual jlong nextLong(jint);
+ virtual jshort nextShort();
+ virtual jshort nextShort(jint);
+ virtual jint radix();
+ virtual void remove();
+ virtual void setUseLocale(jboolean);
+ virtual ::java::util::Scanner * skip(::java::util::regex::Pattern *);
+ virtual ::java::util::Scanner * skip(::java::lang::String *);
+ virtual ::java::lang::String * toString();
+ virtual ::java::util::Scanner * useDelimiter(::java::util::regex::Pattern *);
+ virtual ::java::util::Scanner * useDelimiter(::java::lang::String *);
+ virtual ::java::util::Scanner * useLocale(::java::util::Locale *);
+ virtual ::java::util::Scanner * useRadix(jint);
+private:
+ ::java::lang::String * myApplyLocale(::java::lang::String *, jint);
+ ::java::lang::String * myApplyLocaleBD(::java::lang::String *);
+ ::java::math::BigDecimal * myBigDecimal(jboolean);
+ ::java::lang::String * myConvert(::java::lang::String *);
+ ::java::lang::String * myCoreNext(jboolean, ::java::util::regex::Pattern *);
+ void myFillBuffer();
+ jboolean myFillBuffer_loop(::java::util::regex::Matcher *, jint, jboolean);
+ ::java::lang::String * myFindPInStr(::java::util::regex::Pattern *, ::java::lang::String *, jint);
+ ::java::lang::String * myNext(::java::util::regex::Pattern *, jboolean);
+ ::java::math::BigInteger * myNextBigInteger(jint, jboolean, ::java::lang::String *);
+ jboolean myNextBoolean(jboolean);
+ jbyte myNextByte(jint, jboolean);
+ jdouble myNextDouble(jboolean);
+ jint myNextInt(jint, jboolean);
+ ::java::lang::String * myNextLine(jboolean);
+ jlong myNextLong(jint, jboolean);
+ jshort myNextShort(jint, jboolean);
+ ::java::lang::String * myPrepareForNext(::java::util::regex::Pattern *, jboolean);
+ jboolean shallUseLastFound(::java::util::regex::Pattern *);
+public:
+ virtual ::java::lang::Object * next();
+private:
+ static ::java::lang::String * NOT_LONG;
+ static ::java::lang::String * ERR_PREFIX;
+ static ::java::lang::String * NOT_INT;
+ static ::java::lang::String * NOT_DOUBLE;
+ static ::java::lang::String * NOT_BYTE;
+ static ::java::lang::String * NOT_BOOLEAN;
+ static ::java::lang::String * IS_NOT;
+ static ::java::lang::String * DEFAULT_PATTERN_S;
+ static ::java::util::regex::Pattern * DEFAULT_PATTERN;
+ static ::java::lang::String * BIG_INTEGER;
+ static ::java::lang::String * NEW_LINE;
+ ::java::io::IOException * __attribute__((aligned(__alignof__( ::java::lang::Object)))) lastIOException;
+ ::java::io::InputStream * bIS;
+ const jint MaxBufferLen;
+ const jint MIN_BUF_LEN;
+ const jint MAX_PREFIX;
+ ::java::lang::String * actBuffer;
+ jint currentRadix;
+ ::java::util::Locale * actLocale;
+ ::java::util::regex::Pattern * p;
+ jint actPos;
+ JArray< jbyte > * tmpBuffer;
+ ::java::lang::String * charsetName;
+ ::java::util::regex::Matcher * myMatcher;
+ ::java::util::regex::MatchResult * actResult;
+ ::java::lang::Readable * readableSource;
+ ::java::nio::channels::ReadableByteChannel * rbcSource;
+ jboolean isClosed;
+ ::java::lang::String * lastFound;
+ jboolean lastFoundPresent;
+ jint lastNextPos;
+ jint lastPatternHash;
+ jint last_RegionStart;
+ jint last_RegionEnd;
+ jboolean last_anchor;
+ jboolean last_transparent;
+ ::java::util::regex::MatchResult * lastResult;
+ jint procesedChars;
+ jboolean needInput;
+ jboolean skipped;
+ jboolean doSkipp;
+ jboolean matchValid;
+ ::java::text::NumberFormat * actFormat;
+ ::java::text::DecimalFormat * df;
+ jboolean useLocale__;
+ ::java::text::DecimalFormatSymbols * dfs;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Scanner__
diff --git a/libjava/java/util/ServiceConfigurationError.h b/libjava/java/util/ServiceConfigurationError.h
new file mode 100644
index 000000000..7a2a905ad
--- /dev/null
+++ b/libjava/java/util/ServiceConfigurationError.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_ServiceConfigurationError__
+#define __java_util_ServiceConfigurationError__
+
+#pragma interface
+
+#include <java/lang/Error.h>
+
+class java::util::ServiceConfigurationError : public ::java::lang::Error
+{
+
+public:
+ ServiceConfigurationError(::java::lang::String *);
+ ServiceConfigurationError(::java::lang::String *, ::java::lang::Throwable *);
+private:
+ static const jlong serialVersionUID = 74132770414881LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_ServiceConfigurationError__
diff --git a/libjava/java/util/ServiceLoader$1.h b/libjava/java/util/ServiceLoader$1.h
new file mode 100644
index 000000000..52e883d3e
--- /dev/null
+++ b/libjava/java/util/ServiceLoader$1.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_ServiceLoader$1__
+#define __java_util_ServiceLoader$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::ServiceLoader$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ ServiceLoader$1(::java::util::ServiceLoader *);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Object * next();
+ virtual void remove();
+private:
+ ::java::util::Iterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) cacheIt;
+public: // actually package-private
+ ::java::util::ServiceLoader * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_ServiceLoader$1__
diff --git a/libjava/java/util/ServiceLoader.h b/libjava/java/util/ServiceLoader.h
new file mode 100644
index 000000000..f3a91601f
--- /dev/null
+++ b/libjava/java/util/ServiceLoader.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_ServiceLoader__
+#define __java_util_ServiceLoader__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::ServiceLoader : public ::java::lang::Object
+{
+
+ ServiceLoader(::java::lang::Class *, ::java::lang::ClassLoader *);
+public:
+ ::java::util::Iterator * iterator();
+ static ::java::util::ServiceLoader * load(::java::lang::Class *);
+ static ::java::util::ServiceLoader * load(::java::lang::Class *, ::java::lang::ClassLoader *);
+ static ::java::util::ServiceLoader * loadInstalled(::java::lang::Class *);
+ void reload();
+ ::java::lang::String * toString();
+public: // actually package-private
+ static ::java::util::List * access$0(::java::util::ServiceLoader *);
+ static ::java::util::Iterator * access$1(::java::util::ServiceLoader *);
+ static ::java::lang::Class * access$2(::java::util::ServiceLoader *);
+ static ::java::lang::ClassLoader * access$3(::java::util::ServiceLoader *);
+ static void access$4(::java::util::ServiceLoader *, ::java::util::Iterator *);
+private:
+ ::java::lang::Class * __attribute__((aligned(__alignof__( ::java::lang::Object)))) spi;
+ ::java::lang::ClassLoader * loader;
+ ::java::util::List * cache;
+ ::java::util::Iterator * serviceIt;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_ServiceLoader__
diff --git a/libjava/java/util/Set.h b/libjava/java/util/Set.h
new file mode 100644
index 000000000..a56347218
--- /dev/null
+++ b/libjava/java/util/Set.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Set__
+#define __java_util_Set__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::Set : public ::java::lang::Object
+{
+
+public:
+ virtual jboolean add(::java::lang::Object *) = 0;
+ virtual jboolean addAll(::java::util::Collection *) = 0;
+ virtual void clear() = 0;
+ virtual jboolean contains(::java::lang::Object *) = 0;
+ virtual jboolean containsAll(::java::util::Collection *) = 0;
+ virtual jboolean equals(::java::lang::Object *) = 0;
+ virtual jint hashCode() = 0;
+ virtual jboolean isEmpty() = 0;
+ virtual ::java::util::Iterator * iterator() = 0;
+ virtual jboolean remove(::java::lang::Object *) = 0;
+ virtual jboolean removeAll(::java::util::Collection *) = 0;
+ virtual jboolean retainAll(::java::util::Collection *) = 0;
+ virtual jint size() = 0;
+ virtual JArray< ::java::lang::Object * > * toArray() = 0;
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_Set__
diff --git a/libjava/java/util/SimpleTimeZone.h b/libjava/java/util/SimpleTimeZone.h
new file mode 100644
index 000000000..311e31f32
--- /dev/null
+++ b/libjava/java/util/SimpleTimeZone.h
@@ -0,0 +1,80 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_SimpleTimeZone__
+#define __java_util_SimpleTimeZone__
+
+#pragma interface
+
+#include <java/util/TimeZone.h>
+#include <gcj/array.h>
+
+
+class java::util::SimpleTimeZone : public ::java::util::TimeZone
+{
+
+public:
+ SimpleTimeZone(jint, ::java::lang::String *);
+ SimpleTimeZone(jint, ::java::lang::String *, jint, jint, jint, jint, jint, jint, jint, jint);
+ SimpleTimeZone(jint, ::java::lang::String *, jint, jint, jint, jint, jint, jint, jint, jint, jint);
+ SimpleTimeZone(jint, ::java::lang::String *, jint, jint, jint, jint, jint, jint, jint, jint, jint, jint, jint);
+ virtual void setStartYear(jint);
+private:
+ jint checkRule(jint, jint, jint);
+public:
+ virtual void setStartRule(jint, jint, jint, jint);
+ virtual void setStartRule(jint, jint, jint, jint, jboolean);
+ virtual void setStartRule(jint, jint, jint);
+ virtual void setEndRule(jint, jint, jint, jint);
+ virtual void setEndRule(jint, jint, jint, jint, jboolean);
+ virtual void setEndRule(jint, jint, jint);
+ virtual jint getOffset(jint, jint, jint, jint, jint, jint);
+ virtual jint getRawOffset();
+ virtual void setRawOffset(jint);
+ virtual jint getDSTSavings();
+ virtual void setDSTSavings(jint);
+ virtual jboolean useDaylightTime();
+private:
+ jint getDaysInMonth(jint, jint);
+ jboolean isBefore(jint, jint, jint, jint, jint, jint, jint, jint, jint, jint);
+public:
+ virtual jboolean inDaylightTime(::java::util::Date *);
+ virtual jint hashCode();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual jboolean hasSameRules(::java::util::TimeZone *);
+ virtual ::java::lang::String * toString();
+private:
+ void readObject(::java::io::ObjectInputStream *);
+ void writeObject(::java::io::ObjectOutputStream *);
+ jint __attribute__((aligned(__alignof__( ::java::util::TimeZone)))) rawOffset;
+ jboolean useDaylight;
+ jint dstSavings;
+ jint startYear;
+ static const jint DOM_MODE = 1;
+ static const jint DOW_IN_MONTH_MODE = 2;
+ static const jint DOW_GE_DOM_MODE = 3;
+ static const jint DOW_LE_DOM_MODE = 4;
+ jint startMode;
+ jint startMonth;
+ jint startDay;
+ jint startDayOfWeek;
+ jint startTime;
+ jint startTimeMode;
+ jint endMonth;
+ jint endMode;
+ jint endDay;
+ jint endDayOfWeek;
+ jint endTime;
+ jint endTimeMode;
+ JArray< jbyte > * monthLength;
+ static JArray< jbyte > * monthArr;
+ jint serialVersionOnStream;
+ static const jlong serialVersionUID = -403250971215465050LL;
+public:
+ static const jint STANDARD_TIME = 1;
+ static const jint WALL_TIME = 0;
+ static const jint UTC_TIME = 2;
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_SimpleTimeZone__
diff --git a/libjava/java/util/SortedMap.h b/libjava/java/util/SortedMap.h
new file mode 100644
index 000000000..881489248
--- /dev/null
+++ b/libjava/java/util/SortedMap.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_SortedMap__
+#define __java_util_SortedMap__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::SortedMap : public ::java::lang::Object
+{
+
+public:
+ virtual ::java::util::Comparator * comparator() = 0;
+ virtual ::java::lang::Object * firstKey() = 0;
+ virtual ::java::util::SortedMap * headMap(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * lastKey() = 0;
+ virtual ::java::util::SortedMap * subMap(::java::lang::Object *, ::java::lang::Object *) = 0;
+ virtual ::java::util::SortedMap * tailMap(::java::lang::Object *) = 0;
+ virtual void clear() = 0;
+ virtual jboolean containsKey(::java::lang::Object *) = 0;
+ virtual jboolean containsValue(::java::lang::Object *) = 0;
+ virtual ::java::util::Set * entrySet() = 0;
+ virtual ::java::lang::Object * get(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *) = 0;
+ virtual jboolean isEmpty() = 0;
+ virtual ::java::util::Set * keySet() = 0;
+ virtual void putAll(::java::util::Map *) = 0;
+ virtual ::java::lang::Object * remove(::java::lang::Object *) = 0;
+ virtual jint size() = 0;
+ virtual ::java::util::Collection * values() = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_SortedMap__
diff --git a/libjava/java/util/SortedSet.h b/libjava/java/util/SortedSet.h
new file mode 100644
index 000000000..157019a55
--- /dev/null
+++ b/libjava/java/util/SortedSet.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_SortedSet__
+#define __java_util_SortedSet__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::SortedSet : public ::java::lang::Object
+{
+
+public:
+ virtual ::java::util::Comparator * comparator() = 0;
+ virtual ::java::lang::Object * first() = 0;
+ virtual ::java::util::SortedSet * headSet(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * last() = 0;
+ virtual ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *) = 0;
+ virtual ::java::util::SortedSet * tailSet(::java::lang::Object *) = 0;
+ virtual jboolean add(::java::lang::Object *) = 0;
+ virtual jboolean addAll(::java::util::Collection *) = 0;
+ virtual void clear() = 0;
+ virtual jboolean contains(::java::lang::Object *) = 0;
+ virtual jboolean containsAll(::java::util::Collection *) = 0;
+ virtual jboolean isEmpty() = 0;
+ virtual ::java::util::Iterator * iterator() = 0;
+ virtual jboolean remove(::java::lang::Object *) = 0;
+ virtual jboolean removeAll(::java::util::Collection *) = 0;
+ virtual jboolean retainAll(::java::util::Collection *) = 0;
+ virtual jint size() = 0;
+ virtual JArray< ::java::lang::Object * > * toArray() = 0;
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_SortedSet__
diff --git a/libjava/java/util/Stack.h b/libjava/java/util/Stack.h
new file mode 100644
index 000000000..b6e25f268
--- /dev/null
+++ b/libjava/java/util/Stack.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Stack__
+#define __java_util_Stack__
+
+#pragma interface
+
+#include <java/util/Vector.h>
+
+class java::util::Stack : public ::java::util::Vector
+{
+
+public:
+ Stack();
+ virtual ::java::lang::Object * push(::java::lang::Object *);
+ virtual ::java::lang::Object * pop();
+ virtual ::java::lang::Object * peek();
+ virtual jboolean empty();
+ virtual jint search(::java::lang::Object *);
+private:
+ static const jlong serialVersionUID = 1224463164541339165LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Stack__
diff --git a/libjava/java/util/StringTokenizer.h b/libjava/java/util/StringTokenizer.h
new file mode 100644
index 000000000..45d8cb893
--- /dev/null
+++ b/libjava/java/util/StringTokenizer.h
@@ -0,0 +1,34 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_StringTokenizer__
+#define __java_util_StringTokenizer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::StringTokenizer : public ::java::lang::Object
+{
+
+public:
+ StringTokenizer(::java::lang::String *);
+ StringTokenizer(::java::lang::String *, ::java::lang::String *);
+ StringTokenizer(::java::lang::String *, ::java::lang::String *, jboolean);
+ virtual jboolean hasMoreTokens();
+ virtual ::java::lang::String * nextToken(::java::lang::String *);
+ virtual ::java::lang::String * nextToken();
+ virtual jboolean hasMoreElements();
+ virtual ::java::lang::Object * nextElement();
+ virtual jint countTokens();
+private:
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) pos;
+ ::java::lang::String * str;
+ jint len;
+ ::java::lang::String * delim;
+ jboolean retDelims;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_StringTokenizer__
diff --git a/libjava/java/util/TimeZone$1.h b/libjava/java/util/TimeZone$1.h
new file mode 100644
index 000000000..4137030e0
--- /dev/null
+++ b/libjava/java/util/TimeZone$1.h
@@ -0,0 +1,21 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TimeZone$1__
+#define __java_util_TimeZone$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::TimeZone$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ TimeZone$1();
+public:
+ virtual ::java::lang::Object * run();
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TimeZone$1__
diff --git a/libjava/java/util/TimeZone.h b/libjava/java/util/TimeZone.h
new file mode 100644
index 000000000..9ae0ebc3f
--- /dev/null
+++ b/libjava/java/util/TimeZone.h
@@ -0,0 +1,70 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TimeZone__
+#define __java_util_TimeZone__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::TimeZone : public ::java::lang::Object
+{
+
+public:
+ TimeZone();
+private:
+ static ::java::util::TimeZone * defaultZone();
+public: // actually package-private
+ static ::java::util::HashMap * timezones();
+ static ::java::util::TimeZone * getDefaultTimeZone(::java::lang::String *);
+private:
+ static JArray< jint > * getDateParams(::java::lang::String *);
+ static jint parseTime(::java::lang::String *);
+public:
+ virtual jint getOffset(jint, jint, jint, jint, jint, jint) = 0;
+ virtual jint getOffset(jlong);
+ virtual jint getRawOffset() = 0;
+ virtual void setRawOffset(jint) = 0;
+ virtual ::java::lang::String * getID();
+ virtual void setID(::java::lang::String *);
+ virtual ::java::lang::String * getDisplayName();
+ virtual ::java::lang::String * getDisplayName(::java::util::Locale *);
+ virtual ::java::lang::String * getDisplayName(jboolean, jint);
+ virtual ::java::lang::String * getDisplayName(jboolean, jint, ::java::util::Locale *);
+private:
+ ::java::lang::String * getDefaultDisplayName(jboolean);
+public:
+ virtual jboolean useDaylightTime() = 0;
+ virtual jboolean inDaylightTime(::java::util::Date *) = 0;
+ virtual jint getDSTSavings();
+private:
+ static ::java::util::TimeZone * getTimeZoneInternal(::java::lang::String *);
+public:
+ static ::java::util::TimeZone * getTimeZone(::java::lang::String *);
+ static JArray< ::java::lang::String * > * getAvailableIDs(jint);
+private:
+ static jint getAvailableIDs(::java::io::File *, ::java::lang::String *, ::java::util::ArrayList *);
+public:
+ static JArray< ::java::lang::String * > * getAvailableIDs();
+ static ::java::util::TimeZone * getDefault();
+ static void setDefault(::java::util::TimeZone *);
+ virtual jboolean hasSameRules(::java::util::TimeZone *);
+ virtual ::java::lang::Object * clone();
+ static const jint SHORT = 0;
+ static const jint LONG = 1;
+private:
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ID;
+ static ::java::util::TimeZone * defaultZone0;
+ static const jlong serialVersionUID = 3581463369166924961LL;
+ static ::java::lang::String * zoneinfo_dir;
+ static JArray< ::java::lang::String * > * availableIDs;
+ static ::java::util::HashMap * aliases0;
+ static ::java::util::HashMap * timezones0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TimeZone__
diff --git a/libjava/java/util/Timer$Scheduler.h b/libjava/java/util/Timer$Scheduler.h
new file mode 100644
index 000000000..ca61c0f76
--- /dev/null
+++ b/libjava/java/util/Timer$Scheduler.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Timer$Scheduler__
+#define __java_util_Timer$Scheduler__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Timer$Scheduler : public ::java::lang::Object
+{
+
+public:
+ Timer$Scheduler(::java::util::Timer$TaskQueue *);
+ void run();
+private:
+ ::java::util::Timer$TaskQueue * __attribute__((aligned(__alignof__( ::java::lang::Object)))) queue;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Timer$Scheduler__
diff --git a/libjava/java/util/Timer$TaskQueue.h b/libjava/java/util/Timer$TaskQueue.h
new file mode 100644
index 000000000..13416d32e
--- /dev/null
+++ b/libjava/java/util/Timer$TaskQueue.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Timer$TaskQueue__
+#define __java_util_Timer$TaskQueue__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::Timer$TaskQueue : public ::java::lang::Object
+{
+
+public:
+ Timer$TaskQueue();
+private:
+ void add(::java::util::TimerTask *);
+ void remove();
+public:
+ void enqueue(::java::util::TimerTask *);
+private:
+ ::java::util::TimerTask * top();
+public:
+ ::java::util::TimerTask * serve();
+ void setNullOnEmpty(jboolean);
+ void stop();
+ jint purge();
+private:
+ static const jint DEFAULT_SIZE = 32;
+ jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) nullOnEmpty;
+ JArray< ::java::util::TimerTask * > * heap;
+ jint elements;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Timer$TaskQueue__
diff --git a/libjava/java/util/Timer.h b/libjava/java/util/Timer.h
new file mode 100644
index 000000000..2246cfd30
--- /dev/null
+++ b/libjava/java/util/Timer.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Timer__
+#define __java_util_Timer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Timer : public ::java::lang::Object
+{
+
+public:
+ Timer();
+ Timer(jboolean);
+ Timer(::java::lang::String *);
+ Timer(::java::lang::String *, jboolean);
+private:
+ Timer(jboolean, jint);
+ Timer(jboolean, jint, ::java::lang::String *);
+public:
+ virtual void cancel();
+private:
+ void schedule(::java::util::TimerTask *, jlong, jlong, jboolean);
+ static void positiveDelay(jlong);
+ static void positivePeriod(jlong);
+public:
+ virtual void schedule(::java::util::TimerTask *, ::java::util::Date *);
+ virtual void schedule(::java::util::TimerTask *, ::java::util::Date *, jlong);
+ virtual void schedule(::java::util::TimerTask *, jlong);
+ virtual void schedule(::java::util::TimerTask *, jlong, jlong);
+ virtual void scheduleAtFixedRate(::java::util::TimerTask *, ::java::util::Date *, jlong);
+ virtual void scheduleAtFixedRate(::java::util::TimerTask *, jlong, jlong);
+public: // actually protected
+ virtual void finalize();
+public:
+ virtual jint purge();
+private:
+ static jint nr;
+ ::java::util::Timer$TaskQueue * __attribute__((aligned(__alignof__( ::java::lang::Object)))) queue;
+ ::java::util::Timer$Scheduler * scheduler;
+ ::java::lang::Thread * thread;
+ jboolean canceled;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Timer__
diff --git a/libjava/java/util/TimerTask.h b/libjava/java/util/TimerTask.h
new file mode 100644
index 000000000..a38b66ed8
--- /dev/null
+++ b/libjava/java/util/TimerTask.h
@@ -0,0 +1,29 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TimerTask__
+#define __java_util_TimerTask__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::TimerTask : public ::java::lang::Object
+{
+
+public: // actually protected
+ TimerTask();
+public:
+ virtual jboolean cancel();
+ virtual void run() = 0;
+ virtual jlong scheduledExecutionTime();
+public: // actually package-private
+ jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) scheduled;
+ jlong lastExecutionTime;
+ jlong period;
+ jboolean fixed;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TimerTask__
diff --git a/libjava/java/util/TooManyListenersException.h b/libjava/java/util/TooManyListenersException.h
new file mode 100644
index 000000000..da5e72a0e
--- /dev/null
+++ b/libjava/java/util/TooManyListenersException.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TooManyListenersException__
+#define __java_util_TooManyListenersException__
+
+#pragma interface
+
+#include <java/lang/Exception.h>
+
+class java::util::TooManyListenersException : public ::java::lang::Exception
+{
+
+public:
+ TooManyListenersException();
+ TooManyListenersException(::java::lang::String *);
+private:
+ static const jlong serialVersionUID = 5074640544770687831LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TooManyListenersException__
diff --git a/libjava/java/util/TreeMap$1.h b/libjava/java/util/TreeMap$1.h
new file mode 100644
index 000000000..07e719ba9
--- /dev/null
+++ b/libjava/java/util/TreeMap$1.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TreeMap$1__
+#define __java_util_TreeMap$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::TreeMap$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ TreeMap$1(::java::util::TreeMap$SubMap$NavigableEntrySet *);
+public:
+ virtual jint TreeMap$1$compare(::java::util::Map$Entry *, ::java::util::Map$Entry *);
+ virtual jint compare(::java::lang::Object *, ::java::lang::Object *);
+public: // actually package-private
+ ::java::util::TreeMap$SubMap$NavigableEntrySet * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$2;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TreeMap$1__
diff --git a/libjava/java/util/TreeMap$2.h b/libjava/java/util/TreeMap$2.h
new file mode 100644
index 000000000..ffb6dbe75
--- /dev/null
+++ b/libjava/java/util/TreeMap$2.h
@@ -0,0 +1,26 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TreeMap$2__
+#define __java_util_TreeMap$2__
+
+#pragma interface
+
+#include <java/util/AbstractCollection.h>
+
+class java::util::TreeMap$2 : public ::java::util::AbstractCollection
+{
+
+public: // actually package-private
+ TreeMap$2(::java::util::TreeMap$SubMap *);
+public:
+ virtual jint size();
+ virtual ::java::util::Iterator * iterator();
+ virtual void clear();
+public: // actually package-private
+ ::java::util::TreeMap$SubMap * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TreeMap$2__
diff --git a/libjava/java/util/TreeMap$3.h b/libjava/java/util/TreeMap$3.h
new file mode 100644
index 000000000..73b8f825d
--- /dev/null
+++ b/libjava/java/util/TreeMap$3.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TreeMap$3__
+#define __java_util_TreeMap$3__
+
+#pragma interface
+
+#include <java/util/AbstractCollection.h>
+
+class java::util::TreeMap$3 : public ::java::util::AbstractCollection
+{
+
+public: // actually package-private
+ TreeMap$3(::java::util::TreeMap$DescendingMap *);
+public:
+ virtual jint size();
+ virtual ::java::util::Iterator * iterator();
+ virtual void clear();
+public: // actually package-private
+ static ::java::util::TreeMap$DescendingMap * access$0(::java::util::TreeMap$3 *);
+ ::java::util::TreeMap$DescendingMap * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TreeMap$3__
diff --git a/libjava/java/util/TreeMap$4.h b/libjava/java/util/TreeMap$4.h
new file mode 100644
index 000000000..31cdf766a
--- /dev/null
+++ b/libjava/java/util/TreeMap$4.h
@@ -0,0 +1,29 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TreeMap$4__
+#define __java_util_TreeMap$4__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::TreeMap$4 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ TreeMap$4(::java::util::TreeMap$3 *);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Object * next();
+ virtual void remove();
+private:
+ ::java::util::Map$Entry * __attribute__((aligned(__alignof__( ::java::lang::Object)))) last;
+ ::java::util::Map$Entry * next__;
+public: // actually package-private
+ ::java::util::TreeMap$3 * this$2;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TreeMap$4__
diff --git a/libjava/java/util/TreeMap$5.h b/libjava/java/util/TreeMap$5.h
new file mode 100644
index 000000000..c7629276f
--- /dev/null
+++ b/libjava/java/util/TreeMap$5.h
@@ -0,0 +1,29 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TreeMap$5__
+#define __java_util_TreeMap$5__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::TreeMap$5 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ TreeMap$5(::java::util::TreeMap$DescendingSet *);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Object * next();
+ virtual void remove();
+private:
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) last;
+ ::java::lang::Object * next__;
+public: // actually package-private
+ ::java::util::TreeMap$DescendingSet * this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TreeMap$5__
diff --git a/libjava/java/util/TreeMap$6.h b/libjava/java/util/TreeMap$6.h
new file mode 100644
index 000000000..8b0bb5bc8
--- /dev/null
+++ b/libjava/java/util/TreeMap$6.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TreeMap$6__
+#define __java_util_TreeMap$6__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::TreeMap$6 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ TreeMap$6(::java::util::TreeMap$NavigableEntrySet *);
+public:
+ virtual jint TreeMap$6$compare(::java::util::Map$Entry *, ::java::util::Map$Entry *);
+ virtual jint compare(::java::lang::Object *, ::java::lang::Object *);
+public: // actually package-private
+ ::java::util::TreeMap$NavigableEntrySet * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TreeMap$6__
diff --git a/libjava/java/util/TreeMap$7.h b/libjava/java/util/TreeMap$7.h
new file mode 100644
index 000000000..09086a467
--- /dev/null
+++ b/libjava/java/util/TreeMap$7.h
@@ -0,0 +1,26 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TreeMap$7__
+#define __java_util_TreeMap$7__
+
+#pragma interface
+
+#include <java/util/AbstractCollection.h>
+
+class java::util::TreeMap$7 : public ::java::util::AbstractCollection
+{
+
+public: // actually package-private
+ TreeMap$7(::java::util::TreeMap *);
+public:
+ virtual jint size();
+ virtual ::java::util::Iterator * iterator();
+ virtual void clear();
+public: // actually package-private
+ ::java::util::TreeMap * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TreeMap$7__
diff --git a/libjava/java/util/TreeMap$DescendingMap.h b/libjava/java/util/TreeMap$DescendingMap.h
new file mode 100644
index 000000000..70d6e6c76
--- /dev/null
+++ b/libjava/java/util/TreeMap$DescendingMap.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TreeMap$DescendingMap__
+#define __java_util_TreeMap$DescendingMap__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::TreeMap$DescendingMap : public ::java::lang::Object
+{
+
+public:
+ TreeMap$DescendingMap(::java::util::NavigableMap *);
+ ::java::util::Map$Entry * ceilingEntry(::java::lang::Object *);
+ ::java::lang::Object * ceilingKey(::java::lang::Object *);
+ void clear();
+ ::java::util::Comparator * comparator();
+ jboolean containsKey(::java::lang::Object *);
+ jboolean containsValue(::java::lang::Object *);
+ ::java::util::NavigableSet * descendingKeySet();
+ ::java::util::NavigableMap * descendingMap();
+ ::java::util::Set * entrySet();
+ jboolean equals(::java::lang::Object *);
+ ::java::util::Map$Entry * firstEntry();
+ ::java::lang::Object * firstKey();
+ ::java::util::Map$Entry * floorEntry(::java::lang::Object *);
+ ::java::lang::Object * floorKey(::java::lang::Object *);
+ ::java::lang::Object * get(::java::lang::Object *);
+ jint hashCode();
+ ::java::util::SortedMap * headMap(::java::lang::Object *);
+ ::java::util::NavigableMap * headMap(::java::lang::Object *, jboolean);
+ ::java::util::Map$Entry * higherEntry(::java::lang::Object *);
+ ::java::lang::Object * higherKey(::java::lang::Object *);
+ ::java::util::Set * keySet();
+ jboolean isEmpty();
+ ::java::util::Map$Entry * lastEntry();
+ ::java::lang::Object * lastKey();
+ ::java::util::Map$Entry * lowerEntry(::java::lang::Object *);
+ ::java::lang::Object * lowerKey(::java::lang::Object *);
+ ::java::util::NavigableSet * navigableKeySet();
+ ::java::util::Map$Entry * pollFirstEntry();
+ ::java::util::Map$Entry * pollLastEntry();
+ ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *);
+ void putAll(::java::util::Map *);
+ ::java::lang::Object * remove(::java::lang::Object *);
+ jint size();
+ ::java::util::SortedMap * subMap(::java::lang::Object *, ::java::lang::Object *);
+ ::java::util::NavigableMap * subMap(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean);
+ ::java::util::SortedMap * tailMap(::java::lang::Object *);
+ ::java::util::NavigableMap * tailMap(::java::lang::Object *, jboolean);
+ ::java::lang::String * toString();
+ ::java::util::Collection * values();
+private:
+ ::java::util::Set * __attribute__((aligned(__alignof__( ::java::lang::Object)))) entries;
+ ::java::util::Set * keys;
+ ::java::util::NavigableSet * nKeys;
+ ::java::util::Collection * values__;
+ ::java::util::NavigableMap * map;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TreeMap$DescendingMap__
diff --git a/libjava/java/util/TreeMap$DescendingSet.h b/libjava/java/util/TreeMap$DescendingSet.h
new file mode 100644
index 000000000..4824a2747
--- /dev/null
+++ b/libjava/java/util/TreeMap$DescendingSet.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TreeMap$DescendingSet__
+#define __java_util_TreeMap$DescendingSet__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::TreeMap$DescendingSet : public ::java::lang::Object
+{
+
+public:
+ TreeMap$DescendingSet(::java::util::NavigableSet *);
+ jboolean add(::java::lang::Object *);
+ jboolean addAll(::java::util::Collection *);
+ ::java::lang::Object * ceiling(::java::lang::Object *);
+ void clear();
+ ::java::util::Comparator * comparator();
+ jboolean contains(::java::lang::Object *);
+ jboolean containsAll(::java::util::Collection *);
+ ::java::util::Iterator * descendingIterator();
+ ::java::util::NavigableSet * descendingSet();
+ jboolean equals(::java::lang::Object *);
+ ::java::lang::Object * first();
+ ::java::lang::Object * floor(::java::lang::Object *);
+ jint hashCode();
+ ::java::util::SortedSet * headSet(::java::lang::Object *);
+ ::java::util::NavigableSet * headSet(::java::lang::Object *, jboolean);
+ ::java::lang::Object * higher(::java::lang::Object *);
+ jboolean isEmpty();
+ ::java::util::Iterator * iterator();
+ ::java::lang::Object * last();
+ ::java::lang::Object * lower(::java::lang::Object *);
+ ::java::lang::Object * pollFirst();
+ ::java::lang::Object * pollLast();
+ jboolean remove(::java::lang::Object *);
+ jboolean removeAll(::java::util::Collection *);
+ jboolean retainAll(::java::util::Collection *);
+ jint size();
+ ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *);
+ ::java::util::NavigableSet * subSet(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean);
+ ::java::util::SortedSet * tailSet(::java::lang::Object *);
+ ::java::util::NavigableSet * tailSet(::java::lang::Object *, jboolean);
+ JArray< ::java::lang::Object * > * toArray();
+ JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
+ ::java::lang::String * toString();
+private:
+ ::java::util::NavigableSet * __attribute__((aligned(__alignof__( ::java::lang::Object)))) set;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TreeMap$DescendingSet__
diff --git a/libjava/java/util/TreeMap$EntrySet.h b/libjava/java/util/TreeMap$EntrySet.h
new file mode 100644
index 000000000..ed03318b8
--- /dev/null
+++ b/libjava/java/util/TreeMap$EntrySet.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TreeMap$EntrySet__
+#define __java_util_TreeMap$EntrySet__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+
+class java::util::TreeMap$EntrySet : public ::java::util::AbstractSet
+{
+
+ TreeMap$EntrySet(::java::util::TreeMap *);
+public:
+ virtual jint size();
+ virtual ::java::util::Iterator * iterator();
+ virtual void clear();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jboolean remove(::java::lang::Object *);
+public: // actually package-private
+ TreeMap$EntrySet(::java::util::TreeMap *, ::java::util::TreeMap$EntrySet *);
+ ::java::util::TreeMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TreeMap$EntrySet__
diff --git a/libjava/java/util/TreeMap$KeySet.h b/libjava/java/util/TreeMap$KeySet.h
new file mode 100644
index 000000000..0559a4dd7
--- /dev/null
+++ b/libjava/java/util/TreeMap$KeySet.h
@@ -0,0 +1,29 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TreeMap$KeySet__
+#define __java_util_TreeMap$KeySet__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+
+class java::util::TreeMap$KeySet : public ::java::util::AbstractSet
+{
+
+ TreeMap$KeySet(::java::util::TreeMap *);
+public:
+ virtual jint size();
+ virtual ::java::util::Iterator * iterator();
+ virtual void clear();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jboolean remove(::java::lang::Object *);
+public: // actually package-private
+ TreeMap$KeySet(::java::util::TreeMap *, ::java::util::TreeMap$KeySet *);
+ TreeMap$KeySet(::java::util::TreeMap *, ::java::util::TreeMap$KeySet *, ::java::util::TreeMap$KeySet *);
+ ::java::util::TreeMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TreeMap$KeySet__
diff --git a/libjava/java/util/TreeMap$NavigableEntrySet.h b/libjava/java/util/TreeMap$NavigableEntrySet.h
new file mode 100644
index 000000000..cdbed6ee3
--- /dev/null
+++ b/libjava/java/util/TreeMap$NavigableEntrySet.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TreeMap$NavigableEntrySet__
+#define __java_util_TreeMap$NavigableEntrySet__
+
+#pragma interface
+
+#include <java/util/TreeMap$EntrySet.h>
+
+class java::util::TreeMap$NavigableEntrySet : public ::java::util::TreeMap$EntrySet
+{
+
+ TreeMap$NavigableEntrySet(::java::util::TreeMap *);
+public:
+ ::java::util::Map$Entry * TreeMap$NavigableEntrySet$ceiling(::java::util::Map$Entry *);
+ ::java::util::Comparator * comparator();
+ ::java::util::Iterator * descendingIterator();
+ ::java::util::NavigableSet * descendingSet();
+ ::java::util::Map$Entry * TreeMap$NavigableEntrySet$first();
+ ::java::util::Map$Entry * TreeMap$NavigableEntrySet$floor(::java::util::Map$Entry *);
+ ::java::util::SortedSet * TreeMap$NavigableEntrySet$headSet(::java::util::Map$Entry *);
+ ::java::util::NavigableSet * TreeMap$NavigableEntrySet$headSet(::java::util::Map$Entry *, jboolean);
+ ::java::util::Map$Entry * TreeMap$NavigableEntrySet$higher(::java::util::Map$Entry *);
+ ::java::util::Map$Entry * TreeMap$NavigableEntrySet$last();
+ ::java::util::Map$Entry * TreeMap$NavigableEntrySet$lower(::java::util::Map$Entry *);
+ ::java::util::Map$Entry * TreeMap$NavigableEntrySet$pollFirst();
+ ::java::util::Map$Entry * TreeMap$NavigableEntrySet$pollLast();
+ ::java::util::SortedSet * TreeMap$NavigableEntrySet$subSet(::java::util::Map$Entry *, ::java::util::Map$Entry *);
+ ::java::util::NavigableSet * TreeMap$NavigableEntrySet$subSet(::java::util::Map$Entry *, jboolean, ::java::util::Map$Entry *, jboolean);
+ ::java::util::SortedSet * TreeMap$NavigableEntrySet$tailSet(::java::util::Map$Entry *);
+ ::java::util::NavigableSet * TreeMap$NavigableEntrySet$tailSet(::java::util::Map$Entry *, jboolean);
+ ::java::lang::Object * pollFirst();
+ ::java::lang::Object * higher(::java::lang::Object *);
+ ::java::lang::Object * lower(::java::lang::Object *);
+ ::java::lang::Object * pollLast();
+ ::java::lang::Object * first();
+ ::java::lang::Object * last();
+ ::java::util::NavigableSet * subSet(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean);
+ ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *);
+ ::java::lang::Object * ceiling(::java::lang::Object *);
+ ::java::lang::Object * floor(::java::lang::Object *);
+ ::java::util::NavigableSet * tailSet(::java::lang::Object *, jboolean);
+ ::java::util::SortedSet * tailSet(::java::lang::Object *);
+ ::java::util::NavigableSet * headSet(::java::lang::Object *, jboolean);
+ ::java::util::SortedSet * headSet(::java::lang::Object *);
+public: // actually package-private
+ TreeMap$NavigableEntrySet(::java::util::TreeMap *, ::java::util::TreeMap$NavigableEntrySet *);
+ static ::java::util::TreeMap * access$15(::java::util::TreeMap$NavigableEntrySet *);
+ ::java::util::TreeMap * __attribute__((aligned(__alignof__( ::java::util::TreeMap$EntrySet)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TreeMap$NavigableEntrySet__
diff --git a/libjava/java/util/TreeMap$NavigableKeySet.h b/libjava/java/util/TreeMap$NavigableKeySet.h
new file mode 100644
index 000000000..247ac276b
--- /dev/null
+++ b/libjava/java/util/TreeMap$NavigableKeySet.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TreeMap$NavigableKeySet__
+#define __java_util_TreeMap$NavigableKeySet__
+
+#pragma interface
+
+#include <java/util/TreeMap$KeySet.h>
+
+class java::util::TreeMap$NavigableKeySet : public ::java::util::TreeMap$KeySet
+{
+
+ TreeMap$NavigableKeySet(::java::util::TreeMap *);
+public:
+ ::java::lang::Object * ceiling(::java::lang::Object *);
+ ::java::util::Comparator * comparator();
+ ::java::util::Iterator * descendingIterator();
+ ::java::util::NavigableSet * descendingSet();
+ ::java::lang::Object * first();
+ ::java::lang::Object * floor(::java::lang::Object *);
+ ::java::util::SortedSet * headSet(::java::lang::Object *);
+ ::java::util::NavigableSet * headSet(::java::lang::Object *, jboolean);
+ ::java::lang::Object * higher(::java::lang::Object *);
+ ::java::lang::Object * last();
+ ::java::lang::Object * lower(::java::lang::Object *);
+ ::java::lang::Object * pollFirst();
+ ::java::lang::Object * pollLast();
+ ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *);
+ ::java::util::NavigableSet * subSet(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean);
+ ::java::util::SortedSet * tailSet(::java::lang::Object *);
+ ::java::util::NavigableSet * tailSet(::java::lang::Object *, jboolean);
+public: // actually package-private
+ TreeMap$NavigableKeySet(::java::util::TreeMap *, ::java::util::TreeMap$NavigableKeySet *);
+ ::java::util::TreeMap * __attribute__((aligned(__alignof__( ::java::util::TreeMap$KeySet)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TreeMap$NavigableKeySet__
diff --git a/libjava/java/util/TreeMap$Node.h b/libjava/java/util/TreeMap$Node.h
new file mode 100644
index 000000000..1f0740099
--- /dev/null
+++ b/libjava/java/util/TreeMap$Node.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TreeMap$Node__
+#define __java_util_TreeMap$Node__
+
+#pragma interface
+
+#include <java/util/AbstractMap$SimpleEntry.h>
+
+class java::util::TreeMap$Node : public ::java::util::AbstractMap$SimpleEntry
+{
+
+public: // actually package-private
+ TreeMap$Node(::java::lang::Object *, ::java::lang::Object *, jint);
+ jint __attribute__((aligned(__alignof__( ::java::util::AbstractMap$SimpleEntry)))) color;
+ ::java::util::TreeMap$Node * left;
+ ::java::util::TreeMap$Node * right;
+ ::java::util::TreeMap$Node * parent;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TreeMap$Node__
diff --git a/libjava/java/util/TreeMap$SubMap$EntrySet.h b/libjava/java/util/TreeMap$SubMap$EntrySet.h
new file mode 100644
index 000000000..70a2ffc51
--- /dev/null
+++ b/libjava/java/util/TreeMap$SubMap$EntrySet.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TreeMap$SubMap$EntrySet__
+#define __java_util_TreeMap$SubMap$EntrySet__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+
+class java::util::TreeMap$SubMap$EntrySet : public ::java::util::AbstractSet
+{
+
+ TreeMap$SubMap$EntrySet(::java::util::TreeMap$SubMap *);
+public:
+ virtual jint size();
+ virtual ::java::util::Iterator * iterator();
+ virtual void clear();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jboolean remove(::java::lang::Object *);
+public: // actually package-private
+ TreeMap$SubMap$EntrySet(::java::util::TreeMap$SubMap *, ::java::util::TreeMap$SubMap$EntrySet *);
+ ::java::util::TreeMap$SubMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TreeMap$SubMap$EntrySet__
diff --git a/libjava/java/util/TreeMap$SubMap$KeySet.h b/libjava/java/util/TreeMap$SubMap$KeySet.h
new file mode 100644
index 000000000..812d7cd58
--- /dev/null
+++ b/libjava/java/util/TreeMap$SubMap$KeySet.h
@@ -0,0 +1,29 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TreeMap$SubMap$KeySet__
+#define __java_util_TreeMap$SubMap$KeySet__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+
+class java::util::TreeMap$SubMap$KeySet : public ::java::util::AbstractSet
+{
+
+ TreeMap$SubMap$KeySet(::java::util::TreeMap$SubMap *);
+public:
+ virtual jint size();
+ virtual ::java::util::Iterator * iterator();
+ virtual void clear();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jboolean remove(::java::lang::Object *);
+public: // actually package-private
+ TreeMap$SubMap$KeySet(::java::util::TreeMap$SubMap *, ::java::util::TreeMap$SubMap$KeySet *);
+ TreeMap$SubMap$KeySet(::java::util::TreeMap$SubMap *, ::java::util::TreeMap$SubMap$KeySet *, ::java::util::TreeMap$SubMap$KeySet *);
+ ::java::util::TreeMap$SubMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TreeMap$SubMap$KeySet__
diff --git a/libjava/java/util/TreeMap$SubMap$NavigableEntrySet.h b/libjava/java/util/TreeMap$SubMap$NavigableEntrySet.h
new file mode 100644
index 000000000..34c997702
--- /dev/null
+++ b/libjava/java/util/TreeMap$SubMap$NavigableEntrySet.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TreeMap$SubMap$NavigableEntrySet__
+#define __java_util_TreeMap$SubMap$NavigableEntrySet__
+
+#pragma interface
+
+#include <java/util/TreeMap$SubMap$EntrySet.h>
+
+class java::util::TreeMap$SubMap$NavigableEntrySet : public ::java::util::TreeMap$SubMap$EntrySet
+{
+
+ TreeMap$SubMap$NavigableEntrySet(::java::util::TreeMap$SubMap *);
+public:
+ ::java::util::Map$Entry * TreeMap$SubMap$NavigableEntrySet$ceiling(::java::util::Map$Entry *);
+ ::java::util::Comparator * comparator();
+ ::java::util::Iterator * descendingIterator();
+ ::java::util::NavigableSet * descendingSet();
+ ::java::util::Map$Entry * TreeMap$SubMap$NavigableEntrySet$first();
+ ::java::util::Map$Entry * TreeMap$SubMap$NavigableEntrySet$floor(::java::util::Map$Entry *);
+ ::java::util::SortedSet * TreeMap$SubMap$NavigableEntrySet$headSet(::java::util::Map$Entry *);
+ ::java::util::NavigableSet * TreeMap$SubMap$NavigableEntrySet$headSet(::java::util::Map$Entry *, jboolean);
+ ::java::util::Map$Entry * TreeMap$SubMap$NavigableEntrySet$higher(::java::util::Map$Entry *);
+ ::java::util::Map$Entry * TreeMap$SubMap$NavigableEntrySet$last();
+ ::java::util::Map$Entry * TreeMap$SubMap$NavigableEntrySet$lower(::java::util::Map$Entry *);
+ ::java::util::Map$Entry * TreeMap$SubMap$NavigableEntrySet$pollFirst();
+ ::java::util::Map$Entry * TreeMap$SubMap$NavigableEntrySet$pollLast();
+ ::java::util::SortedSet * TreeMap$SubMap$NavigableEntrySet$subSet(::java::util::Map$Entry *, ::java::util::Map$Entry *);
+ ::java::util::NavigableSet * TreeMap$SubMap$NavigableEntrySet$subSet(::java::util::Map$Entry *, jboolean, ::java::util::Map$Entry *, jboolean);
+ ::java::util::SortedSet * TreeMap$SubMap$NavigableEntrySet$tailSet(::java::util::Map$Entry *);
+ ::java::util::NavigableSet * TreeMap$SubMap$NavigableEntrySet$tailSet(::java::util::Map$Entry *, jboolean);
+ ::java::lang::Object * pollFirst();
+ ::java::lang::Object * higher(::java::lang::Object *);
+ ::java::lang::Object * lower(::java::lang::Object *);
+ ::java::lang::Object * pollLast();
+ ::java::lang::Object * first();
+ ::java::lang::Object * last();
+ ::java::util::NavigableSet * subSet(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean);
+ ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *);
+ ::java::lang::Object * ceiling(::java::lang::Object *);
+ ::java::lang::Object * floor(::java::lang::Object *);
+ ::java::util::NavigableSet * tailSet(::java::lang::Object *, jboolean);
+ ::java::util::SortedSet * tailSet(::java::lang::Object *);
+ ::java::util::NavigableSet * headSet(::java::lang::Object *, jboolean);
+ ::java::util::SortedSet * headSet(::java::lang::Object *);
+public: // actually package-private
+ TreeMap$SubMap$NavigableEntrySet(::java::util::TreeMap$SubMap *, ::java::util::TreeMap$SubMap$NavigableEntrySet *);
+ static ::java::util::TreeMap$SubMap * access$15(::java::util::TreeMap$SubMap$NavigableEntrySet *);
+ ::java::util::TreeMap$SubMap * __attribute__((aligned(__alignof__( ::java::util::TreeMap$SubMap$EntrySet)))) this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TreeMap$SubMap$NavigableEntrySet__
diff --git a/libjava/java/util/TreeMap$SubMap$NavigableKeySet.h b/libjava/java/util/TreeMap$SubMap$NavigableKeySet.h
new file mode 100644
index 000000000..66509d11f
--- /dev/null
+++ b/libjava/java/util/TreeMap$SubMap$NavigableKeySet.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TreeMap$SubMap$NavigableKeySet__
+#define __java_util_TreeMap$SubMap$NavigableKeySet__
+
+#pragma interface
+
+#include <java/util/TreeMap$SubMap$KeySet.h>
+
+class java::util::TreeMap$SubMap$NavigableKeySet : public ::java::util::TreeMap$SubMap$KeySet
+{
+
+ TreeMap$SubMap$NavigableKeySet(::java::util::TreeMap$SubMap *);
+public:
+ ::java::lang::Object * ceiling(::java::lang::Object *);
+ ::java::util::Comparator * comparator();
+ ::java::util::Iterator * descendingIterator();
+ ::java::util::NavigableSet * descendingSet();
+ ::java::lang::Object * first();
+ ::java::lang::Object * floor(::java::lang::Object *);
+ ::java::util::SortedSet * headSet(::java::lang::Object *);
+ ::java::util::NavigableSet * headSet(::java::lang::Object *, jboolean);
+ ::java::lang::Object * higher(::java::lang::Object *);
+ ::java::lang::Object * last();
+ ::java::lang::Object * lower(::java::lang::Object *);
+ ::java::lang::Object * pollFirst();
+ ::java::lang::Object * pollLast();
+ ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *);
+ ::java::util::NavigableSet * subSet(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean);
+ ::java::util::SortedSet * tailSet(::java::lang::Object *);
+ ::java::util::NavigableSet * tailSet(::java::lang::Object *, jboolean);
+public: // actually package-private
+ TreeMap$SubMap$NavigableKeySet(::java::util::TreeMap$SubMap *, ::java::util::TreeMap$SubMap$NavigableKeySet *);
+ ::java::util::TreeMap$SubMap * __attribute__((aligned(__alignof__( ::java::util::TreeMap$SubMap$KeySet)))) this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TreeMap$SubMap$NavigableKeySet__
diff --git a/libjava/java/util/TreeMap$SubMap.h b/libjava/java/util/TreeMap$SubMap.h
new file mode 100644
index 000000000..accd468bf
--- /dev/null
+++ b/libjava/java/util/TreeMap$SubMap.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TreeMap$SubMap__
+#define __java_util_TreeMap$SubMap__
+
+#pragma interface
+
+#include <java/util/AbstractMap.h>
+
+class java::util::TreeMap$SubMap : public ::java::util::AbstractMap
+{
+
+public: // actually package-private
+ TreeMap$SubMap(::java::util::TreeMap *, ::java::lang::Object *, ::java::lang::Object *);
+ jboolean keyInRange(::java::lang::Object *);
+public:
+ ::java::util::Map$Entry * ceilingEntry(::java::lang::Object *);
+ ::java::lang::Object * ceilingKey(::java::lang::Object *);
+ ::java::util::NavigableSet * descendingKeySet();
+ ::java::util::NavigableMap * descendingMap();
+ void clear();
+ ::java::util::Comparator * comparator();
+ jboolean containsKey(::java::lang::Object *);
+ jboolean containsValue(::java::lang::Object *);
+ ::java::util::Set * entrySet();
+ ::java::util::Map$Entry * firstEntry();
+ ::java::lang::Object * firstKey();
+ ::java::util::Map$Entry * floorEntry(::java::lang::Object *);
+ ::java::lang::Object * floorKey(::java::lang::Object *);
+ ::java::lang::Object * get(::java::lang::Object *);
+ ::java::util::SortedMap * headMap(::java::lang::Object *);
+ ::java::util::NavigableMap * headMap(::java::lang::Object *, jboolean);
+ ::java::util::Set * keySet();
+ ::java::util::Map$Entry * higherEntry(::java::lang::Object *);
+ ::java::lang::Object * higherKey(::java::lang::Object *);
+ ::java::util::Map$Entry * lastEntry();
+ ::java::lang::Object * lastKey();
+ ::java::util::Map$Entry * lowerEntry(::java::lang::Object *);
+ ::java::lang::Object * lowerKey(::java::lang::Object *);
+ ::java::util::NavigableSet * navigableKeySet();
+ ::java::util::Map$Entry * pollFirstEntry();
+ ::java::util::Map$Entry * pollLastEntry();
+ ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *);
+ ::java::lang::Object * remove(::java::lang::Object *);
+ jint size();
+ ::java::util::SortedMap * subMap(::java::lang::Object *, ::java::lang::Object *);
+ ::java::util::NavigableMap * subMap(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean);
+ ::java::util::SortedMap * tailMap(::java::lang::Object *);
+ ::java::util::NavigableMap * tailMap(::java::lang::Object *, jboolean);
+ ::java::util::Collection * values();
+public: // actually package-private
+ static ::java::util::TreeMap * access$0(::java::util::TreeMap$SubMap *);
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::util::AbstractMap)))) minKey;
+ ::java::lang::Object * maxKey;
+private:
+ ::java::util::Set * entries;
+ ::java::util::NavigableMap * descendingMap__;
+ ::java::util::NavigableSet * nKeys;
+public: // actually package-private
+ ::java::util::TreeMap * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TreeMap$SubMap__
diff --git a/libjava/java/util/TreeMap$TreeIterator.h b/libjava/java/util/TreeMap$TreeIterator.h
new file mode 100644
index 000000000..5d8603eed
--- /dev/null
+++ b/libjava/java/util/TreeMap$TreeIterator.h
@@ -0,0 +1,33 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TreeMap$TreeIterator__
+#define __java_util_TreeMap$TreeIterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::TreeMap$TreeIterator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ TreeMap$TreeIterator(::java::util::TreeMap *, jint);
+ TreeMap$TreeIterator(::java::util::TreeMap *, jint, ::java::util::TreeMap$Node *, ::java::util::TreeMap$Node *);
+public:
+ jboolean hasNext();
+ ::java::lang::Object * next();
+ void remove();
+private:
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) type;
+ jint knownMod;
+ ::java::util::TreeMap$Node * last;
+ ::java::util::TreeMap$Node * next__;
+ ::java::util::TreeMap$Node * max;
+public: // actually package-private
+ ::java::util::TreeMap * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TreeMap$TreeIterator__
diff --git a/libjava/java/util/TreeMap.h b/libjava/java/util/TreeMap.h
new file mode 100644
index 000000000..b87c89262
--- /dev/null
+++ b/libjava/java/util/TreeMap.h
@@ -0,0 +1,109 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TreeMap__
+#define __java_util_TreeMap__
+
+#pragma interface
+
+#include <java/util/AbstractMap.h>
+
+class java::util::TreeMap : public ::java::util::AbstractMap
+{
+
+public:
+ TreeMap();
+ TreeMap(::java::util::Comparator *);
+ TreeMap(::java::util::Map *);
+ TreeMap(::java::util::SortedMap *);
+ virtual void clear();
+ virtual ::java::lang::Object * clone();
+ virtual ::java::util::Comparator * comparator();
+ virtual jboolean containsKey(::java::lang::Object *);
+ virtual jboolean containsValue(::java::lang::Object *);
+ virtual ::java::util::Set * entrySet();
+ virtual ::java::lang::Object * firstKey();
+ virtual ::java::lang::Object * get(::java::lang::Object *);
+ virtual ::java::util::SortedMap * headMap(::java::lang::Object *);
+ virtual ::java::util::NavigableMap * headMap(::java::lang::Object *, jboolean);
+ virtual ::java::util::Set * keySet();
+ virtual ::java::lang::Object * lastKey();
+ virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *);
+ virtual void putAll(::java::util::Map *);
+ virtual ::java::lang::Object * remove(::java::lang::Object *);
+ virtual jint size();
+ virtual ::java::util::SortedMap * subMap(::java::lang::Object *, ::java::lang::Object *);
+ virtual ::java::util::NavigableMap * subMap(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean);
+ virtual ::java::util::SortedMap * tailMap(::java::lang::Object *);
+ virtual ::java::util::NavigableMap * tailMap(::java::lang::Object *, jboolean);
+ virtual ::java::util::Collection * values();
+public: // actually package-private
+ virtual jint compare(::java::lang::Object *, ::java::lang::Object *);
+private:
+ void deleteFixup(::java::util::TreeMap$Node *, ::java::util::TreeMap$Node *);
+ void fabricateTree(jint);
+public: // actually package-private
+ virtual ::java::util::TreeMap$Node * firstNode();
+ virtual ::java::util::TreeMap$Node * getNode(::java::lang::Object *);
+ virtual ::java::util::TreeMap$Node * highestLessThan(::java::lang::Object *);
+ virtual ::java::util::TreeMap$Node * highestLessThan(::java::lang::Object *, jboolean);
+private:
+ void insertFixup(::java::util::TreeMap$Node *);
+ ::java::util::TreeMap$Node * lastNode();
+public: // actually package-private
+ virtual ::java::util::TreeMap$Node * lowestGreaterThan(::java::lang::Object *, jboolean);
+ virtual ::java::util::TreeMap$Node * lowestGreaterThan(::java::lang::Object *, jboolean, jboolean);
+private:
+ ::java::util::TreeMap$Node * predecessor(::java::util::TreeMap$Node *);
+public: // actually package-private
+ virtual void putFromObjStream(::java::io::ObjectInputStream *, jint, jboolean);
+ virtual void putKeysLinear(::java::util::Iterator *, jint);
+private:
+ void readObject(::java::io::ObjectInputStream *);
+public: // actually package-private
+ virtual void removeNode(::java::util::TreeMap$Node *);
+private:
+ void rotateLeft(::java::util::TreeMap$Node *);
+ void rotateRight(::java::util::TreeMap$Node *);
+public: // actually package-private
+ virtual ::java::util::TreeMap$Node * successor(::java::util::TreeMap$Node *);
+private:
+ void writeObject(::java::io::ObjectOutputStream *);
+public:
+ virtual ::java::util::Map$Entry * ceilingEntry(::java::lang::Object *);
+ virtual ::java::lang::Object * ceilingKey(::java::lang::Object *);
+ virtual ::java::util::NavigableSet * descendingKeySet();
+ virtual ::java::util::NavigableMap * descendingMap();
+ virtual ::java::util::Map$Entry * firstEntry();
+ virtual ::java::util::Map$Entry * floorEntry(::java::lang::Object *);
+ virtual ::java::lang::Object * floorKey(::java::lang::Object *);
+ virtual ::java::util::Map$Entry * higherEntry(::java::lang::Object *);
+ virtual ::java::lang::Object * higherKey(::java::lang::Object *);
+ virtual ::java::util::Map$Entry * lastEntry();
+ virtual ::java::util::Map$Entry * lowerEntry(::java::lang::Object *);
+ virtual ::java::lang::Object * lowerKey(::java::lang::Object *);
+ virtual ::java::util::NavigableSet * navigableKeySet();
+ virtual ::java::util::Map$Entry * pollFirstEntry();
+ virtual ::java::util::Map$Entry * pollLastEntry();
+private:
+ static const jlong serialVersionUID = 919286545866124006LL;
+public: // actually package-private
+ static const jint RED = -1;
+ static const jint BLACK = 1;
+ static ::java::util::TreeMap$Node * nil;
+private:
+ ::java::util::TreeMap$Node * __attribute__((aligned(__alignof__( ::java::util::AbstractMap)))) root;
+public: // actually package-private
+ jint size__;
+private:
+ ::java::util::Set * entries;
+ ::java::util::NavigableMap * descendingMap__;
+ ::java::util::NavigableSet * nKeys;
+public: // actually package-private
+ jint modCount;
+ ::java::util::Comparator * comparator__;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TreeMap__
diff --git a/libjava/java/util/TreeSet.h b/libjava/java/util/TreeSet.h
new file mode 100644
index 000000000..1e19c1933
--- /dev/null
+++ b/libjava/java/util/TreeSet.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_TreeSet__
+#define __java_util_TreeSet__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+
+class java::util::TreeSet : public ::java::util::AbstractSet
+{
+
+public:
+ TreeSet();
+ TreeSet(::java::util::Comparator *);
+ TreeSet(::java::util::Collection *);
+ TreeSet(::java::util::SortedSet *);
+private:
+ TreeSet(::java::util::NavigableMap *);
+public:
+ virtual jboolean add(::java::lang::Object *);
+ virtual jboolean addAll(::java::util::Collection *);
+ virtual void clear();
+ virtual ::java::lang::Object * clone();
+ virtual ::java::util::Comparator * comparator();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual ::java::lang::Object * first();
+ virtual ::java::util::SortedSet * headSet(::java::lang::Object *);
+ virtual ::java::util::NavigableSet * headSet(::java::lang::Object *, jboolean);
+ virtual jboolean isEmpty();
+ virtual ::java::util::Iterator * iterator();
+ virtual ::java::lang::Object * last();
+ virtual jboolean remove(::java::lang::Object *);
+ virtual jint size();
+ virtual ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *);
+ virtual ::java::util::NavigableSet * subSet(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean);
+ virtual ::java::util::SortedSet * tailSet(::java::lang::Object *);
+ virtual ::java::util::NavigableSet * tailSet(::java::lang::Object *, jboolean);
+private:
+ void writeObject(::java::io::ObjectOutputStream *);
+ void readObject(::java::io::ObjectInputStream *);
+public:
+ virtual ::java::lang::Object * ceiling(::java::lang::Object *);
+ virtual ::java::util::Iterator * descendingIterator();
+ virtual ::java::util::NavigableSet * descendingSet();
+ virtual ::java::lang::Object * floor(::java::lang::Object *);
+ virtual ::java::lang::Object * higher(::java::lang::Object *);
+ virtual ::java::lang::Object * lower(::java::lang::Object *);
+ virtual ::java::lang::Object * pollFirst();
+ virtual ::java::lang::Object * pollLast();
+private:
+ static const jlong serialVersionUID = -2479143000061671589LL;
+ ::java::util::NavigableMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) map;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_TreeSet__
diff --git a/libjava/java/util/UUID.h b/libjava/java/util/UUID.h
new file mode 100644
index 000000000..0eda9d67b
--- /dev/null
+++ b/libjava/java/util/UUID.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_UUID__
+#define __java_util_UUID__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::UUID : public ::java::lang::Object
+{
+
+public:
+ UUID(jlong, jlong);
+ jint clockSequence();
+ jint UUID$compareTo(::java::util::UUID *);
+ jboolean equals(::java::lang::Object *);
+ static ::java::util::UUID * fromString(::java::lang::String *);
+ ::java::lang::String * toString();
+ jlong getLeastSignificantBits();
+ jlong getMostSignificantBits();
+ jint hashCode();
+ static ::java::util::UUID * nameUUIDFromBytes(JArray< jbyte > *);
+ jlong node();
+ jlong timestamp();
+ static ::java::util::UUID * randomUUID();
+private:
+ ::java::lang::String * padHex(jlong, jint);
+public:
+ jint variant();
+ jint version();
+ jint compareTo(::java::lang::Object *);
+private:
+ static const jlong serialVersionUID = -4856846361193249489LL;
+ jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) mostSigBits;
+ jlong leastSigBits;
+ static ::java::util::Random * r;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_UUID__
diff --git a/libjava/java/util/UnknownFormatConversionException.h b/libjava/java/util/UnknownFormatConversionException.h
new file mode 100644
index 000000000..53f8917be
--- /dev/null
+++ b/libjava/java/util/UnknownFormatConversionException.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_UnknownFormatConversionException__
+#define __java_util_UnknownFormatConversionException__
+
+#pragma interface
+
+#include <java/util/IllegalFormatException.h>
+
+class java::util::UnknownFormatConversionException : public ::java::util::IllegalFormatException
+{
+
+public:
+ UnknownFormatConversionException(::java::lang::String *);
+ virtual ::java::lang::String * getConversion();
+private:
+ static const jlong serialVersionUID = 19060418LL;
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::IllegalFormatException)))) s;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_UnknownFormatConversionException__
diff --git a/libjava/java/util/UnknownFormatFlagsException.h b/libjava/java/util/UnknownFormatFlagsException.h
new file mode 100644
index 000000000..62c277a2f
--- /dev/null
+++ b/libjava/java/util/UnknownFormatFlagsException.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_UnknownFormatFlagsException__
+#define __java_util_UnknownFormatFlagsException__
+
+#pragma interface
+
+#include <java/util/IllegalFormatException.h>
+
+class java::util::UnknownFormatFlagsException : public ::java::util::IllegalFormatException
+{
+
+public:
+ UnknownFormatFlagsException(::java::lang::String *);
+ virtual ::java::lang::String * getFlags();
+private:
+ static const jlong serialVersionUID = 19370506LL;
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::IllegalFormatException)))) flags;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_UnknownFormatFlagsException__
diff --git a/libjava/java/util/VMTimeZone.h b/libjava/java/util/VMTimeZone.h
new file mode 100644
index 000000000..26ca5e224
--- /dev/null
+++ b/libjava/java/util/VMTimeZone.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_VMTimeZone__
+#define __java_util_VMTimeZone__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::VMTimeZone : public ::java::lang::Object
+{
+
+public: // actually package-private
+ VMTimeZone();
+ static ::java::util::TimeZone * getDefaultTimeZoneId();
+private:
+ static ::java::lang::String * readTimeZoneFile(::java::lang::String *);
+ static ::java::lang::String * readSysconfigClockFile(::java::lang::String *);
+ static ::java::lang::String * getSystemTimeZoneId();
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_VMTimeZone__
diff --git a/libjava/java/util/VMTimeZone.java b/libjava/java/util/VMTimeZone.java
new file mode 100644
index 000000000..992ecaf28
--- /dev/null
+++ b/libjava/java/util/VMTimeZone.java
@@ -0,0 +1,300 @@
+/* java.util.VMTimeZone
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2007
+ Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.util;
+
+import gnu.classpath.Configuration;
+import gnu.classpath.SystemProperties;
+import gnu.java.util.ZoneInfo;
+import java.util.TimeZone;
+
+import java.io.*;
+
+/**
+ *
+ */
+final class VMTimeZone
+{
+ static
+ {
+ if (Configuration.INIT_LOAD_LIBRARY)
+ {
+ System.loadLibrary("javautil");
+ }
+ }
+
+ /**
+ * This method returns a time zone id string which is in the form
+ * (standard zone name) or (standard zone name)(GMT offset) or
+ * (standard zone name)(GMT offset)(daylight time zone name). The
+ * GMT offset can be in seconds, or where it is evenly divisible by
+ * 3600, then it can be in hours. The offset must be the time to
+ * add to the local time to get GMT. If a offset is given and the
+ * time zone observes daylight saving then the (daylight time zone
+ * name) must also be given (otherwise it is assumed the time zone
+ * does not observe any daylight savings).
+ * <p>
+ * The result of this method is given to the method
+ * TimeZone.getDefaultTimeZone(String) which tries to map the time
+ * zone id to a known TimeZone. See that method on how the returned
+ * String is mapped to a real TimeZone object.
+ * <p>
+ * The reference implementation which is made for GNU/Posix like
+ * systems calls <code>System.getenv("TZ")</code>,
+ * <code>readTimeZoneFile("/etc/timezone")</code>,
+ * <code>ZoneInfo.readTZFile((String)null, "/etc/localtime")</code>
+ * and finally <code>getSystemTimeZoneId()</code> till a supported
+ * TimeZone is found through
+ * <code>TimeZone.getDefaultTimeZone(String)</code>.
+ * If every method fails <code>null</code> is returned (which means
+ * the TimeZone code will fall back on GMT as default time zone).
+ * <p>
+ * Note that this method is called inside a
+ * <code>AccessController.doPrivileged()</code> block and runs with
+ * the priviliges of the java.util system classes. It will only be
+ * called when the default time zone is not yet set, the system
+ * property user.timezone isn't set and it is requested for the
+ * first time.
+ */
+ static TimeZone getDefaultTimeZoneId()
+ {
+ TimeZone zone = null;
+
+ // See if TZ environment variable is set and accessible.
+ String tzid = System.getenv("TZ");
+ if (tzid != null && !tzid.equals(""))
+ zone = TimeZone.getDefaultTimeZone(tzid);
+
+ // Try to parse /etc/timezone.
+ if (zone == null)
+ {
+ tzid = readTimeZoneFile("/etc/timezone");
+ if (tzid != null && !tzid.equals(""))
+ zone = TimeZone.getDefaultTimeZone(tzid);
+ }
+
+ // Try to parse /etc/localtime
+ if (zone == null)
+ {
+ zone = ZoneInfo.readTZFile((String) null, "/etc/localtime");
+ if (zone != null)
+ {
+ // Try to find a more suitable ID for the /etc/localtime
+ // timezone.
+ // Sometimes /etc/localtime is a symlink to some
+ // /usr/share/zoneinfo/ file.
+ String id = null;
+ try
+ {
+ id = new File("/etc/localtime").getCanonicalPath();
+ if (id != null)
+ {
+ String zoneinfo_dir
+ = SystemProperties.getProperty("gnu.java.util.zoneinfo.dir");
+ if (zoneinfo_dir != null)
+ zoneinfo_dir
+ = new File(zoneinfo_dir
+ + File.separatorChar).getCanonicalPath();
+ if (zoneinfo_dir != null && id.startsWith(zoneinfo_dir))
+ {
+ int pos = zoneinfo_dir.length();
+ while (pos < id.length()
+ && id.charAt(pos) == File.separatorChar)
+ pos++;
+ if (pos < id.length())
+ id = id.substring(pos);
+ else
+ id = null;
+ }
+ else
+ id = null;
+ }
+ }
+ catch (IOException ioe)
+ {
+ id = null;
+ }
+
+ if (id == null)
+ id = readSysconfigClockFile("/etc/sysconfig/clock");
+
+ if (id != null)
+ zone.setID(id);
+ }
+ }
+
+ // Try some system specific way
+ if (zone == null)
+ {
+ tzid = getSystemTimeZoneId();
+ if (tzid != null && !tzid.equals(""))
+ zone = TimeZone.getDefaultTimeZone(tzid);
+ }
+
+ return zone;
+ }
+
+ /**
+ * Tries to read the time zone name from a file. Only the first
+ * consecutive letters, digits, slashes, dashes and underscores are
+ * read from the file. If the file cannot be read or an IOException
+ * occurs null is returned.
+ * <p>
+ * The /etc/timezone file is not standard, but a lot of systems have
+ * it. If it exist the first line always contains a string
+ * describing the timezone of the host of domain. Some systems
+ * contain a /etc/TIMEZONE file which is used to set the TZ
+ * environment variable (which is checked before /etc/timezone is
+ * read).
+ */
+ private static String readTimeZoneFile(String file)
+ {
+ File f = new File(file);
+ if (!f.exists())
+ return null;
+
+ InputStreamReader isr = null;
+ try
+ {
+ FileInputStream fis = new FileInputStream(f);
+ BufferedInputStream bis = new BufferedInputStream(fis);
+ isr = new InputStreamReader(bis);
+
+ StringBuffer sb = new StringBuffer();
+ int i = isr.read();
+ while (i != -1)
+ {
+ char c = (char) i;
+ if (Character.isLetter(c) || Character.isDigit(c)
+ || c == '/' || c == '-' || c == '_')
+ {
+ sb.append(c);
+ i = isr.read();
+ }
+ else
+ break;
+ }
+ return sb.toString();
+ }
+ catch (IOException ioe)
+ {
+ // Parse error, not a proper tzfile.
+ return null;
+ }
+ finally
+ {
+ try
+ {
+ if (isr != null)
+ isr.close();
+ }
+ catch (IOException ioe)
+ {
+ // Error while close, nothing we can do.
+ }
+ }
+ }
+
+ /**
+ * Tries to read the time zone name from a file.
+ * If the file cannot be read or an IOException occurs null is returned.
+ * <p>
+ * The /etc/sysconfig/clock file is not standard, but a lot of systems
+ * have it. The file is included by shell scripts and the timezone
+ * name is defined in ZONE variable.
+ * This routine should grok it with or without quotes:
+ * ZONE=America/New_York
+ * or
+ * ZONE="Europe/London"
+ */
+ private static String readSysconfigClockFile(String file)
+ {
+ BufferedReader br = null;
+ try
+ {
+ FileInputStream fis = new FileInputStream(file);
+ BufferedInputStream bis = new BufferedInputStream(fis);
+ br = new BufferedReader(new InputStreamReader(bis));
+
+ for (String line = br.readLine(); line != null; line = br.readLine())
+ {
+ line = line.trim();
+ if (line.length() < 8 || !line.startsWith("ZONE="))
+ continue;
+ int posstart = 6;
+ int posend;
+ if (line.charAt(5) == '"')
+ posend = line.indexOf('"', 6);
+ else if (line.charAt(5) == '\'')
+ posend = line.indexOf('\'', 6);
+ else
+ {
+ posstart = 5;
+ posend = line.length();
+ }
+ if (posend < 0)
+ return null;
+ return line.substring(posstart, posend);
+ }
+ return null;
+ }
+ catch (IOException ioe)
+ {
+ // Parse error, not a proper tzfile.
+ return null;
+ }
+ finally
+ {
+ try
+ {
+ if (br != null)
+ br.close();
+ }
+ catch (IOException ioe)
+ {
+ // Error while close, nothing we can do.
+ }
+ }
+ }
+
+ /**
+ * Tries to get the system time zone id through native code.
+ */
+ private static native String getSystemTimeZoneId();
+}
diff --git a/libjava/java/util/Vector$1.h b/libjava/java/util/Vector$1.h
new file mode 100644
index 000000000..d7edea6c6
--- /dev/null
+++ b/libjava/java/util/Vector$1.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Vector$1__
+#define __java_util_Vector$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::Vector$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Vector$1(::java::util::Vector *);
+public:
+ virtual jboolean hasMoreElements();
+ virtual ::java::lang::Object * nextElement();
+private:
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) i;
+public: // actually package-private
+ ::java::util::Vector * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Vector$1__
diff --git a/libjava/java/util/Vector.h b/libjava/java/util/Vector.h
new file mode 100644
index 000000000..c903819c4
--- /dev/null
+++ b/libjava/java/util/Vector.h
@@ -0,0 +1,78 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_Vector__
+#define __java_util_Vector__
+
+#pragma interface
+
+#include <java/util/AbstractList.h>
+#include <gcj/array.h>
+
+
+class java::util::Vector : public ::java::util::AbstractList
+{
+
+public:
+ Vector();
+ Vector(::java::util::Collection *);
+ Vector(jint, jint);
+ Vector(jint);
+ virtual void copyInto(JArray< ::java::lang::Object * > *);
+ virtual void trimToSize();
+ virtual void ensureCapacity(jint);
+ virtual void setSize(jint);
+ virtual jint capacity();
+ virtual jint size();
+ virtual jboolean isEmpty();
+ virtual ::java::util::Enumeration * elements();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jint indexOf(::java::lang::Object *);
+ virtual jint indexOf(::java::lang::Object *, jint);
+ virtual jint lastIndexOf(::java::lang::Object *);
+ virtual jint lastIndexOf(::java::lang::Object *, jint);
+ virtual ::java::lang::Object * elementAt(jint);
+ virtual ::java::lang::Object * firstElement();
+ virtual ::java::lang::Object * lastElement();
+ virtual void setElementAt(::java::lang::Object *, jint);
+ virtual void removeElementAt(jint);
+ virtual void insertElementAt(::java::lang::Object *, jint);
+ virtual void addElement(::java::lang::Object *);
+ virtual jboolean removeElement(::java::lang::Object *);
+ virtual void removeAllElements();
+ virtual ::java::lang::Object * clone();
+ virtual JArray< ::java::lang::Object * > * toArray();
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
+ virtual ::java::lang::Object * get(jint);
+ virtual ::java::lang::Object * set(jint, ::java::lang::Object *);
+ virtual jboolean add(::java::lang::Object *);
+ virtual jboolean remove(::java::lang::Object *);
+ virtual void add(jint, ::java::lang::Object *);
+ virtual ::java::lang::Object * remove(jint);
+ virtual void clear();
+ virtual jboolean containsAll(::java::util::Collection *);
+ virtual jboolean addAll(::java::util::Collection *);
+ virtual jboolean removeAll(::java::util::Collection *);
+ virtual jboolean retainAll(::java::util::Collection *);
+ virtual jboolean addAll(jint, ::java::util::Collection *);
+ virtual jboolean equals(::java::lang::Object *);
+ virtual jint hashCode();
+ virtual ::java::lang::String * toString();
+ virtual ::java::util::List * subList(jint, jint);
+public: // actually protected
+ virtual void removeRange(jint, jint);
+private:
+ void checkBoundInclusive(jint);
+ void checkBoundExclusive(jint);
+ void raiseBoundsError(jint, ::java::lang::String *);
+ void writeObject(::java::io::ObjectOutputStream *);
+ static const jlong serialVersionUID = -2767605614048989439LL;
+public: // actually protected
+ JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::util::AbstractList)))) elementData;
+ jint elementCount;
+ jint capacityIncrement;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_Vector__
diff --git a/libjava/java/util/WeakHashMap$1.h b/libjava/java/util/WeakHashMap$1.h
new file mode 100644
index 000000000..4f49b672c
--- /dev/null
+++ b/libjava/java/util/WeakHashMap$1.h
@@ -0,0 +1,22 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_WeakHashMap$1__
+#define __java_util_WeakHashMap$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::WeakHashMap$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ WeakHashMap$1();
+public:
+ virtual jint hashCode();
+ virtual jboolean equals(::java::lang::Object *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_WeakHashMap$1__
diff --git a/libjava/java/util/WeakHashMap$2.h b/libjava/java/util/WeakHashMap$2.h
new file mode 100644
index 000000000..79f65500d
--- /dev/null
+++ b/libjava/java/util/WeakHashMap$2.h
@@ -0,0 +1,32 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_WeakHashMap$2__
+#define __java_util_WeakHashMap$2__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::WeakHashMap$2 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ WeakHashMap$2(::java::util::WeakHashMap$WeakEntrySet *);
+private:
+ void checkMod();
+ ::java::util::WeakHashMap$WeakBucket$WeakEntry * findNext(::java::util::WeakHashMap$WeakBucket$WeakEntry *);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Object * next();
+ virtual void remove();
+public: // actually package-private
+ ::java::util::WeakHashMap$WeakBucket$WeakEntry * __attribute__((aligned(__alignof__( ::java::lang::Object)))) lastEntry;
+ ::java::util::WeakHashMap$WeakBucket$WeakEntry * nextEntry;
+ jint knownMod;
+ ::java::util::WeakHashMap$WeakEntrySet * this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_WeakHashMap$2__
diff --git a/libjava/java/util/WeakHashMap$WeakBucket$WeakEntry.h b/libjava/java/util/WeakHashMap$WeakBucket$WeakEntry.h
new file mode 100644
index 000000000..5ddfa8738
--- /dev/null
+++ b/libjava/java/util/WeakHashMap$WeakBucket$WeakEntry.h
@@ -0,0 +1,30 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_WeakHashMap$WeakBucket$WeakEntry__
+#define __java_util_WeakHashMap$WeakBucket$WeakEntry__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::WeakHashMap$WeakBucket$WeakEntry : public ::java::lang::Object
+{
+
+public:
+ WeakHashMap$WeakBucket$WeakEntry(::java::util::WeakHashMap$WeakBucket *, ::java::lang::Object *);
+ virtual ::java::util::WeakHashMap$WeakBucket * getBucket();
+ virtual ::java::lang::Object * getKey();
+ virtual ::java::lang::Object * getValue();
+ virtual ::java::lang::Object * setValue(::java::lang::Object *);
+ virtual jint hashCode();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::String * toString();
+public: // actually package-private
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key;
+ ::java::util::WeakHashMap$WeakBucket * this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_WeakHashMap$WeakBucket$WeakEntry__
diff --git a/libjava/java/util/WeakHashMap$WeakBucket.h b/libjava/java/util/WeakHashMap$WeakBucket.h
new file mode 100644
index 000000000..9fc29d8dc
--- /dev/null
+++ b/libjava/java/util/WeakHashMap$WeakBucket.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_WeakHashMap$WeakBucket__
+#define __java_util_WeakHashMap$WeakBucket__
+
+#pragma interface
+
+#include <java/lang/ref/WeakReference.h>
+
+class java::util::WeakHashMap$WeakBucket : public ::java::lang::ref::WeakReference
+{
+
+public:
+ WeakHashMap$WeakBucket(::java::lang::Object *, ::java::lang::ref::ReferenceQueue *, ::java::lang::Object *, jint);
+public: // actually package-private
+ virtual ::java::util::WeakHashMap$WeakBucket$WeakEntry * getEntry();
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::ref::WeakReference)))) value;
+ ::java::util::WeakHashMap$WeakBucket * next;
+ jint slot;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_WeakHashMap$WeakBucket__
diff --git a/libjava/java/util/WeakHashMap$WeakEntrySet.h b/libjava/java/util/WeakHashMap$WeakEntrySet.h
new file mode 100644
index 000000000..cfd558e42
--- /dev/null
+++ b/libjava/java/util/WeakHashMap$WeakEntrySet.h
@@ -0,0 +1,26 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_WeakHashMap$WeakEntrySet__
+#define __java_util_WeakHashMap$WeakEntrySet__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+
+class java::util::WeakHashMap$WeakEntrySet : public ::java::util::AbstractSet
+{
+
+public: // actually package-private
+ WeakHashMap$WeakEntrySet(::java::util::WeakHashMap *);
+public:
+ jint size();
+ ::java::util::Iterator * iterator();
+public: // actually package-private
+ static ::java::util::WeakHashMap * access$0(::java::util::WeakHashMap$WeakEntrySet *);
+ ::java::util::WeakHashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_WeakHashMap$WeakEntrySet__
diff --git a/libjava/java/util/WeakHashMap.h b/libjava/java/util/WeakHashMap.h
new file mode 100644
index 000000000..e5875adf6
--- /dev/null
+++ b/libjava/java/util/WeakHashMap.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_WeakHashMap__
+#define __java_util_WeakHashMap__
+
+#pragma interface
+
+#include <java/util/AbstractMap.h>
+#include <gcj/array.h>
+
+
+class java::util::WeakHashMap : public ::java::util::AbstractMap
+{
+
+public:
+ WeakHashMap();
+ WeakHashMap(jint);
+ WeakHashMap(jint, jfloat);
+ WeakHashMap(::java::util::Map *);
+private:
+ jint hash(::java::lang::Object *);
+public: // actually package-private
+ virtual void cleanQueue();
+private:
+ void rehash();
+ ::java::util::WeakHashMap$WeakBucket$WeakEntry * internalGet(::java::lang::Object *);
+ void internalAdd(::java::lang::Object *, ::java::lang::Object *);
+public: // actually package-private
+ virtual void internalRemove(::java::util::WeakHashMap$WeakBucket *);
+public:
+ virtual jint size();
+ virtual jboolean isEmpty();
+ virtual jboolean containsKey(::java::lang::Object *);
+ virtual ::java::lang::Object * get(::java::lang::Object *);
+ virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *);
+ virtual ::java::lang::Object * remove(::java::lang::Object *);
+ virtual ::java::util::Set * entrySet();
+ virtual void clear();
+ virtual jboolean containsValue(::java::lang::Object *);
+ virtual ::java::util::Set * keySet();
+ virtual void putAll(::java::util::Map *);
+ virtual ::java::util::Collection * values();
+private:
+ static const jint DEFAULT_CAPACITY = 11;
+ static jfloat DEFAULT_LOAD_FACTOR;
+public: // actually package-private
+ static ::java::lang::Object * NULL_KEY;
+private:
+ ::java::lang::ref::ReferenceQueue * __attribute__((aligned(__alignof__( ::java::util::AbstractMap)))) queue;
+public: // actually package-private
+ jint size__;
+private:
+ jfloat loadFactor;
+ jint threshold;
+public: // actually package-private
+ jint modCount;
+private:
+ ::java::util::WeakHashMap$WeakEntrySet * theEntrySet;
+public: // actually package-private
+ JArray< ::java::util::WeakHashMap$WeakBucket * > * buckets;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_WeakHashMap__
diff --git a/libjava/java/util/concurrent/AbstractExecutorService.h b/libjava/java/util/concurrent/AbstractExecutorService.h
new file mode 100644
index 000000000..796171e61
--- /dev/null
+++ b/libjava/java/util/concurrent/AbstractExecutorService.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_AbstractExecutorService__
+#define __java_util_concurrent_AbstractExecutorService__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::AbstractExecutorService : public ::java::lang::Object
+{
+
+public:
+ AbstractExecutorService();
+public: // actually protected
+ virtual ::java::util::concurrent::RunnableFuture * newTaskFor(::java::lang::Runnable *, ::java::lang::Object *);
+ virtual ::java::util::concurrent::RunnableFuture * newTaskFor(::java::util::concurrent::Callable *);
+public:
+ virtual ::java::util::concurrent::Future * submit(::java::lang::Runnable *);
+ virtual ::java::util::concurrent::Future * submit(::java::lang::Runnable *, ::java::lang::Object *);
+ virtual ::java::util::concurrent::Future * submit(::java::util::concurrent::Callable *);
+private:
+ ::java::lang::Object * doInvokeAny(::java::util::Collection *, jboolean, jlong);
+public:
+ virtual ::java::lang::Object * invokeAny(::java::util::Collection *);
+ virtual ::java::lang::Object * invokeAny(::java::util::Collection *, jlong, ::java::util::concurrent::TimeUnit *);
+ virtual ::java::util::List * invokeAll(::java::util::Collection *);
+ virtual ::java::util::List * invokeAll(::java::util::Collection *, jlong, ::java::util::concurrent::TimeUnit *);
+ virtual void shutdown() = 0;
+ virtual ::java::util::List * shutdownNow() = 0;
+ virtual jboolean isShutdown() = 0;
+ virtual jboolean isTerminated() = 0;
+ virtual jboolean awaitTermination(jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ virtual void execute(::java::lang::Runnable *) = 0;
+public: // actually package-private
+ static jboolean $assertionsDisabled;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_AbstractExecutorService__
diff --git a/libjava/java/util/concurrent/ArrayBlockingQueue$Itr.h b/libjava/java/util/concurrent/ArrayBlockingQueue$Itr.h
new file mode 100644
index 000000000..fdddf6c31
--- /dev/null
+++ b/libjava/java/util/concurrent/ArrayBlockingQueue$Itr.h
@@ -0,0 +1,33 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ArrayBlockingQueue$Itr__
+#define __java_util_concurrent_ArrayBlockingQueue$Itr__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::ArrayBlockingQueue$Itr : public ::java::lang::Object
+{
+
+public: // actually package-private
+ ArrayBlockingQueue$Itr(::java::util::concurrent::ArrayBlockingQueue *);
+public:
+ virtual jboolean hasNext();
+private:
+ void checkNext();
+public:
+ virtual ::java::lang::Object * next();
+ virtual void remove();
+private:
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) nextIndex;
+ ::java::lang::Object * nextItem;
+ jint lastRet;
+public: // actually package-private
+ ::java::util::concurrent::ArrayBlockingQueue * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ArrayBlockingQueue$Itr__
diff --git a/libjava/java/util/concurrent/ArrayBlockingQueue.h b/libjava/java/util/concurrent/ArrayBlockingQueue.h
new file mode 100644
index 000000000..a431043c6
--- /dev/null
+++ b/libjava/java/util/concurrent/ArrayBlockingQueue.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ArrayBlockingQueue__
+#define __java_util_concurrent_ArrayBlockingQueue__
+
+#pragma interface
+
+#include <java/util/AbstractQueue.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::ArrayBlockingQueue : public ::java::util::AbstractQueue
+{
+
+public: // actually package-private
+ virtual jint inc(jint);
+private:
+ void insert(::java::lang::Object *);
+ ::java::lang::Object * extract();
+public: // actually package-private
+ virtual void removeAt(jint);
+public:
+ ArrayBlockingQueue(jint);
+ ArrayBlockingQueue(jint, jboolean);
+ ArrayBlockingQueue(jint, jboolean, ::java::util::Collection *);
+ virtual jboolean add(::java::lang::Object *);
+ virtual jboolean offer(::java::lang::Object *);
+ virtual void put(::java::lang::Object *);
+ virtual jboolean offer(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *);
+ virtual ::java::lang::Object * poll();
+ virtual ::java::lang::Object * take();
+ virtual ::java::lang::Object * poll(jlong, ::java::util::concurrent::TimeUnit *);
+ virtual ::java::lang::Object * peek();
+ virtual jint size();
+ virtual jint remainingCapacity();
+ virtual jboolean remove(::java::lang::Object *);
+ virtual jboolean contains(::java::lang::Object *);
+ virtual JArray< ::java::lang::Object * > * toArray();
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
+ virtual ::java::lang::String * toString();
+ virtual void clear();
+ virtual jint drainTo(::java::util::Collection *);
+ virtual jint drainTo(::java::util::Collection *, jint);
+ virtual ::java::util::Iterator * iterator();
+public: // actually package-private
+ static jint access$0(::java::util::concurrent::ArrayBlockingQueue *);
+ static jint access$1(::java::util::concurrent::ArrayBlockingQueue *);
+ static JArray< ::java::lang::Object * > * access$2(::java::util::concurrent::ArrayBlockingQueue *);
+ static jint access$3(::java::util::concurrent::ArrayBlockingQueue *);
+ static ::java::util::concurrent::locks::ReentrantLock * access$4(::java::util::concurrent::ArrayBlockingQueue *);
+private:
+ static const jlong serialVersionUID = -817911632652898426LL;
+ JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::util::AbstractQueue)))) items;
+ jint takeIndex;
+ jint putIndex;
+ jint count;
+ ::java::util::concurrent::locks::ReentrantLock * lock;
+ ::java::util::concurrent::locks::Condition * notEmpty;
+ ::java::util::concurrent::locks::Condition * notFull;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ArrayBlockingQueue__
diff --git a/libjava/java/util/concurrent/BlockingDeque.h b/libjava/java/util/concurrent/BlockingDeque.h
new file mode 100644
index 000000000..4aa4cb533
--- /dev/null
+++ b/libjava/java/util/concurrent/BlockingDeque.h
@@ -0,0 +1,70 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_BlockingDeque__
+#define __java_util_concurrent_BlockingDeque__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::BlockingDeque : public ::java::lang::Object
+{
+
+public:
+ virtual void addFirst(::java::lang::Object *) = 0;
+ virtual void addLast(::java::lang::Object *) = 0;
+ virtual jboolean offerFirst(::java::lang::Object *) = 0;
+ virtual jboolean offerLast(::java::lang::Object *) = 0;
+ virtual void putFirst(::java::lang::Object *) = 0;
+ virtual void putLast(::java::lang::Object *) = 0;
+ virtual jboolean offerFirst(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ virtual jboolean offerLast(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ virtual ::java::lang::Object * takeFirst() = 0;
+ virtual ::java::lang::Object * takeLast() = 0;
+ virtual ::java::lang::Object * pollFirst(jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ virtual ::java::lang::Object * pollLast(jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ virtual jboolean removeFirstOccurrence(::java::lang::Object *) = 0;
+ virtual jboolean removeLastOccurrence(::java::lang::Object *) = 0;
+ virtual jboolean add(::java::lang::Object *) = 0;
+ virtual jboolean offer(::java::lang::Object *) = 0;
+ virtual void put(::java::lang::Object *) = 0;
+ virtual jboolean offer(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ virtual ::java::lang::Object * remove() = 0;
+ virtual ::java::lang::Object * poll() = 0;
+ virtual ::java::lang::Object * take() = 0;
+ virtual ::java::lang::Object * poll(jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ virtual ::java::lang::Object * element() = 0;
+ virtual ::java::lang::Object * peek() = 0;
+ virtual jboolean remove(::java::lang::Object *) = 0;
+ virtual jboolean contains(::java::lang::Object *) = 0;
+ virtual jint size() = 0;
+ virtual ::java::util::Iterator * iterator() = 0;
+ virtual void push(::java::lang::Object *) = 0;
+ virtual jint remainingCapacity() = 0;
+ virtual jint drainTo(::java::util::Collection *) = 0;
+ virtual jint drainTo(::java::util::Collection *, jint) = 0;
+ virtual jboolean addAll(::java::util::Collection *) = 0;
+ virtual void clear() = 0;
+ virtual jboolean containsAll(::java::util::Collection *) = 0;
+ virtual jboolean isEmpty() = 0;
+ virtual jboolean removeAll(::java::util::Collection *) = 0;
+ virtual jboolean retainAll(::java::util::Collection *) = 0;
+ virtual JArray< ::java::lang::Object * > * toArray() = 0;
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *) = 0;
+ virtual ::java::lang::Object * removeFirst() = 0;
+ virtual ::java::lang::Object * removeLast() = 0;
+ virtual ::java::lang::Object * pollFirst() = 0;
+ virtual ::java::lang::Object * pollLast() = 0;
+ virtual ::java::lang::Object * getFirst() = 0;
+ virtual ::java::lang::Object * getLast() = 0;
+ virtual ::java::lang::Object * peekFirst() = 0;
+ virtual ::java::lang::Object * peekLast() = 0;
+ virtual ::java::lang::Object * pop() = 0;
+ virtual ::java::util::Iterator * descendingIterator() = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_concurrent_BlockingDeque__
diff --git a/libjava/java/util/concurrent/BlockingQueue.h b/libjava/java/util/concurrent/BlockingQueue.h
new file mode 100644
index 000000000..66cc905fb
--- /dev/null
+++ b/libjava/java/util/concurrent/BlockingQueue.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_BlockingQueue__
+#define __java_util_concurrent_BlockingQueue__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::BlockingQueue : public ::java::lang::Object
+{
+
+public:
+ virtual jboolean add(::java::lang::Object *) = 0;
+ virtual jboolean offer(::java::lang::Object *) = 0;
+ virtual void put(::java::lang::Object *) = 0;
+ virtual jboolean offer(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ virtual ::java::lang::Object * take() = 0;
+ virtual ::java::lang::Object * poll(jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ virtual jint remainingCapacity() = 0;
+ virtual jboolean remove(::java::lang::Object *) = 0;
+ virtual jboolean contains(::java::lang::Object *) = 0;
+ virtual jint drainTo(::java::util::Collection *) = 0;
+ virtual jint drainTo(::java::util::Collection *, jint) = 0;
+ virtual ::java::lang::Object * remove() = 0;
+ virtual ::java::lang::Object * poll() = 0;
+ virtual ::java::lang::Object * element() = 0;
+ virtual ::java::lang::Object * peek() = 0;
+ virtual jboolean addAll(::java::util::Collection *) = 0;
+ virtual void clear() = 0;
+ virtual jboolean containsAll(::java::util::Collection *) = 0;
+ virtual jboolean isEmpty() = 0;
+ virtual ::java::util::Iterator * iterator() = 0;
+ virtual jboolean removeAll(::java::util::Collection *) = 0;
+ virtual jboolean retainAll(::java::util::Collection *) = 0;
+ virtual jint size() = 0;
+ virtual JArray< ::java::lang::Object * > * toArray() = 0;
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_concurrent_BlockingQueue__
diff --git a/libjava/java/util/concurrent/BrokenBarrierException.h b/libjava/java/util/concurrent/BrokenBarrierException.h
new file mode 100644
index 000000000..e5930d5d5
--- /dev/null
+++ b/libjava/java/util/concurrent/BrokenBarrierException.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_BrokenBarrierException__
+#define __java_util_concurrent_BrokenBarrierException__
+
+#pragma interface
+
+#include <java/lang/Exception.h>
+
+class java::util::concurrent::BrokenBarrierException : public ::java::lang::Exception
+{
+
+public:
+ BrokenBarrierException();
+ BrokenBarrierException(::java::lang::String *);
+private:
+ static const jlong serialVersionUID = 7117394618823254244LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_BrokenBarrierException__
diff --git a/libjava/java/util/concurrent/Callable.h b/libjava/java/util/concurrent/Callable.h
new file mode 100644
index 000000000..636260e03
--- /dev/null
+++ b/libjava/java/util/concurrent/Callable.h
@@ -0,0 +1,19 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Callable__
+#define __java_util_concurrent_Callable__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::Callable : public ::java::lang::Object
+{
+
+public:
+ virtual ::java::lang::Object * call() = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_concurrent_Callable__
diff --git a/libjava/java/util/concurrent/CancellationException.h b/libjava/java/util/concurrent/CancellationException.h
new file mode 100644
index 000000000..7695b0162
--- /dev/null
+++ b/libjava/java/util/concurrent/CancellationException.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_CancellationException__
+#define __java_util_concurrent_CancellationException__
+
+#pragma interface
+
+#include <java/lang/IllegalStateException.h>
+
+class java::util::concurrent::CancellationException : public ::java::lang::IllegalStateException
+{
+
+public:
+ CancellationException();
+ CancellationException(::java::lang::String *);
+private:
+ static const jlong serialVersionUID = -9202173006928992231LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_CancellationException__
diff --git a/libjava/java/util/concurrent/CompletionService.h b/libjava/java/util/concurrent/CompletionService.h
new file mode 100644
index 000000000..90d79023c
--- /dev/null
+++ b/libjava/java/util/concurrent/CompletionService.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_CompletionService__
+#define __java_util_concurrent_CompletionService__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::CompletionService : public ::java::lang::Object
+{
+
+public:
+ virtual ::java::util::concurrent::Future * submit(::java::util::concurrent::Callable *) = 0;
+ virtual ::java::util::concurrent::Future * submit(::java::lang::Runnable *, ::java::lang::Object *) = 0;
+ virtual ::java::util::concurrent::Future * take() = 0;
+ virtual ::java::util::concurrent::Future * poll() = 0;
+ virtual ::java::util::concurrent::Future * poll(jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_concurrent_CompletionService__
diff --git a/libjava/java/util/concurrent/ConcurrentHashMap$EntryIterator.h b/libjava/java/util/concurrent/ConcurrentHashMap$EntryIterator.h
new file mode 100644
index 000000000..4c4c191b5
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentHashMap$EntryIterator.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentHashMap$EntryIterator__
+#define __java_util_concurrent_ConcurrentHashMap$EntryIterator__
+
+#pragma interface
+
+#include <java/util/concurrent/ConcurrentHashMap$HashIterator.h>
+
+class java::util::concurrent::ConcurrentHashMap$EntryIterator : public ::java::util::concurrent::ConcurrentHashMap$HashIterator
+{
+
+public: // actually package-private
+ ConcurrentHashMap$EntryIterator(::java::util::concurrent::ConcurrentHashMap *);
+public:
+ ::java::util::Map$Entry * ConcurrentHashMap$EntryIterator$next();
+ ::java::lang::Object * next();
+public: // actually package-private
+ ::java::util::concurrent::ConcurrentHashMap * __attribute__((aligned(__alignof__( ::java::util::concurrent::ConcurrentHashMap$HashIterator)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentHashMap$EntryIterator__
diff --git a/libjava/java/util/concurrent/ConcurrentHashMap$EntrySet.h b/libjava/java/util/concurrent/ConcurrentHashMap$EntrySet.h
new file mode 100644
index 000000000..999c02283
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentHashMap$EntrySet.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentHashMap$EntrySet__
+#define __java_util_concurrent_ConcurrentHashMap$EntrySet__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+
+class java::util::concurrent::ConcurrentHashMap$EntrySet : public ::java::util::AbstractSet
+{
+
+public: // actually package-private
+ ConcurrentHashMap$EntrySet(::java::util::concurrent::ConcurrentHashMap *);
+public:
+ ::java::util::Iterator * iterator();
+ jboolean contains(::java::lang::Object *);
+ jboolean remove(::java::lang::Object *);
+ jint size();
+ void clear();
+public: // actually package-private
+ ::java::util::concurrent::ConcurrentHashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentHashMap$EntrySet__
diff --git a/libjava/java/util/concurrent/ConcurrentHashMap$HashEntry.h b/libjava/java/util/concurrent/ConcurrentHashMap$HashEntry.h
new file mode 100644
index 000000000..2667ed07c
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentHashMap$HashEntry.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentHashMap$HashEntry__
+#define __java_util_concurrent_ConcurrentHashMap$HashEntry__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::ConcurrentHashMap$HashEntry : public ::java::lang::Object
+{
+
+public: // actually package-private
+ ConcurrentHashMap$HashEntry(::java::lang::Object *, jint, ::java::util::concurrent::ConcurrentHashMap$HashEntry *, ::java::lang::Object *);
+ static JArray< ::java::util::concurrent::ConcurrentHashMap$HashEntry * > * newArray(jint);
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key;
+ jint hash;
+ ::java::lang::Object * volatile value;
+ ::java::util::concurrent::ConcurrentHashMap$HashEntry * next;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentHashMap$HashEntry__
diff --git a/libjava/java/util/concurrent/ConcurrentHashMap$HashIterator.h b/libjava/java/util/concurrent/ConcurrentHashMap$HashIterator.h
new file mode 100644
index 000000000..2a3895cb1
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentHashMap$HashIterator.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentHashMap$HashIterator__
+#define __java_util_concurrent_ConcurrentHashMap$HashIterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::ConcurrentHashMap$HashIterator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ ConcurrentHashMap$HashIterator(::java::util::concurrent::ConcurrentHashMap *);
+public:
+ virtual jboolean hasMoreElements();
+public: // actually package-private
+ virtual void advance();
+public:
+ virtual jboolean hasNext();
+public: // actually package-private
+ virtual ::java::util::concurrent::ConcurrentHashMap$HashEntry * nextEntry();
+public:
+ virtual void remove();
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) nextSegmentIndex;
+ jint nextTableIndex;
+ JArray< ::java::util::concurrent::ConcurrentHashMap$HashEntry * > * currentTable;
+ ::java::util::concurrent::ConcurrentHashMap$HashEntry * nextEntry__;
+ ::java::util::concurrent::ConcurrentHashMap$HashEntry * lastReturned;
+ ::java::util::concurrent::ConcurrentHashMap * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentHashMap$HashIterator__
diff --git a/libjava/java/util/concurrent/ConcurrentHashMap$KeyIterator.h b/libjava/java/util/concurrent/ConcurrentHashMap$KeyIterator.h
new file mode 100644
index 000000000..afa1b8a0d
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentHashMap$KeyIterator.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentHashMap$KeyIterator__
+#define __java_util_concurrent_ConcurrentHashMap$KeyIterator__
+
+#pragma interface
+
+#include <java/util/concurrent/ConcurrentHashMap$HashIterator.h>
+
+class java::util::concurrent::ConcurrentHashMap$KeyIterator : public ::java::util::concurrent::ConcurrentHashMap$HashIterator
+{
+
+public: // actually package-private
+ ConcurrentHashMap$KeyIterator(::java::util::concurrent::ConcurrentHashMap *);
+public:
+ ::java::lang::Object * next();
+ ::java::lang::Object * nextElement();
+public: // actually package-private
+ ::java::util::concurrent::ConcurrentHashMap * __attribute__((aligned(__alignof__( ::java::util::concurrent::ConcurrentHashMap$HashIterator)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentHashMap$KeyIterator__
diff --git a/libjava/java/util/concurrent/ConcurrentHashMap$KeySet.h b/libjava/java/util/concurrent/ConcurrentHashMap$KeySet.h
new file mode 100644
index 000000000..31b002fed
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentHashMap$KeySet.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentHashMap$KeySet__
+#define __java_util_concurrent_ConcurrentHashMap$KeySet__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+
+class java::util::concurrent::ConcurrentHashMap$KeySet : public ::java::util::AbstractSet
+{
+
+public: // actually package-private
+ ConcurrentHashMap$KeySet(::java::util::concurrent::ConcurrentHashMap *);
+public:
+ ::java::util::Iterator * iterator();
+ jint size();
+ jboolean contains(::java::lang::Object *);
+ jboolean remove(::java::lang::Object *);
+ void clear();
+public: // actually package-private
+ ::java::util::concurrent::ConcurrentHashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentHashMap$KeySet__
diff --git a/libjava/java/util/concurrent/ConcurrentHashMap$Segment.h b/libjava/java/util/concurrent/ConcurrentHashMap$Segment.h
new file mode 100644
index 000000000..55d06e869
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentHashMap$Segment.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentHashMap$Segment__
+#define __java_util_concurrent_ConcurrentHashMap$Segment__
+
+#pragma interface
+
+#include <java/util/concurrent/locks/ReentrantLock.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::ConcurrentHashMap$Segment : public ::java::util::concurrent::locks::ReentrantLock
+{
+
+public: // actually package-private
+ ConcurrentHashMap$Segment(jint, jfloat);
+ static JArray< ::java::util::concurrent::ConcurrentHashMap$Segment * > * newArray(jint);
+ void setTable(JArray< ::java::util::concurrent::ConcurrentHashMap$HashEntry * > *);
+ ::java::util::concurrent::ConcurrentHashMap$HashEntry * getFirst(jint);
+ ::java::lang::Object * readValueUnderLock(::java::util::concurrent::ConcurrentHashMap$HashEntry *);
+ ::java::lang::Object * get(::java::lang::Object *, jint);
+ jboolean containsKey(::java::lang::Object *, jint);
+ jboolean containsValue(::java::lang::Object *);
+ jboolean replace(::java::lang::Object *, jint, ::java::lang::Object *, ::java::lang::Object *);
+ ::java::lang::Object * replace(::java::lang::Object *, jint, ::java::lang::Object *);
+ ::java::lang::Object * put(::java::lang::Object *, jint, ::java::lang::Object *, jboolean);
+ void rehash();
+ ::java::lang::Object * remove(::java::lang::Object *, jint, ::java::lang::Object *);
+ void clear();
+private:
+ static const jlong serialVersionUID = 2249069246763182397LL;
+public: // actually package-private
+ jint volatile __attribute__((aligned(__alignof__( ::java::util::concurrent::locks::ReentrantLock)))) count;
+ jint modCount;
+ jint threshold;
+ JArray< ::java::util::concurrent::ConcurrentHashMap$HashEntry * > * volatile table;
+ jfloat loadFactor;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentHashMap$Segment__
diff --git a/libjava/java/util/concurrent/ConcurrentHashMap$ValueIterator.h b/libjava/java/util/concurrent/ConcurrentHashMap$ValueIterator.h
new file mode 100644
index 000000000..6ccd9057c
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentHashMap$ValueIterator.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentHashMap$ValueIterator__
+#define __java_util_concurrent_ConcurrentHashMap$ValueIterator__
+
+#pragma interface
+
+#include <java/util/concurrent/ConcurrentHashMap$HashIterator.h>
+
+class java::util::concurrent::ConcurrentHashMap$ValueIterator : public ::java::util::concurrent::ConcurrentHashMap$HashIterator
+{
+
+public: // actually package-private
+ ConcurrentHashMap$ValueIterator(::java::util::concurrent::ConcurrentHashMap *);
+public:
+ ::java::lang::Object * next();
+ ::java::lang::Object * nextElement();
+public: // actually package-private
+ ::java::util::concurrent::ConcurrentHashMap * __attribute__((aligned(__alignof__( ::java::util::concurrent::ConcurrentHashMap$HashIterator)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentHashMap$ValueIterator__
diff --git a/libjava/java/util/concurrent/ConcurrentHashMap$Values.h b/libjava/java/util/concurrent/ConcurrentHashMap$Values.h
new file mode 100644
index 000000000..9470ec452
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentHashMap$Values.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentHashMap$Values__
+#define __java_util_concurrent_ConcurrentHashMap$Values__
+
+#pragma interface
+
+#include <java/util/AbstractCollection.h>
+
+class java::util::concurrent::ConcurrentHashMap$Values : public ::java::util::AbstractCollection
+{
+
+public: // actually package-private
+ ConcurrentHashMap$Values(::java::util::concurrent::ConcurrentHashMap *);
+public:
+ ::java::util::Iterator * iterator();
+ jint size();
+ jboolean contains(::java::lang::Object *);
+ void clear();
+public: // actually package-private
+ ::java::util::concurrent::ConcurrentHashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentHashMap$Values__
diff --git a/libjava/java/util/concurrent/ConcurrentHashMap$WriteThroughEntry.h b/libjava/java/util/concurrent/ConcurrentHashMap$WriteThroughEntry.h
new file mode 100644
index 000000000..9c7398ee9
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentHashMap$WriteThroughEntry.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentHashMap$WriteThroughEntry__
+#define __java_util_concurrent_ConcurrentHashMap$WriteThroughEntry__
+
+#pragma interface
+
+#include <java/util/AbstractMap$SimpleEntry.h>
+
+class java::util::concurrent::ConcurrentHashMap$WriteThroughEntry : public ::java::util::AbstractMap$SimpleEntry
+{
+
+public: // actually package-private
+ ConcurrentHashMap$WriteThroughEntry(::java::util::concurrent::ConcurrentHashMap *, ::java::lang::Object *, ::java::lang::Object *);
+public:
+ ::java::lang::Object * setValue(::java::lang::Object *);
+public: // actually package-private
+ ::java::util::concurrent::ConcurrentHashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractMap$SimpleEntry)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentHashMap$WriteThroughEntry__
diff --git a/libjava/java/util/concurrent/ConcurrentHashMap.h b/libjava/java/util/concurrent/ConcurrentHashMap.h
new file mode 100644
index 000000000..0e733c065
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentHashMap.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentHashMap__
+#define __java_util_concurrent_ConcurrentHashMap__
+
+#pragma interface
+
+#include <java/util/AbstractMap.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::ConcurrentHashMap : public ::java::util::AbstractMap
+{
+
+ static jint hash(jint);
+public: // actually package-private
+ virtual ::java::util::concurrent::ConcurrentHashMap$Segment * segmentFor(jint);
+public:
+ ConcurrentHashMap(jint, jfloat, jint);
+ ConcurrentHashMap(jint, jfloat);
+ ConcurrentHashMap(jint);
+ ConcurrentHashMap();
+ ConcurrentHashMap(::java::util::Map *);
+ virtual jboolean isEmpty();
+ virtual jint size();
+ virtual ::java::lang::Object * get(::java::lang::Object *);
+ virtual jboolean containsKey(::java::lang::Object *);
+ virtual jboolean containsValue(::java::lang::Object *);
+ virtual jboolean contains(::java::lang::Object *);
+ virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *);
+ virtual ::java::lang::Object * putIfAbsent(::java::lang::Object *, ::java::lang::Object *);
+ virtual void putAll(::java::util::Map *);
+ virtual ::java::lang::Object * remove(::java::lang::Object *);
+ virtual jboolean remove(::java::lang::Object *, ::java::lang::Object *);
+ virtual jboolean replace(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *);
+ virtual ::java::lang::Object * replace(::java::lang::Object *, ::java::lang::Object *);
+ virtual void clear();
+ virtual ::java::util::Set * keySet();
+ virtual ::java::util::Collection * values();
+ virtual ::java::util::Set * entrySet();
+ virtual ::java::util::Enumeration * keys();
+ virtual ::java::util::Enumeration * elements();
+private:
+ void writeObject(::java::io::ObjectOutputStream *);
+ void readObject(::java::io::ObjectInputStream *);
+ static const jlong serialVersionUID = 7249069246763182397LL;
+public: // actually package-private
+ static const jint DEFAULT_INITIAL_CAPACITY = 16;
+ static jfloat DEFAULT_LOAD_FACTOR;
+ static const jint DEFAULT_CONCURRENCY_LEVEL = 16;
+ static const jint MAXIMUM_CAPACITY = 1073741824;
+ static const jint MAX_SEGMENTS = 65536;
+ static const jint RETRIES_BEFORE_LOCK = 2;
+ jint __attribute__((aligned(__alignof__( ::java::util::AbstractMap)))) segmentMask;
+ jint segmentShift;
+ JArray< ::java::util::concurrent::ConcurrentHashMap$Segment * > * segments;
+ ::java::util::Set * keySet__;
+ ::java::util::Set * entrySet__;
+ ::java::util::Collection * values__;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentHashMap__
diff --git a/libjava/java/util/concurrent/ConcurrentLinkedQueue$Itr.h b/libjava/java/util/concurrent/ConcurrentLinkedQueue$Itr.h
new file mode 100644
index 000000000..ddf3f7e88
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentLinkedQueue$Itr.h
@@ -0,0 +1,32 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentLinkedQueue$Itr__
+#define __java_util_concurrent_ConcurrentLinkedQueue$Itr__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::ConcurrentLinkedQueue$Itr : public ::java::lang::Object
+{
+
+public: // actually package-private
+ ConcurrentLinkedQueue$Itr(::java::util::concurrent::ConcurrentLinkedQueue *);
+private:
+ ::java::lang::Object * advance();
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Object * next();
+ virtual void remove();
+private:
+ ::java::util::concurrent::ConcurrentLinkedQueue$Node * __attribute__((aligned(__alignof__( ::java::lang::Object)))) nextNode;
+ ::java::lang::Object * nextItem;
+ ::java::util::concurrent::ConcurrentLinkedQueue$Node * lastRet;
+public: // actually package-private
+ ::java::util::concurrent::ConcurrentLinkedQueue * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentLinkedQueue$Itr__
diff --git a/libjava/java/util/concurrent/ConcurrentLinkedQueue$Node.h b/libjava/java/util/concurrent/ConcurrentLinkedQueue$Node.h
new file mode 100644
index 000000000..af69ba60a
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentLinkedQueue$Node.h
@@ -0,0 +1,32 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentLinkedQueue$Node__
+#define __java_util_concurrent_ConcurrentLinkedQueue$Node__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::ConcurrentLinkedQueue$Node : public ::java::lang::Object
+{
+
+public: // actually package-private
+ ConcurrentLinkedQueue$Node(::java::lang::Object *);
+ ConcurrentLinkedQueue$Node(::java::lang::Object *, ::java::util::concurrent::ConcurrentLinkedQueue$Node *);
+ virtual ::java::lang::Object * getItem();
+ virtual jboolean casItem(::java::lang::Object *, ::java::lang::Object *);
+ virtual void setItem(::java::lang::Object *);
+ virtual ::java::util::concurrent::ConcurrentLinkedQueue$Node * getNext();
+ virtual jboolean casNext(::java::util::concurrent::ConcurrentLinkedQueue$Node *, ::java::util::concurrent::ConcurrentLinkedQueue$Node *);
+ virtual void setNext(::java::util::concurrent::ConcurrentLinkedQueue$Node *);
+private:
+ ::java::lang::Object * volatile __attribute__((aligned(__alignof__( ::java::lang::Object)))) item;
+ ::java::util::concurrent::ConcurrentLinkedQueue$Node * volatile next;
+ static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * nextUpdater;
+ static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * itemUpdater;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentLinkedQueue$Node__
diff --git a/libjava/java/util/concurrent/ConcurrentLinkedQueue.h b/libjava/java/util/concurrent/ConcurrentLinkedQueue.h
new file mode 100644
index 000000000..512bc0e07
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentLinkedQueue.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentLinkedQueue__
+#define __java_util_concurrent_ConcurrentLinkedQueue__
+
+#pragma interface
+
+#include <java/util/AbstractQueue.h>
+
+class java::util::concurrent::ConcurrentLinkedQueue : public ::java::util::AbstractQueue
+{
+
+ jboolean casTail(::java::util::concurrent::ConcurrentLinkedQueue$Node *, ::java::util::concurrent::ConcurrentLinkedQueue$Node *);
+ jboolean casHead(::java::util::concurrent::ConcurrentLinkedQueue$Node *, ::java::util::concurrent::ConcurrentLinkedQueue$Node *);
+public:
+ ConcurrentLinkedQueue();
+ ConcurrentLinkedQueue(::java::util::Collection *);
+ virtual jboolean add(::java::lang::Object *);
+ virtual jboolean offer(::java::lang::Object *);
+ virtual ::java::lang::Object * poll();
+ virtual ::java::lang::Object * peek();
+public: // actually package-private
+ virtual ::java::util::concurrent::ConcurrentLinkedQueue$Node * first();
+public:
+ virtual jboolean isEmpty();
+ virtual jint size();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jboolean remove(::java::lang::Object *);
+ virtual ::java::util::Iterator * iterator();
+private:
+ void writeObject(::java::io::ObjectOutputStream *);
+ void readObject(::java::io::ObjectInputStream *);
+ static const jlong serialVersionUID = 196745693267521676LL;
+ static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * tailUpdater;
+ static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * headUpdater;
+ ::java::util::concurrent::ConcurrentLinkedQueue$Node * volatile __attribute__((aligned(__alignof__( ::java::util::AbstractQueue)))) head;
+ ::java::util::concurrent::ConcurrentLinkedQueue$Node * volatile tail;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentLinkedQueue__
diff --git a/libjava/java/util/concurrent/ConcurrentMap.h b/libjava/java/util/concurrent/ConcurrentMap.h
new file mode 100644
index 000000000..a3357e304
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentMap.h
@@ -0,0 +1,34 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentMap__
+#define __java_util_concurrent_ConcurrentMap__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::ConcurrentMap : public ::java::lang::Object
+{
+
+public:
+ virtual ::java::lang::Object * putIfAbsent(::java::lang::Object *, ::java::lang::Object *) = 0;
+ virtual jboolean remove(::java::lang::Object *, ::java::lang::Object *) = 0;
+ virtual jboolean replace(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * replace(::java::lang::Object *, ::java::lang::Object *) = 0;
+ virtual void clear() = 0;
+ virtual jboolean containsKey(::java::lang::Object *) = 0;
+ virtual jboolean containsValue(::java::lang::Object *) = 0;
+ virtual ::java::util::Set * entrySet() = 0;
+ virtual ::java::lang::Object * get(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *) = 0;
+ virtual jboolean isEmpty() = 0;
+ virtual ::java::util::Set * keySet() = 0;
+ virtual void putAll(::java::util::Map *) = 0;
+ virtual ::java::lang::Object * remove(::java::lang::Object *) = 0;
+ virtual jint size() = 0;
+ virtual ::java::util::Collection * values() = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_concurrent_ConcurrentMap__
diff --git a/libjava/java/util/concurrent/ConcurrentNavigableMap.h b/libjava/java/util/concurrent/ConcurrentNavigableMap.h
new file mode 100644
index 000000000..68f4d01c9
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentNavigableMap.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentNavigableMap__
+#define __java_util_concurrent_ConcurrentNavigableMap__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::ConcurrentNavigableMap : public ::java::lang::Object
+{
+
+public:
+ virtual ::java::util::concurrent::ConcurrentNavigableMap * subMap(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean) = 0;
+ virtual ::java::util::concurrent::ConcurrentNavigableMap * headMap(::java::lang::Object *, jboolean) = 0;
+ virtual ::java::util::concurrent::ConcurrentNavigableMap * tailMap(::java::lang::Object *, jboolean) = 0;
+ virtual ::java::util::concurrent::ConcurrentNavigableMap * subMap(::java::lang::Object *, ::java::lang::Object *) = 0;
+ virtual ::java::util::concurrent::ConcurrentNavigableMap * headMap(::java::lang::Object *) = 0;
+ virtual ::java::util::concurrent::ConcurrentNavigableMap * tailMap(::java::lang::Object *) = 0;
+ virtual ::java::util::concurrent::ConcurrentNavigableMap * descendingMap() = 0;
+ virtual ::java::util::NavigableSet * navigableKeySet() = 0;
+ virtual ::java::util::NavigableSet * keySet() = 0;
+ virtual ::java::util::NavigableSet * descendingKeySet() = 0;
+ virtual ::java::lang::Object * putIfAbsent(::java::lang::Object *, ::java::lang::Object *) = 0;
+ virtual jboolean remove(::java::lang::Object *, ::java::lang::Object *) = 0;
+ virtual jboolean replace(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * replace(::java::lang::Object *, ::java::lang::Object *) = 0;
+ virtual void clear() = 0;
+ virtual jboolean containsKey(::java::lang::Object *) = 0;
+ virtual jboolean containsValue(::java::lang::Object *) = 0;
+ virtual ::java::util::Set * entrySet() = 0;
+ virtual ::java::lang::Object * get(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *) = 0;
+ virtual jboolean isEmpty() = 0;
+ virtual ::java::util::Set * keySet() = 0;
+ virtual void putAll(::java::util::Map *) = 0;
+ virtual ::java::lang::Object * remove(::java::lang::Object *) = 0;
+ virtual jint size() = 0;
+ virtual ::java::util::Collection * values() = 0;
+ virtual ::java::util::Map$Entry * lowerEntry(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * lowerKey(::java::lang::Object *) = 0;
+ virtual ::java::util::Map$Entry * floorEntry(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * floorKey(::java::lang::Object *) = 0;
+ virtual ::java::util::Map$Entry * ceilingEntry(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * ceilingKey(::java::lang::Object *) = 0;
+ virtual ::java::util::Map$Entry * higherEntry(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * higherKey(::java::lang::Object *) = 0;
+ virtual ::java::util::Map$Entry * firstEntry() = 0;
+ virtual ::java::util::Map$Entry * lastEntry() = 0;
+ virtual ::java::util::Map$Entry * pollFirstEntry() = 0;
+ virtual ::java::util::Map$Entry * pollLastEntry() = 0;
+ virtual ::java::util::NavigableMap * descendingMap() = 0;
+ virtual ::java::util::NavigableMap * subMap(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean) = 0;
+ virtual ::java::util::NavigableMap * headMap(::java::lang::Object *, jboolean) = 0;
+ virtual ::java::util::NavigableMap * tailMap(::java::lang::Object *, jboolean) = 0;
+ virtual ::java::util::SortedMap * subMap(::java::lang::Object *, ::java::lang::Object *) = 0;
+ virtual ::java::util::SortedMap * headMap(::java::lang::Object *) = 0;
+ virtual ::java::util::SortedMap * tailMap(::java::lang::Object *) = 0;
+ virtual ::java::util::Comparator * comparator() = 0;
+ virtual ::java::lang::Object * firstKey() = 0;
+ virtual ::java::lang::Object * lastKey() = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_concurrent_ConcurrentNavigableMap__
diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$ComparableUsingComparator.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$ComparableUsingComparator.h
new file mode 100644
index 000000000..b64afd554
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$ComparableUsingComparator.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentSkipListMap$ComparableUsingComparator__
+#define __java_util_concurrent_ConcurrentSkipListMap$ComparableUsingComparator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::ConcurrentSkipListMap$ComparableUsingComparator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ ConcurrentSkipListMap$ComparableUsingComparator(::java::lang::Object *, ::java::util::Comparator *);
+public:
+ jint compareTo(::java::lang::Object *);
+public: // actually package-private
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) actualKey;
+ ::java::util::Comparator * cmp;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentSkipListMap$ComparableUsingComparator__
diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$EntryIterator.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$EntryIterator.h
new file mode 100644
index 000000000..67d71928f
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$EntryIterator.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentSkipListMap$EntryIterator__
+#define __java_util_concurrent_ConcurrentSkipListMap$EntryIterator__
+
+#pragma interface
+
+#include <java/util/concurrent/ConcurrentSkipListMap$Iter.h>
+
+class java::util::concurrent::ConcurrentSkipListMap$EntryIterator : public ::java::util::concurrent::ConcurrentSkipListMap$Iter
+{
+
+public: // actually package-private
+ ConcurrentSkipListMap$EntryIterator(::java::util::concurrent::ConcurrentSkipListMap *);
+public:
+ ::java::util::Map$Entry * ConcurrentSkipListMap$EntryIterator$next();
+ ::java::lang::Object * next();
+public: // actually package-private
+ ::java::util::concurrent::ConcurrentSkipListMap * __attribute__((aligned(__alignof__( ::java::util::concurrent::ConcurrentSkipListMap$Iter)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentSkipListMap$EntryIterator__
diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$EntrySet.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$EntrySet.h
new file mode 100644
index 000000000..e235ffc8d
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$EntrySet.h
@@ -0,0 +1,34 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentSkipListMap$EntrySet__
+#define __java_util_concurrent_ConcurrentSkipListMap$EntrySet__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::ConcurrentSkipListMap$EntrySet : public ::java::util::AbstractSet
+{
+
+public: // actually package-private
+ ConcurrentSkipListMap$EntrySet(::java::util::concurrent::ConcurrentNavigableMap *);
+public:
+ ::java::util::Iterator * iterator();
+ jboolean contains(::java::lang::Object *);
+ jboolean remove(::java::lang::Object *);
+ jboolean isEmpty();
+ jint size();
+ void clear();
+ jboolean equals(::java::lang::Object *);
+ JArray< ::java::lang::Object * > * toArray();
+ JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
+private:
+ ::java::util::concurrent::ConcurrentNavigableMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) m;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentSkipListMap$EntrySet__
diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$HeadIndex.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$HeadIndex.h
new file mode 100644
index 000000000..f20214ce6
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$HeadIndex.h
@@ -0,0 +1,21 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentSkipListMap$HeadIndex__
+#define __java_util_concurrent_ConcurrentSkipListMap$HeadIndex__
+
+#pragma interface
+
+#include <java/util/concurrent/ConcurrentSkipListMap$Index.h>
+
+class java::util::concurrent::ConcurrentSkipListMap$HeadIndex : public ::java::util::concurrent::ConcurrentSkipListMap$Index
+{
+
+public: // actually package-private
+ ConcurrentSkipListMap$HeadIndex(::java::util::concurrent::ConcurrentSkipListMap$Node *, ::java::util::concurrent::ConcurrentSkipListMap$Index *, ::java::util::concurrent::ConcurrentSkipListMap$Index *, jint);
+ jint __attribute__((aligned(__alignof__( ::java::util::concurrent::ConcurrentSkipListMap$Index)))) level;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentSkipListMap$HeadIndex__
diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$Index.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$Index.h
new file mode 100644
index 000000000..629cff881
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$Index.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentSkipListMap$Index__
+#define __java_util_concurrent_ConcurrentSkipListMap$Index__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::ConcurrentSkipListMap$Index : public ::java::lang::Object
+{
+
+public: // actually package-private
+ ConcurrentSkipListMap$Index(::java::util::concurrent::ConcurrentSkipListMap$Node *, ::java::util::concurrent::ConcurrentSkipListMap$Index *, ::java::util::concurrent::ConcurrentSkipListMap$Index *);
+ virtual jboolean casRight(::java::util::concurrent::ConcurrentSkipListMap$Index *, ::java::util::concurrent::ConcurrentSkipListMap$Index *);
+ virtual jboolean indexesDeletedNode();
+ virtual jboolean link(::java::util::concurrent::ConcurrentSkipListMap$Index *, ::java::util::concurrent::ConcurrentSkipListMap$Index *);
+ virtual jboolean unlink(::java::util::concurrent::ConcurrentSkipListMap$Index *);
+ ::java::util::concurrent::ConcurrentSkipListMap$Node * __attribute__((aligned(__alignof__( ::java::lang::Object)))) node;
+ ::java::util::concurrent::ConcurrentSkipListMap$Index * down;
+ ::java::util::concurrent::ConcurrentSkipListMap$Index * volatile right;
+ static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * rightUpdater;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentSkipListMap$Index__
diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$Iter.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$Iter.h
new file mode 100644
index 000000000..f9170b317
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$Iter.h
@@ -0,0 +1,32 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentSkipListMap$Iter__
+#define __java_util_concurrent_ConcurrentSkipListMap$Iter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::ConcurrentSkipListMap$Iter : public ::java::lang::Object
+{
+
+public: // actually package-private
+ ConcurrentSkipListMap$Iter(::java::util::concurrent::ConcurrentSkipListMap *);
+public:
+ virtual jboolean hasNext();
+public: // actually package-private
+ virtual void advance();
+public:
+ virtual void remove();
+ virtual ::java::lang::Object * next() = 0;
+public: // actually package-private
+ ::java::util::concurrent::ConcurrentSkipListMap$Node * __attribute__((aligned(__alignof__( ::java::lang::Object)))) lastReturned;
+ ::java::util::concurrent::ConcurrentSkipListMap$Node * next;
+ ::java::lang::Object * nextValue;
+ ::java::util::concurrent::ConcurrentSkipListMap * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentSkipListMap$Iter__
diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$KeyIterator.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$KeyIterator.h
new file mode 100644
index 000000000..03eb3e84a
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$KeyIterator.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentSkipListMap$KeyIterator__
+#define __java_util_concurrent_ConcurrentSkipListMap$KeyIterator__
+
+#pragma interface
+
+#include <java/util/concurrent/ConcurrentSkipListMap$Iter.h>
+
+class java::util::concurrent::ConcurrentSkipListMap$KeyIterator : public ::java::util::concurrent::ConcurrentSkipListMap$Iter
+{
+
+public: // actually package-private
+ ConcurrentSkipListMap$KeyIterator(::java::util::concurrent::ConcurrentSkipListMap *);
+public:
+ ::java::lang::Object * next();
+public: // actually package-private
+ ::java::util::concurrent::ConcurrentSkipListMap * __attribute__((aligned(__alignof__( ::java::util::concurrent::ConcurrentSkipListMap$Iter)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentSkipListMap$KeyIterator__
diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$KeySet.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$KeySet.h
new file mode 100644
index 000000000..e52b30ea1
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$KeySet.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentSkipListMap$KeySet__
+#define __java_util_concurrent_ConcurrentSkipListMap$KeySet__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::ConcurrentSkipListMap$KeySet : public ::java::util::AbstractSet
+{
+
+public: // actually package-private
+ ConcurrentSkipListMap$KeySet(::java::util::concurrent::ConcurrentNavigableMap *);
+public:
+ jint size();
+ jboolean isEmpty();
+ jboolean contains(::java::lang::Object *);
+ jboolean remove(::java::lang::Object *);
+ void clear();
+ ::java::lang::Object * lower(::java::lang::Object *);
+ ::java::lang::Object * floor(::java::lang::Object *);
+ ::java::lang::Object * ceiling(::java::lang::Object *);
+ ::java::lang::Object * higher(::java::lang::Object *);
+ ::java::util::Comparator * comparator();
+ ::java::lang::Object * first();
+ ::java::lang::Object * last();
+ ::java::lang::Object * pollFirst();
+ ::java::lang::Object * pollLast();
+ ::java::util::Iterator * iterator();
+ jboolean equals(::java::lang::Object *);
+ JArray< ::java::lang::Object * > * toArray();
+ JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
+ ::java::util::Iterator * descendingIterator();
+ ::java::util::NavigableSet * subSet(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean);
+ ::java::util::NavigableSet * headSet(::java::lang::Object *, jboolean);
+ ::java::util::NavigableSet * tailSet(::java::lang::Object *, jboolean);
+ ::java::util::NavigableSet * ConcurrentSkipListMap$KeySet$subSet(::java::lang::Object *, ::java::lang::Object *);
+ ::java::util::NavigableSet * ConcurrentSkipListMap$KeySet$headSet(::java::lang::Object *);
+ ::java::util::NavigableSet * ConcurrentSkipListMap$KeySet$tailSet(::java::lang::Object *);
+ ::java::util::NavigableSet * descendingSet();
+ ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *);
+ ::java::util::SortedSet * tailSet(::java::lang::Object *);
+ ::java::util::SortedSet * headSet(::java::lang::Object *);
+private:
+ ::java::util::concurrent::ConcurrentNavigableMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) m;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentSkipListMap$KeySet__
diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$Node.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$Node.h
new file mode 100644
index 000000000..c9d5d890d
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$Node.h
@@ -0,0 +1,34 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentSkipListMap$Node__
+#define __java_util_concurrent_ConcurrentSkipListMap$Node__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::ConcurrentSkipListMap$Node : public ::java::lang::Object
+{
+
+public: // actually package-private
+ ConcurrentSkipListMap$Node(::java::lang::Object *, ::java::lang::Object *, ::java::util::concurrent::ConcurrentSkipListMap$Node *);
+ ConcurrentSkipListMap$Node(::java::util::concurrent::ConcurrentSkipListMap$Node *);
+ jboolean casValue(::java::lang::Object *, ::java::lang::Object *);
+ jboolean casNext(::java::util::concurrent::ConcurrentSkipListMap$Node *, ::java::util::concurrent::ConcurrentSkipListMap$Node *);
+ jboolean isMarker();
+ jboolean isBaseHeader();
+ jboolean appendMarker(::java::util::concurrent::ConcurrentSkipListMap$Node *);
+ void helpDelete(::java::util::concurrent::ConcurrentSkipListMap$Node *, ::java::util::concurrent::ConcurrentSkipListMap$Node *);
+ ::java::lang::Object * getValidValue();
+ ::java::util::AbstractMap$SimpleImmutableEntry * createSnapshot();
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key;
+ ::java::lang::Object * volatile value;
+ ::java::util::concurrent::ConcurrentSkipListMap$Node * volatile next;
+ static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * nextUpdater;
+ static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * valueUpdater;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentSkipListMap$Node__
diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapEntryIterator.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapEntryIterator.h
new file mode 100644
index 000000000..0c0c9e552
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapEntryIterator.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentSkipListMap$SubMap$SubMapEntryIterator__
+#define __java_util_concurrent_ConcurrentSkipListMap$SubMap$SubMapEntryIterator__
+
+#pragma interface
+
+#include <java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter.h>
+
+class java::util::concurrent::ConcurrentSkipListMap$SubMap$SubMapEntryIterator : public ::java::util::concurrent::ConcurrentSkipListMap$SubMap$SubMapIter
+{
+
+public: // actually package-private
+ ConcurrentSkipListMap$SubMap$SubMapEntryIterator(::java::util::concurrent::ConcurrentSkipListMap$SubMap *);
+public:
+ ::java::util::Map$Entry * ConcurrentSkipListMap$SubMap$SubMapEntryIterator$next();
+ ::java::lang::Object * next();
+public: // actually package-private
+ ::java::util::concurrent::ConcurrentSkipListMap$SubMap * __attribute__((aligned(__alignof__( ::java::util::concurrent::ConcurrentSkipListMap$SubMap$SubMapIter)))) this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentSkipListMap$SubMap$SubMapEntryIterator__
diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter.h
new file mode 100644
index 000000000..a4f569348
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentSkipListMap$SubMap$SubMapIter__
+#define __java_util_concurrent_ConcurrentSkipListMap$SubMap$SubMapIter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::ConcurrentSkipListMap$SubMap$SubMapIter : public ::java::lang::Object
+{
+
+public: // actually package-private
+ ConcurrentSkipListMap$SubMap$SubMapIter(::java::util::concurrent::ConcurrentSkipListMap$SubMap *);
+public:
+ virtual jboolean hasNext();
+public: // actually package-private
+ virtual void advance();
+private:
+ void ascend();
+ void descend();
+public:
+ virtual void remove();
+ virtual ::java::lang::Object * next() = 0;
+public: // actually package-private
+ ::java::util::concurrent::ConcurrentSkipListMap$Node * __attribute__((aligned(__alignof__( ::java::lang::Object)))) lastReturned;
+ ::java::util::concurrent::ConcurrentSkipListMap$Node * next;
+ ::java::lang::Object * nextValue;
+ ::java::util::concurrent::ConcurrentSkipListMap$SubMap * this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentSkipListMap$SubMap$SubMapIter__
diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapKeyIterator.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapKeyIterator.h
new file mode 100644
index 000000000..5af0bca1d
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapKeyIterator.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentSkipListMap$SubMap$SubMapKeyIterator__
+#define __java_util_concurrent_ConcurrentSkipListMap$SubMap$SubMapKeyIterator__
+
+#pragma interface
+
+#include <java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter.h>
+
+class java::util::concurrent::ConcurrentSkipListMap$SubMap$SubMapKeyIterator : public ::java::util::concurrent::ConcurrentSkipListMap$SubMap$SubMapIter
+{
+
+public: // actually package-private
+ ConcurrentSkipListMap$SubMap$SubMapKeyIterator(::java::util::concurrent::ConcurrentSkipListMap$SubMap *);
+public:
+ ::java::lang::Object * next();
+public: // actually package-private
+ ::java::util::concurrent::ConcurrentSkipListMap$SubMap * __attribute__((aligned(__alignof__( ::java::util::concurrent::ConcurrentSkipListMap$SubMap$SubMapIter)))) this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentSkipListMap$SubMap$SubMapKeyIterator__
diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapValueIterator.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapValueIterator.h
new file mode 100644
index 000000000..deefc73c9
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapValueIterator.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentSkipListMap$SubMap$SubMapValueIterator__
+#define __java_util_concurrent_ConcurrentSkipListMap$SubMap$SubMapValueIterator__
+
+#pragma interface
+
+#include <java/util/concurrent/ConcurrentSkipListMap$SubMap$SubMapIter.h>
+
+class java::util::concurrent::ConcurrentSkipListMap$SubMap$SubMapValueIterator : public ::java::util::concurrent::ConcurrentSkipListMap$SubMap$SubMapIter
+{
+
+public: // actually package-private
+ ConcurrentSkipListMap$SubMap$SubMapValueIterator(::java::util::concurrent::ConcurrentSkipListMap$SubMap *);
+public:
+ ::java::lang::Object * next();
+public: // actually package-private
+ ::java::util::concurrent::ConcurrentSkipListMap$SubMap * __attribute__((aligned(__alignof__( ::java::util::concurrent::ConcurrentSkipListMap$SubMap$SubMapIter)))) this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentSkipListMap$SubMap$SubMapValueIterator__
diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap.h
new file mode 100644
index 000000000..345fb2551
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$SubMap.h
@@ -0,0 +1,118 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentSkipListMap$SubMap__
+#define __java_util_concurrent_ConcurrentSkipListMap$SubMap__
+
+#pragma interface
+
+#include <java/util/AbstractMap.h>
+
+class java::util::concurrent::ConcurrentSkipListMap$SubMap : public ::java::util::AbstractMap
+{
+
+public: // actually package-private
+ ConcurrentSkipListMap$SubMap(::java::util::concurrent::ConcurrentSkipListMap *, ::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean, jboolean);
+private:
+ jboolean tooLow(::java::lang::Object *);
+ jboolean tooHigh(::java::lang::Object *);
+ jboolean inBounds(::java::lang::Object *);
+ void checkKeyBounds(::java::lang::Object *);
+ jboolean isBeforeEnd(::java::util::concurrent::ConcurrentSkipListMap$Node *);
+ ::java::util::concurrent::ConcurrentSkipListMap$Node * loNode();
+ ::java::util::concurrent::ConcurrentSkipListMap$Node * hiNode();
+ ::java::lang::Object * lowestKey();
+ ::java::lang::Object * highestKey();
+ ::java::util::Map$Entry * lowestEntry();
+ ::java::util::Map$Entry * highestEntry();
+ ::java::util::Map$Entry * removeLowest();
+ ::java::util::Map$Entry * removeHighest();
+ ::java::util::Map$Entry * getNearEntry(::java::lang::Object *, jint);
+ ::java::lang::Object * getNearKey(::java::lang::Object *, jint);
+public:
+ jboolean containsKey(::java::lang::Object *);
+ ::java::lang::Object * get(::java::lang::Object *);
+ ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *);
+ ::java::lang::Object * remove(::java::lang::Object *);
+ jint size();
+ jboolean isEmpty();
+ jboolean containsValue(::java::lang::Object *);
+ void clear();
+ ::java::lang::Object * putIfAbsent(::java::lang::Object *, ::java::lang::Object *);
+ jboolean remove(::java::lang::Object *, ::java::lang::Object *);
+ jboolean replace(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *);
+ ::java::lang::Object * replace(::java::lang::Object *, ::java::lang::Object *);
+ ::java::util::Comparator * comparator();
+private:
+ ::java::util::concurrent::ConcurrentSkipListMap$SubMap * newSubMap(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean);
+public:
+ ::java::util::concurrent::ConcurrentSkipListMap$SubMap * ConcurrentSkipListMap$SubMap$subMap(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean);
+ ::java::util::concurrent::ConcurrentSkipListMap$SubMap * ConcurrentSkipListMap$SubMap$headMap(::java::lang::Object *, jboolean);
+ ::java::util::concurrent::ConcurrentSkipListMap$SubMap * ConcurrentSkipListMap$SubMap$tailMap(::java::lang::Object *, jboolean);
+ ::java::util::concurrent::ConcurrentSkipListMap$SubMap * ConcurrentSkipListMap$SubMap$subMap(::java::lang::Object *, ::java::lang::Object *);
+ ::java::util::concurrent::ConcurrentSkipListMap$SubMap * ConcurrentSkipListMap$SubMap$headMap(::java::lang::Object *);
+ ::java::util::concurrent::ConcurrentSkipListMap$SubMap * ConcurrentSkipListMap$SubMap$tailMap(::java::lang::Object *);
+ ::java::util::concurrent::ConcurrentSkipListMap$SubMap * ConcurrentSkipListMap$SubMap$descendingMap();
+ ::java::util::Map$Entry * ceilingEntry(::java::lang::Object *);
+ ::java::lang::Object * ceilingKey(::java::lang::Object *);
+ ::java::util::Map$Entry * lowerEntry(::java::lang::Object *);
+ ::java::lang::Object * lowerKey(::java::lang::Object *);
+ ::java::util::Map$Entry * floorEntry(::java::lang::Object *);
+ ::java::lang::Object * floorKey(::java::lang::Object *);
+ ::java::util::Map$Entry * higherEntry(::java::lang::Object *);
+ ::java::lang::Object * higherKey(::java::lang::Object *);
+ ::java::lang::Object * firstKey();
+ ::java::lang::Object * lastKey();
+ ::java::util::Map$Entry * firstEntry();
+ ::java::util::Map$Entry * lastEntry();
+ ::java::util::Map$Entry * pollFirstEntry();
+ ::java::util::Map$Entry * pollLastEntry();
+ ::java::util::NavigableSet * ConcurrentSkipListMap$SubMap$keySet();
+ ::java::util::NavigableSet * navigableKeySet();
+ ::java::util::Collection * values();
+ ::java::util::Set * entrySet();
+ ::java::util::NavigableSet * descendingKeySet();
+public: // actually package-private
+ ::java::util::Iterator * keyIterator();
+ ::java::util::Iterator * valueIterator();
+ ::java::util::Iterator * entryIterator();
+public:
+ ::java::util::SortedMap * subMap(::java::lang::Object *, ::java::lang::Object *);
+ ::java::util::concurrent::ConcurrentNavigableMap * subMap(::java::lang::Object *, ::java::lang::Object *);
+ ::java::util::NavigableMap * subMap(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean);
+ ::java::util::concurrent::ConcurrentNavigableMap * subMap(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean);
+ ::java::util::SortedMap * tailMap(::java::lang::Object *);
+ ::java::util::concurrent::ConcurrentNavigableMap * tailMap(::java::lang::Object *);
+ ::java::util::NavigableMap * tailMap(::java::lang::Object *, jboolean);
+ ::java::util::concurrent::ConcurrentNavigableMap * tailMap(::java::lang::Object *, jboolean);
+ ::java::util::SortedMap * headMap(::java::lang::Object *);
+ ::java::util::concurrent::ConcurrentNavigableMap * headMap(::java::lang::Object *);
+ ::java::util::NavigableMap * headMap(::java::lang::Object *, jboolean);
+ ::java::util::concurrent::ConcurrentNavigableMap * headMap(::java::lang::Object *, jboolean);
+ ::java::util::Set * keySet();
+ ::java::util::NavigableMap * descendingMap();
+ ::java::util::concurrent::ConcurrentNavigableMap * descendingMap();
+public: // actually package-private
+ static jboolean access$15(::java::util::concurrent::ConcurrentSkipListMap$SubMap *);
+ static ::java::util::concurrent::ConcurrentSkipListMap$Node * access$16(::java::util::concurrent::ConcurrentSkipListMap$SubMap *);
+ static ::java::util::concurrent::ConcurrentSkipListMap$Node * access$17(::java::util::concurrent::ConcurrentSkipListMap$SubMap *);
+ static jboolean access$18(::java::util::concurrent::ConcurrentSkipListMap$SubMap *, ::java::lang::Object *);
+ static jboolean access$19(::java::util::concurrent::ConcurrentSkipListMap$SubMap *, ::java::lang::Object *);
+ static ::java::util::concurrent::ConcurrentSkipListMap * access$20(::java::util::concurrent::ConcurrentSkipListMap$SubMap *);
+ static jboolean access$21(::java::util::concurrent::ConcurrentSkipListMap$SubMap *, ::java::lang::Object *);
+private:
+ static const jlong serialVersionUID = -7647078645895051609LL;
+ ::java::util::concurrent::ConcurrentSkipListMap * __attribute__((aligned(__alignof__( ::java::util::AbstractMap)))) m;
+ ::java::lang::Object * lo;
+ ::java::lang::Object * hi;
+ jboolean loInclusive;
+ jboolean hiInclusive;
+ jboolean isDescending;
+ ::java::util::concurrent::ConcurrentSkipListMap$KeySet * keySetView;
+ ::java::util::Set * entrySetView;
+ ::java::util::Collection * valuesView;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentSkipListMap$SubMap__
diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$ValueIterator.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$ValueIterator.h
new file mode 100644
index 000000000..fa671d814
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$ValueIterator.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentSkipListMap$ValueIterator__
+#define __java_util_concurrent_ConcurrentSkipListMap$ValueIterator__
+
+#pragma interface
+
+#include <java/util/concurrent/ConcurrentSkipListMap$Iter.h>
+
+class java::util::concurrent::ConcurrentSkipListMap$ValueIterator : public ::java::util::concurrent::ConcurrentSkipListMap$Iter
+{
+
+public: // actually package-private
+ ConcurrentSkipListMap$ValueIterator(::java::util::concurrent::ConcurrentSkipListMap *);
+public:
+ ::java::lang::Object * next();
+public: // actually package-private
+ ::java::util::concurrent::ConcurrentSkipListMap * __attribute__((aligned(__alignof__( ::java::util::concurrent::ConcurrentSkipListMap$Iter)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentSkipListMap$ValueIterator__
diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap$Values.h b/libjava/java/util/concurrent/ConcurrentSkipListMap$Values.h
new file mode 100644
index 000000000..1fc3b1b8e
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentSkipListMap$Values.h
@@ -0,0 +1,32 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentSkipListMap$Values__
+#define __java_util_concurrent_ConcurrentSkipListMap$Values__
+
+#pragma interface
+
+#include <java/util/AbstractCollection.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::ConcurrentSkipListMap$Values : public ::java::util::AbstractCollection
+{
+
+public: // actually package-private
+ ConcurrentSkipListMap$Values(::java::util::concurrent::ConcurrentNavigableMap *);
+public:
+ ::java::util::Iterator * iterator();
+ jboolean isEmpty();
+ jint size();
+ jboolean contains(::java::lang::Object *);
+ void clear();
+ JArray< ::java::lang::Object * > * toArray();
+ JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
+private:
+ ::java::util::concurrent::ConcurrentNavigableMap * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) m;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentSkipListMap$Values__
diff --git a/libjava/java/util/concurrent/ConcurrentSkipListMap.h b/libjava/java/util/concurrent/ConcurrentSkipListMap.h
new file mode 100644
index 000000000..2f4da898b
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentSkipListMap.h
@@ -0,0 +1,136 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentSkipListMap__
+#define __java_util_concurrent_ConcurrentSkipListMap__
+
+#pragma interface
+
+#include <java/util/AbstractMap.h>
+
+class java::util::concurrent::ConcurrentSkipListMap : public ::java::util::AbstractMap
+{
+
+public: // actually package-private
+ virtual void initialize();
+private:
+ jboolean casHead(::java::util::concurrent::ConcurrentSkipListMap$HeadIndex *, ::java::util::concurrent::ConcurrentSkipListMap$HeadIndex *);
+ ::java::lang::Comparable * comparable(::java::lang::Object *);
+public: // actually package-private
+ virtual jint compare(::java::lang::Object *, ::java::lang::Object *);
+ virtual jboolean inHalfOpenRange(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *);
+ virtual jboolean inOpenRange(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *);
+private:
+ ::java::util::concurrent::ConcurrentSkipListMap$Node * findPredecessor(::java::lang::Comparable *);
+ ::java::util::concurrent::ConcurrentSkipListMap$Node * findNode(::java::lang::Comparable *);
+ ::java::lang::Object * doGet(::java::lang::Object *);
+ ::java::lang::Object * getUsingFindNode(::java::lang::Comparable *);
+ ::java::lang::Object * doPut(::java::lang::Object *, ::java::lang::Object *, jboolean);
+ jint randomLevel();
+ void insertIndex(::java::util::concurrent::ConcurrentSkipListMap$Node *, jint);
+ void addIndex(::java::util::concurrent::ConcurrentSkipListMap$Index *, ::java::util::concurrent::ConcurrentSkipListMap$HeadIndex *, jint);
+public: // actually package-private
+ virtual ::java::lang::Object * doRemove(::java::lang::Object *, ::java::lang::Object *);
+private:
+ void tryReduceLevel();
+public: // actually package-private
+ virtual ::java::util::concurrent::ConcurrentSkipListMap$Node * findFirst();
+ virtual ::java::util::Map$Entry * doRemoveFirstEntry();
+private:
+ void clearIndexToFirst();
+public: // actually package-private
+ virtual ::java::util::concurrent::ConcurrentSkipListMap$Node * findLast();
+private:
+ ::java::util::concurrent::ConcurrentSkipListMap$Node * findPredecessorOfLast();
+public: // actually package-private
+ virtual ::java::util::Map$Entry * doRemoveLastEntry();
+ virtual ::java::util::concurrent::ConcurrentSkipListMap$Node * findNear(::java::lang::Object *, jint);
+ virtual ::java::util::AbstractMap$SimpleImmutableEntry * getNear(::java::lang::Object *, jint);
+public:
+ ConcurrentSkipListMap();
+ ConcurrentSkipListMap(::java::util::Comparator *);
+ ConcurrentSkipListMap(::java::util::Map *);
+ ConcurrentSkipListMap(::java::util::SortedMap *);
+ virtual ::java::util::concurrent::ConcurrentSkipListMap * ConcurrentSkipListMap$clone();
+private:
+ void buildFromSorted(::java::util::SortedMap *);
+ void writeObject(::java::io::ObjectOutputStream *);
+ void readObject(::java::io::ObjectInputStream *);
+public:
+ virtual jboolean containsKey(::java::lang::Object *);
+ virtual ::java::lang::Object * get(::java::lang::Object *);
+ virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *);
+ virtual ::java::lang::Object * remove(::java::lang::Object *);
+ virtual jboolean containsValue(::java::lang::Object *);
+ virtual jint size();
+ virtual jboolean isEmpty();
+ virtual void clear();
+ virtual ::java::util::NavigableSet * ConcurrentSkipListMap$keySet();
+ virtual ::java::util::NavigableSet * navigableKeySet();
+ virtual ::java::util::Collection * values();
+ virtual ::java::util::Set * entrySet();
+ virtual ::java::util::concurrent::ConcurrentNavigableMap * ConcurrentSkipListMap$descendingMap();
+ virtual ::java::util::NavigableSet * descendingKeySet();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::Object * putIfAbsent(::java::lang::Object *, ::java::lang::Object *);
+ virtual jboolean remove(::java::lang::Object *, ::java::lang::Object *);
+ virtual jboolean replace(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *);
+ virtual ::java::lang::Object * replace(::java::lang::Object *, ::java::lang::Object *);
+ virtual ::java::util::Comparator * comparator();
+ virtual ::java::lang::Object * firstKey();
+ virtual ::java::lang::Object * lastKey();
+ virtual ::java::util::concurrent::ConcurrentNavigableMap * ConcurrentSkipListMap$subMap(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean);
+ virtual ::java::util::concurrent::ConcurrentNavigableMap * ConcurrentSkipListMap$headMap(::java::lang::Object *, jboolean);
+ virtual ::java::util::concurrent::ConcurrentNavigableMap * ConcurrentSkipListMap$tailMap(::java::lang::Object *, jboolean);
+ virtual ::java::util::concurrent::ConcurrentNavigableMap * ConcurrentSkipListMap$subMap(::java::lang::Object *, ::java::lang::Object *);
+ virtual ::java::util::concurrent::ConcurrentNavigableMap * ConcurrentSkipListMap$headMap(::java::lang::Object *);
+ virtual ::java::util::concurrent::ConcurrentNavigableMap * ConcurrentSkipListMap$tailMap(::java::lang::Object *);
+ virtual ::java::util::Map$Entry * lowerEntry(::java::lang::Object *);
+ virtual ::java::lang::Object * lowerKey(::java::lang::Object *);
+ virtual ::java::util::Map$Entry * floorEntry(::java::lang::Object *);
+ virtual ::java::lang::Object * floorKey(::java::lang::Object *);
+ virtual ::java::util::Map$Entry * ceilingEntry(::java::lang::Object *);
+ virtual ::java::lang::Object * ceilingKey(::java::lang::Object *);
+ virtual ::java::util::Map$Entry * higherEntry(::java::lang::Object *);
+ virtual ::java::lang::Object * higherKey(::java::lang::Object *);
+ virtual ::java::util::Map$Entry * firstEntry();
+ virtual ::java::util::Map$Entry * lastEntry();
+ virtual ::java::util::Map$Entry * pollFirstEntry();
+ virtual ::java::util::Map$Entry * pollLastEntry();
+public: // actually package-private
+ virtual ::java::util::Iterator * keyIterator();
+ virtual ::java::util::Iterator * valueIterator();
+ virtual ::java::util::Iterator * entryIterator();
+ static ::java::util::List * toList(::java::util::Collection *);
+public:
+ virtual ::java::util::SortedMap * subMap(::java::lang::Object *, ::java::lang::Object *);
+ virtual ::java::util::NavigableMap * subMap(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean);
+ virtual ::java::lang::Object * clone();
+ virtual ::java::util::SortedMap * tailMap(::java::lang::Object *);
+ virtual ::java::util::NavigableMap * tailMap(::java::lang::Object *, jboolean);
+ virtual ::java::util::SortedMap * headMap(::java::lang::Object *);
+ virtual ::java::util::NavigableMap * headMap(::java::lang::Object *, jboolean);
+ virtual ::java::util::Set * keySet();
+ virtual ::java::util::NavigableMap * descendingMap();
+public: // actually package-private
+ static ::java::lang::Object * access$9();
+private:
+ static const jlong serialVersionUID = -8627078645895051609LL;
+ static ::java::util::Random * seedGenerator;
+ static ::java::lang::Object * BASE_HEADER;
+ ::java::util::concurrent::ConcurrentSkipListMap$HeadIndex * volatile __attribute__((aligned(__alignof__( ::java::util::AbstractMap)))) head;
+ ::java::util::Comparator * comparator__;
+ jint randomSeed;
+ ::java::util::concurrent::ConcurrentSkipListMap$KeySet * keySet__;
+ ::java::util::concurrent::ConcurrentSkipListMap$EntrySet * entrySet__;
+ ::java::util::concurrent::ConcurrentSkipListMap$Values * values__;
+ ::java::util::concurrent::ConcurrentNavigableMap * descendingMap__;
+ static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * headUpdater;
+ static const jint EQ = 1;
+ static const jint LT = 2;
+ static const jint GT = 0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentSkipListMap__
diff --git a/libjava/java/util/concurrent/ConcurrentSkipListSet.h b/libjava/java/util/concurrent/ConcurrentSkipListSet.h
new file mode 100644
index 000000000..65ea1a9a9
--- /dev/null
+++ b/libjava/java/util/concurrent/ConcurrentSkipListSet.h
@@ -0,0 +1,75 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ConcurrentSkipListSet__
+#define __java_util_concurrent_ConcurrentSkipListSet__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+extern "Java"
+{
+ namespace sun
+ {
+ namespace misc
+ {
+ class Unsafe;
+ }
+ }
+}
+
+class java::util::concurrent::ConcurrentSkipListSet : public ::java::util::AbstractSet
+{
+
+public:
+ ConcurrentSkipListSet();
+ ConcurrentSkipListSet(::java::util::Comparator *);
+ ConcurrentSkipListSet(::java::util::Collection *);
+ ConcurrentSkipListSet(::java::util::SortedSet *);
+public: // actually package-private
+ ConcurrentSkipListSet(::java::util::concurrent::ConcurrentNavigableMap *);
+public:
+ virtual ::java::util::concurrent::ConcurrentSkipListSet * ConcurrentSkipListSet$clone();
+ virtual jint size();
+ virtual jboolean isEmpty();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jboolean add(::java::lang::Object *);
+ virtual jboolean remove(::java::lang::Object *);
+ virtual void clear();
+ virtual ::java::util::Iterator * iterator();
+ virtual ::java::util::Iterator * descendingIterator();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual jboolean removeAll(::java::util::Collection *);
+ virtual ::java::lang::Object * lower(::java::lang::Object *);
+ virtual ::java::lang::Object * floor(::java::lang::Object *);
+ virtual ::java::lang::Object * ceiling(::java::lang::Object *);
+ virtual ::java::lang::Object * higher(::java::lang::Object *);
+ virtual ::java::lang::Object * pollFirst();
+ virtual ::java::lang::Object * pollLast();
+ virtual ::java::util::Comparator * comparator();
+ virtual ::java::lang::Object * first();
+ virtual ::java::lang::Object * last();
+ virtual ::java::util::NavigableSet * subSet(::java::lang::Object *, jboolean, ::java::lang::Object *, jboolean);
+ virtual ::java::util::NavigableSet * headSet(::java::lang::Object *, jboolean);
+ virtual ::java::util::NavigableSet * tailSet(::java::lang::Object *, jboolean);
+ virtual ::java::util::NavigableSet * ConcurrentSkipListSet$subSet(::java::lang::Object *, ::java::lang::Object *);
+ virtual ::java::util::NavigableSet * ConcurrentSkipListSet$headSet(::java::lang::Object *);
+ virtual ::java::util::NavigableSet * ConcurrentSkipListSet$tailSet(::java::lang::Object *);
+ virtual ::java::util::NavigableSet * descendingSet();
+private:
+ void setMap(::java::util::concurrent::ConcurrentNavigableMap *);
+public:
+ virtual ::java::lang::Object * clone();
+ virtual ::java::util::SortedSet * subSet(::java::lang::Object *, ::java::lang::Object *);
+ virtual ::java::util::SortedSet * tailSet(::java::lang::Object *);
+ virtual ::java::util::SortedSet * headSet(::java::lang::Object *);
+private:
+ static const jlong serialVersionUID = -2479143111061671589LL;
+ ::java::util::concurrent::ConcurrentNavigableMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) m;
+ static ::sun::misc::Unsafe * unsafe;
+ static jlong mapOffset;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ConcurrentSkipListSet__
diff --git a/libjava/java/util/concurrent/CopyOnWriteArrayList$1.h b/libjava/java/util/concurrent/CopyOnWriteArrayList$1.h
new file mode 100644
index 000000000..207ce148b
--- /dev/null
+++ b/libjava/java/util/concurrent/CopyOnWriteArrayList$1.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_CopyOnWriteArrayList$1__
+#define __java_util_concurrent_CopyOnWriteArrayList$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::CopyOnWriteArrayList$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ CopyOnWriteArrayList$1(::java::util::concurrent::CopyOnWriteArrayList$SubList *, jint);
+public:
+ virtual jboolean hasNext();
+ virtual jboolean hasPrevious();
+ virtual ::java::lang::Object * next();
+ virtual ::java::lang::Object * previous();
+ virtual jint nextIndex();
+ virtual jint previousIndex();
+ virtual void remove();
+ virtual void set(::java::lang::Object *);
+ virtual void add(::java::lang::Object *);
+private:
+ ::java::util::ListIterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) i;
+ jint position;
+public: // actually package-private
+ ::java::util::concurrent::CopyOnWriteArrayList$SubList * this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_CopyOnWriteArrayList$1__
diff --git a/libjava/java/util/concurrent/CopyOnWriteArrayList$2.h b/libjava/java/util/concurrent/CopyOnWriteArrayList$2.h
new file mode 100644
index 000000000..7e5ba9319
--- /dev/null
+++ b/libjava/java/util/concurrent/CopyOnWriteArrayList$2.h
@@ -0,0 +1,30 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_CopyOnWriteArrayList$2__
+#define __java_util_concurrent_CopyOnWriteArrayList$2__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::CopyOnWriteArrayList$2 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ CopyOnWriteArrayList$2(::java::util::concurrent::CopyOnWriteArrayList *);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Object * next();
+ virtual void remove();
+public: // actually package-private
+ JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) iteratorData;
+ jint currentElement;
+ ::java::util::concurrent::CopyOnWriteArrayList * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_CopyOnWriteArrayList$2__
diff --git a/libjava/java/util/concurrent/CopyOnWriteArrayList$3.h b/libjava/java/util/concurrent/CopyOnWriteArrayList$3.h
new file mode 100644
index 000000000..b0cec8e53
--- /dev/null
+++ b/libjava/java/util/concurrent/CopyOnWriteArrayList$3.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_CopyOnWriteArrayList$3__
+#define __java_util_concurrent_CopyOnWriteArrayList$3__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::CopyOnWriteArrayList$3 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ CopyOnWriteArrayList$3(::java::util::concurrent::CopyOnWriteArrayList *, jint);
+public:
+ virtual void add(::java::lang::Object *);
+ virtual jboolean hasNext();
+ virtual jboolean hasPrevious();
+ virtual ::java::lang::Object * next();
+ virtual jint nextIndex();
+ virtual ::java::lang::Object * previous();
+ virtual jint previousIndex();
+ virtual void remove();
+ virtual void set(::java::lang::Object *);
+public: // actually package-private
+ JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) iteratorData;
+ jint currentElement;
+ ::java::util::concurrent::CopyOnWriteArrayList * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_CopyOnWriteArrayList$3__
diff --git a/libjava/java/util/concurrent/CopyOnWriteArrayList$RandomAccessSubList.h b/libjava/java/util/concurrent/CopyOnWriteArrayList$RandomAccessSubList.h
new file mode 100644
index 000000000..66adf0209
--- /dev/null
+++ b/libjava/java/util/concurrent/CopyOnWriteArrayList$RandomAccessSubList.h
@@ -0,0 +1,20 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_CopyOnWriteArrayList$RandomAccessSubList__
+#define __java_util_concurrent_CopyOnWriteArrayList$RandomAccessSubList__
+
+#pragma interface
+
+#include <java/util/concurrent/CopyOnWriteArrayList$SubList.h>
+
+class java::util::concurrent::CopyOnWriteArrayList$RandomAccessSubList : public ::java::util::concurrent::CopyOnWriteArrayList$SubList
+{
+
+public: // actually package-private
+ CopyOnWriteArrayList$RandomAccessSubList(::java::util::concurrent::CopyOnWriteArrayList *, jint, jint);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_CopyOnWriteArrayList$RandomAccessSubList__
diff --git a/libjava/java/util/concurrent/CopyOnWriteArrayList$SubList.h b/libjava/java/util/concurrent/CopyOnWriteArrayList$SubList.h
new file mode 100644
index 000000000..de285a9f8
--- /dev/null
+++ b/libjava/java/util/concurrent/CopyOnWriteArrayList$SubList.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_CopyOnWriteArrayList$SubList__
+#define __java_util_concurrent_CopyOnWriteArrayList$SubList__
+
+#pragma interface
+
+#include <java/util/AbstractList.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::CopyOnWriteArrayList$SubList : public ::java::util::AbstractList
+{
+
+public: // actually package-private
+ CopyOnWriteArrayList$SubList(::java::util::concurrent::CopyOnWriteArrayList *, jint, jint);
+ virtual void checkMod();
+private:
+ void checkBoundsInclusive(jint);
+ void checkBoundsExclusive(jint);
+public:
+ virtual jint size();
+ virtual void clear();
+ virtual ::java::lang::Object * set(jint, ::java::lang::Object *);
+ virtual ::java::lang::Object * get(jint);
+ virtual void add(jint, ::java::lang::Object *);
+ virtual ::java::lang::Object * remove(jint);
+ virtual jboolean addAll(jint, ::java::util::Collection *);
+ virtual jboolean addAll(::java::util::Collection *);
+ virtual ::java::util::Iterator * iterator();
+ virtual ::java::util::ListIterator * listIterator(jint);
+public: // actually package-private
+ ::java::util::concurrent::CopyOnWriteArrayList * __attribute__((aligned(__alignof__( ::java::util::AbstractList)))) backingList;
+ jint offset;
+ jint size__;
+ JArray< ::java::lang::Object * > * data;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_CopyOnWriteArrayList$SubList__
diff --git a/libjava/java/util/concurrent/CopyOnWriteArrayList.h b/libjava/java/util/concurrent/CopyOnWriteArrayList.h
new file mode 100644
index 000000000..95eec88d9
--- /dev/null
+++ b/libjava/java/util/concurrent/CopyOnWriteArrayList.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_CopyOnWriteArrayList__
+#define __java_util_concurrent_CopyOnWriteArrayList__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::CopyOnWriteArrayList : public ::java::lang::Object
+{
+
+public:
+ CopyOnWriteArrayList();
+ CopyOnWriteArrayList(::java::util::Collection *);
+ CopyOnWriteArrayList(JArray< ::java::lang::Object * > *);
+ virtual jint size();
+ virtual jboolean isEmpty();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jboolean containsAll(::java::util::Collection *);
+ virtual jint indexOf(::java::lang::Object *);
+ virtual jint indexOf(::java::lang::Object *, jint);
+ virtual jint lastIndexOf(::java::lang::Object *);
+ virtual jint lastIndexOf(::java::lang::Object *, jint);
+ virtual ::java::lang::Object * clone();
+ virtual JArray< ::java::lang::Object * > * toArray();
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
+ virtual ::java::lang::Object * get(jint);
+ virtual ::java::lang::Object * set(jint, ::java::lang::Object *);
+ virtual jboolean add(::java::lang::Object *);
+ virtual void add(jint, ::java::lang::Object *);
+ virtual ::java::lang::Object * remove(jint);
+ virtual jboolean remove(::java::lang::Object *);
+ virtual jboolean removeAll(::java::util::Collection *);
+ virtual jboolean retainAll(::java::util::Collection *);
+ virtual void clear();
+ virtual jboolean addAll(::java::util::Collection *);
+ virtual jboolean addAll(jint, ::java::util::Collection *);
+ virtual jboolean addIfAbsent(::java::lang::Object *);
+ virtual jint addAllAbsent(::java::util::Collection *);
+ virtual ::java::lang::String * toString();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual jint hashCode();
+ virtual ::java::util::Iterator * iterator();
+ virtual ::java::util::ListIterator * listIterator();
+ virtual ::java::util::ListIterator * listIterator(jint);
+ virtual ::java::util::List * subList(jint, jint);
+private:
+ void writeObject(::java::io::ObjectOutputStream *);
+ void readObject(::java::io::ObjectInputStream *);
+public: // actually package-private
+ static jboolean equals(::java::lang::Object *, ::java::lang::Object *);
+ virtual JArray< ::java::lang::Object * > * getArray();
+ static JArray< ::java::lang::Object * > * access$0(::java::util::concurrent::CopyOnWriteArrayList *);
+ static void access$1(::java::util::concurrent::CopyOnWriteArrayList *, JArray< ::java::lang::Object * > *);
+private:
+ static const jlong serialVersionUID = 8673264195747942595LL;
+ JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) data;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_CopyOnWriteArrayList__
diff --git a/libjava/java/util/concurrent/CopyOnWriteArraySet.h b/libjava/java/util/concurrent/CopyOnWriteArraySet.h
new file mode 100644
index 000000000..9fb8c8396
--- /dev/null
+++ b/libjava/java/util/concurrent/CopyOnWriteArraySet.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_CopyOnWriteArraySet__
+#define __java_util_concurrent_CopyOnWriteArraySet__
+
+#pragma interface
+
+#include <java/util/AbstractSet.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::CopyOnWriteArraySet : public ::java::util::AbstractSet
+{
+
+public:
+ CopyOnWriteArraySet();
+ CopyOnWriteArraySet(::java::util::Collection *);
+ virtual jint size();
+ virtual jboolean isEmpty();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual JArray< ::java::lang::Object * > * toArray();
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
+ virtual void clear();
+ virtual jboolean remove(::java::lang::Object *);
+ virtual jboolean add(::java::lang::Object *);
+ virtual jboolean containsAll(::java::util::Collection *);
+ virtual jboolean addAll(::java::util::Collection *);
+ virtual jboolean removeAll(::java::util::Collection *);
+ virtual jboolean retainAll(::java::util::Collection *);
+ virtual ::java::util::Iterator * iterator();
+ virtual jboolean equals(::java::lang::Object *);
+private:
+ static jboolean eq(::java::lang::Object *, ::java::lang::Object *);
+ static const jlong serialVersionUID = 5457747651344034263LL;
+ ::java::util::concurrent::CopyOnWriteArrayList * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) al;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_CopyOnWriteArraySet__
diff --git a/libjava/java/util/concurrent/CountDownLatch$Sync.h b/libjava/java/util/concurrent/CountDownLatch$Sync.h
new file mode 100644
index 000000000..ee8e75126
--- /dev/null
+++ b/libjava/java/util/concurrent/CountDownLatch$Sync.h
@@ -0,0 +1,26 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_CountDownLatch$Sync__
+#define __java_util_concurrent_CountDownLatch$Sync__
+
+#pragma interface
+
+#include <java/util/concurrent/locks/AbstractQueuedSynchronizer.h>
+
+class java::util::concurrent::CountDownLatch$Sync : public ::java::util::concurrent::locks::AbstractQueuedSynchronizer
+{
+
+public: // actually package-private
+ CountDownLatch$Sync(jint);
+ jint getCount();
+public:
+ jint tryAcquireShared(jint);
+ jboolean tryReleaseShared(jint);
+private:
+ static const jlong serialVersionUID = 4982264981922014374LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_CountDownLatch$Sync__
diff --git a/libjava/java/util/concurrent/CountDownLatch.h b/libjava/java/util/concurrent/CountDownLatch.h
new file mode 100644
index 000000000..68609d313
--- /dev/null
+++ b/libjava/java/util/concurrent/CountDownLatch.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_CountDownLatch__
+#define __java_util_concurrent_CountDownLatch__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::CountDownLatch : public ::java::lang::Object
+{
+
+public:
+ CountDownLatch(jint);
+ virtual void await();
+ virtual jboolean await(jlong, ::java::util::concurrent::TimeUnit *);
+ virtual void countDown();
+ virtual jlong getCount();
+ virtual ::java::lang::String * toString();
+private:
+ ::java::util::concurrent::CountDownLatch$Sync * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sync;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_CountDownLatch__
diff --git a/libjava/java/util/concurrent/CyclicBarrier$Generation.h b/libjava/java/util/concurrent/CyclicBarrier$Generation.h
new file mode 100644
index 000000000..c3d7e4ab1
--- /dev/null
+++ b/libjava/java/util/concurrent/CyclicBarrier$Generation.h
@@ -0,0 +1,22 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_CyclicBarrier$Generation__
+#define __java_util_concurrent_CyclicBarrier$Generation__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::CyclicBarrier$Generation : public ::java::lang::Object
+{
+
+ CyclicBarrier$Generation();
+public: // actually package-private
+ CyclicBarrier$Generation(::java::util::concurrent::CyclicBarrier$Generation *);
+ jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) broken;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_CyclicBarrier$Generation__
diff --git a/libjava/java/util/concurrent/CyclicBarrier.h b/libjava/java/util/concurrent/CyclicBarrier.h
new file mode 100644
index 000000000..c6c4b3e4f
--- /dev/null
+++ b/libjava/java/util/concurrent/CyclicBarrier.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_CyclicBarrier__
+#define __java_util_concurrent_CyclicBarrier__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::CyclicBarrier : public ::java::lang::Object
+{
+
+ void nextGeneration();
+ void breakBarrier();
+ jint dowait(jboolean, jlong);
+public:
+ CyclicBarrier(jint, ::java::lang::Runnable *);
+ CyclicBarrier(jint);
+ virtual jint getParties();
+ virtual jint await();
+ virtual jint await(jlong, ::java::util::concurrent::TimeUnit *);
+ virtual jboolean isBroken();
+ virtual void reset();
+ virtual jint getNumberWaiting();
+private:
+ ::java::util::concurrent::locks::ReentrantLock * __attribute__((aligned(__alignof__( ::java::lang::Object)))) lock;
+ ::java::util::concurrent::locks::Condition * trip;
+ jint parties;
+ ::java::lang::Runnable * barrierCommand;
+ ::java::util::concurrent::CyclicBarrier$Generation * generation;
+ jint count;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_CyclicBarrier__
diff --git a/libjava/java/util/concurrent/DelayQueue$Itr.h b/libjava/java/util/concurrent/DelayQueue$Itr.h
new file mode 100644
index 000000000..cdcc1bf20
--- /dev/null
+++ b/libjava/java/util/concurrent/DelayQueue$Itr.h
@@ -0,0 +1,32 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_DelayQueue$Itr__
+#define __java_util_concurrent_DelayQueue$Itr__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::DelayQueue$Itr : public ::java::lang::Object
+{
+
+public: // actually package-private
+ DelayQueue$Itr(::java::util::concurrent::DelayQueue *, JArray< ::java::lang::Object * > *);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::util::concurrent::Delayed * DelayQueue$Itr$next();
+ virtual void remove();
+ virtual ::java::lang::Object * next();
+public: // actually package-private
+ JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) array;
+ jint cursor;
+ jint lastRet;
+ ::java::util::concurrent::DelayQueue * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_DelayQueue$Itr__
diff --git a/libjava/java/util/concurrent/DelayQueue.h b/libjava/java/util/concurrent/DelayQueue.h
new file mode 100644
index 000000000..b97f32248
--- /dev/null
+++ b/libjava/java/util/concurrent/DelayQueue.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_DelayQueue__
+#define __java_util_concurrent_DelayQueue__
+
+#pragma interface
+
+#include <java/util/AbstractQueue.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::DelayQueue : public ::java::util::AbstractQueue
+{
+
+public:
+ DelayQueue();
+ DelayQueue(::java::util::Collection *);
+ virtual jboolean DelayQueue$add(::java::util::concurrent::Delayed *);
+ virtual jboolean DelayQueue$offer(::java::util::concurrent::Delayed *);
+ virtual void DelayQueue$put(::java::util::concurrent::Delayed *);
+ virtual jboolean DelayQueue$offer(::java::util::concurrent::Delayed *, jlong, ::java::util::concurrent::TimeUnit *);
+ virtual ::java::util::concurrent::Delayed * DelayQueue$poll();
+ virtual ::java::util::concurrent::Delayed * DelayQueue$take();
+ virtual ::java::util::concurrent::Delayed * DelayQueue$poll(jlong, ::java::util::concurrent::TimeUnit *);
+ virtual ::java::util::concurrent::Delayed * DelayQueue$peek();
+ virtual jint size();
+ virtual jint drainTo(::java::util::Collection *);
+ virtual jint drainTo(::java::util::Collection *, jint);
+ virtual void clear();
+ virtual jint remainingCapacity();
+ virtual JArray< ::java::lang::Object * > * toArray();
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
+ virtual jboolean remove(::java::lang::Object *);
+ virtual ::java::util::Iterator * iterator();
+ virtual ::java::lang::Object * poll(jlong, ::java::util::concurrent::TimeUnit *);
+ virtual ::java::lang::Object * poll();
+ virtual ::java::lang::Object * take();
+ virtual jboolean offer(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *);
+ virtual jboolean offer(::java::lang::Object *);
+ virtual ::java::lang::Object * peek();
+ virtual jboolean add(::java::lang::Object *);
+ virtual void put(::java::lang::Object *);
+public: // actually package-private
+ static ::java::util::concurrent::locks::ReentrantLock * access$8(::java::util::concurrent::DelayQueue *);
+ static ::java::util::PriorityQueue * access$9(::java::util::concurrent::DelayQueue *);
+private:
+ ::java::util::concurrent::locks::ReentrantLock * __attribute__((aligned(__alignof__( ::java::util::AbstractQueue)))) lock;
+ ::java::util::concurrent::locks::Condition * available;
+ ::java::util::PriorityQueue * q;
+public: // actually package-private
+ static jboolean $assertionsDisabled;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_DelayQueue__
diff --git a/libjava/java/util/concurrent/Delayed.h b/libjava/java/util/concurrent/Delayed.h
new file mode 100644
index 000000000..2a8d4e5d1
--- /dev/null
+++ b/libjava/java/util/concurrent/Delayed.h
@@ -0,0 +1,20 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Delayed__
+#define __java_util_concurrent_Delayed__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::Delayed : public ::java::lang::Object
+{
+
+public:
+ virtual jlong getDelay(::java::util::concurrent::TimeUnit *) = 0;
+ virtual jint compareTo(::java::lang::Object *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_concurrent_Delayed__
diff --git a/libjava/java/util/concurrent/Exchanger$Node.h b/libjava/java/util/concurrent/Exchanger$Node.h
new file mode 100644
index 000000000..4bd3890ea
--- /dev/null
+++ b/libjava/java/util/concurrent/Exchanger$Node.h
@@ -0,0 +1,21 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Exchanger$Node__
+#define __java_util_concurrent_Exchanger$Node__
+
+#pragma interface
+
+#include <java/util/concurrent/atomic/AtomicReference.h>
+
+class java::util::concurrent::Exchanger$Node : public ::java::util::concurrent::atomic::AtomicReference
+{
+
+public:
+ Exchanger$Node(::java::lang::Object *);
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::util::concurrent::atomic::AtomicReference)))) item;
+ ::java::lang::Thread * volatile waiter;
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_Exchanger$Node__
diff --git a/libjava/java/util/concurrent/Exchanger$Slot.h b/libjava/java/util/concurrent/Exchanger$Slot.h
new file mode 100644
index 000000000..4d1d41654
--- /dev/null
+++ b/libjava/java/util/concurrent/Exchanger$Slot.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Exchanger$Slot__
+#define __java_util_concurrent_Exchanger$Slot__
+
+#pragma interface
+
+#include <java/util/concurrent/atomic/AtomicReference.h>
+
+class java::util::concurrent::Exchanger$Slot : public ::java::util::concurrent::atomic::AtomicReference
+{
+
+ Exchanger$Slot();
+public: // actually package-private
+ Exchanger$Slot(::java::util::concurrent::Exchanger$Slot *);
+ jlong __attribute__((aligned(__alignof__( ::java::util::concurrent::atomic::AtomicReference)))) q0;
+ jlong q1;
+ jlong q2;
+ jlong q3;
+ jlong q4;
+ jlong q5;
+ jlong q6;
+ jlong q7;
+ jlong q8;
+ jlong q9;
+ jlong qa;
+ jlong qb;
+ jlong qc;
+ jlong qd;
+ jlong qe;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_Exchanger$Slot__
diff --git a/libjava/java/util/concurrent/Exchanger.h b/libjava/java/util/concurrent/Exchanger.h
new file mode 100644
index 000000000..5a0993e26
--- /dev/null
+++ b/libjava/java/util/concurrent/Exchanger.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Exchanger__
+#define __java_util_concurrent_Exchanger__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::Exchanger : public ::java::lang::Object
+{
+
+ ::java::lang::Object * doExchange(::java::lang::Object *, jboolean, jlong);
+ jint hashIndex();
+ void createSlot(jint);
+ static jboolean tryCancel(::java::util::concurrent::Exchanger$Node *, ::java::util::concurrent::Exchanger$Slot *);
+ static ::java::lang::Object * spinWait(::java::util::concurrent::Exchanger$Node *, ::java::util::concurrent::Exchanger$Slot *);
+ static ::java::lang::Object * await(::java::util::concurrent::Exchanger$Node *, ::java::util::concurrent::Exchanger$Slot *);
+ ::java::lang::Object * awaitNanos(::java::util::concurrent::Exchanger$Node *, ::java::util::concurrent::Exchanger$Slot *, jlong);
+ ::java::lang::Object * scanOnTimeout(::java::util::concurrent::Exchanger$Node *);
+public:
+ Exchanger();
+ virtual ::java::lang::Object * exchange(::java::lang::Object *);
+ virtual ::java::lang::Object * exchange(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *);
+private:
+ static jint NCPU;
+ static const jint CAPACITY = 32;
+ static jint FULL;
+ static jint SPINS;
+ static jint TIMED_SPINS;
+ static ::java::lang::Object * CANCEL;
+ static ::java::lang::Object * NULL_ITEM;
+ JArray< ::java::util::concurrent::Exchanger$Slot * > * volatile __attribute__((aligned(__alignof__( ::java::lang::Object)))) arena;
+ ::java::util::concurrent::atomic::AtomicInteger * max;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_Exchanger__
diff --git a/libjava/java/util/concurrent/ExecutionException.h b/libjava/java/util/concurrent/ExecutionException.h
new file mode 100644
index 000000000..3f210c7df
--- /dev/null
+++ b/libjava/java/util/concurrent/ExecutionException.h
@@ -0,0 +1,26 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ExecutionException__
+#define __java_util_concurrent_ExecutionException__
+
+#pragma interface
+
+#include <java/lang/Exception.h>
+
+class java::util::concurrent::ExecutionException : public ::java::lang::Exception
+{
+
+public: // actually protected
+ ExecutionException();
+ ExecutionException(::java::lang::String *);
+public:
+ ExecutionException(::java::lang::String *, ::java::lang::Throwable *);
+ ExecutionException(::java::lang::Throwable *);
+private:
+ static const jlong serialVersionUID = 7830266012832686185LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ExecutionException__
diff --git a/libjava/java/util/concurrent/Executor.h b/libjava/java/util/concurrent/Executor.h
new file mode 100644
index 000000000..2e59bc466
--- /dev/null
+++ b/libjava/java/util/concurrent/Executor.h
@@ -0,0 +1,19 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Executor__
+#define __java_util_concurrent_Executor__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::Executor : public ::java::lang::Object
+{
+
+public:
+ virtual void execute(::java::lang::Runnable *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_concurrent_Executor__
diff --git a/libjava/java/util/concurrent/ExecutorCompletionService$QueueingFuture.h b/libjava/java/util/concurrent/ExecutorCompletionService$QueueingFuture.h
new file mode 100644
index 000000000..806cecfe2
--- /dev/null
+++ b/libjava/java/util/concurrent/ExecutorCompletionService$QueueingFuture.h
@@ -0,0 +1,26 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ExecutorCompletionService$QueueingFuture__
+#define __java_util_concurrent_ExecutorCompletionService$QueueingFuture__
+
+#pragma interface
+
+#include <java/util/concurrent/FutureTask.h>
+
+class java::util::concurrent::ExecutorCompletionService$QueueingFuture : public ::java::util::concurrent::FutureTask
+{
+
+public: // actually package-private
+ ExecutorCompletionService$QueueingFuture(::java::util::concurrent::ExecutorCompletionService *, ::java::util::concurrent::RunnableFuture *);
+public: // actually protected
+ virtual void done();
+private:
+ ::java::util::concurrent::Future * __attribute__((aligned(__alignof__( ::java::util::concurrent::FutureTask)))) task;
+public: // actually package-private
+ ::java::util::concurrent::ExecutorCompletionService * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ExecutorCompletionService$QueueingFuture__
diff --git a/libjava/java/util/concurrent/ExecutorCompletionService.h b/libjava/java/util/concurrent/ExecutorCompletionService.h
new file mode 100644
index 000000000..922e2d98e
--- /dev/null
+++ b/libjava/java/util/concurrent/ExecutorCompletionService.h
@@ -0,0 +1,34 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ExecutorCompletionService__
+#define __java_util_concurrent_ExecutorCompletionService__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::ExecutorCompletionService : public ::java::lang::Object
+{
+
+ ::java::util::concurrent::RunnableFuture * newTaskFor(::java::util::concurrent::Callable *);
+ ::java::util::concurrent::RunnableFuture * newTaskFor(::java::lang::Runnable *, ::java::lang::Object *);
+public:
+ ExecutorCompletionService(::java::util::concurrent::Executor *);
+ ExecutorCompletionService(::java::util::concurrent::Executor *, ::java::util::concurrent::BlockingQueue *);
+ virtual ::java::util::concurrent::Future * submit(::java::util::concurrent::Callable *);
+ virtual ::java::util::concurrent::Future * submit(::java::lang::Runnable *, ::java::lang::Object *);
+ virtual ::java::util::concurrent::Future * take();
+ virtual ::java::util::concurrent::Future * poll();
+ virtual ::java::util::concurrent::Future * poll(jlong, ::java::util::concurrent::TimeUnit *);
+public: // actually package-private
+ static ::java::util::concurrent::BlockingQueue * access$0(::java::util::concurrent::ExecutorCompletionService *);
+private:
+ ::java::util::concurrent::Executor * __attribute__((aligned(__alignof__( ::java::lang::Object)))) executor;
+ ::java::util::concurrent::AbstractExecutorService * aes;
+ ::java::util::concurrent::BlockingQueue * completionQueue;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ExecutorCompletionService__
diff --git a/libjava/java/util/concurrent/ExecutorService.h b/libjava/java/util/concurrent/ExecutorService.h
new file mode 100644
index 000000000..3c2431495
--- /dev/null
+++ b/libjava/java/util/concurrent/ExecutorService.h
@@ -0,0 +1,31 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ExecutorService__
+#define __java_util_concurrent_ExecutorService__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::ExecutorService : public ::java::lang::Object
+{
+
+public:
+ virtual void shutdown() = 0;
+ virtual ::java::util::List * shutdownNow() = 0;
+ virtual jboolean isShutdown() = 0;
+ virtual jboolean isTerminated() = 0;
+ virtual jboolean awaitTermination(jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ virtual ::java::util::concurrent::Future * submit(::java::util::concurrent::Callable *) = 0;
+ virtual ::java::util::concurrent::Future * submit(::java::lang::Runnable *, ::java::lang::Object *) = 0;
+ virtual ::java::util::concurrent::Future * submit(::java::lang::Runnable *) = 0;
+ virtual ::java::util::List * invokeAll(::java::util::Collection *) = 0;
+ virtual ::java::util::List * invokeAll(::java::util::Collection *, jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ virtual ::java::lang::Object * invokeAny(::java::util::Collection *) = 0;
+ virtual ::java::lang::Object * invokeAny(::java::util::Collection *, jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ virtual void execute(::java::lang::Runnable *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_concurrent_ExecutorService__
diff --git a/libjava/java/util/concurrent/Executors$1.h b/libjava/java/util/concurrent/Executors$1.h
new file mode 100644
index 000000000..9830f9f39
--- /dev/null
+++ b/libjava/java/util/concurrent/Executors$1.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Executors$1__
+#define __java_util_concurrent_Executors$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::Executors$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Executors$1(::java::util::concurrent::Executors$PrivilegedCallable *);
+public:
+ virtual ::java::lang::Object * run();
+public: // actually package-private
+ ::java::util::concurrent::Executors$PrivilegedCallable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_Executors$1__
diff --git a/libjava/java/util/concurrent/Executors$2.h b/libjava/java/util/concurrent/Executors$2.h
new file mode 100644
index 000000000..2a9c2e096
--- /dev/null
+++ b/libjava/java/util/concurrent/Executors$2.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Executors$2__
+#define __java_util_concurrent_Executors$2__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::Executors$2 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Executors$2(::java::util::concurrent::Executors$PrivilegedCallableUsingCurrentClassLoader *);
+public:
+ virtual ::java::lang::Object * run();
+public: // actually package-private
+ ::java::util::concurrent::Executors$PrivilegedCallableUsingCurrentClassLoader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_Executors$2__
diff --git a/libjava/java/util/concurrent/Executors$3.h b/libjava/java/util/concurrent/Executors$3.h
new file mode 100644
index 000000000..d8f9cd780
--- /dev/null
+++ b/libjava/java/util/concurrent/Executors$3.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Executors$3__
+#define __java_util_concurrent_Executors$3__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::Executors$3 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Executors$3(::java::util::concurrent::Executors$PrivilegedThreadFactory *, ::java::lang::Runnable *);
+public:
+ virtual void run();
+public: // actually package-private
+ static ::java::util::concurrent::Executors$PrivilegedThreadFactory * access$0(::java::util::concurrent::Executors$3 *);
+ ::java::util::concurrent::Executors$PrivilegedThreadFactory * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1;
+private:
+ ::java::lang::Runnable * val$r;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_Executors$3__
diff --git a/libjava/java/util/concurrent/Executors$4.h b/libjava/java/util/concurrent/Executors$4.h
new file mode 100644
index 000000000..e38ca3f40
--- /dev/null
+++ b/libjava/java/util/concurrent/Executors$4.h
@@ -0,0 +1,26 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Executors$4__
+#define __java_util_concurrent_Executors$4__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::Executors$4 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Executors$4(::java::util::concurrent::Executors$3 *, ::java::lang::Runnable *);
+public:
+ virtual ::java::lang::Object * run();
+public: // actually package-private
+ ::java::util::concurrent::Executors$3 * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$2;
+private:
+ ::java::lang::Runnable * val$r;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_Executors$4__
diff --git a/libjava/java/util/concurrent/Executors$5.h b/libjava/java/util/concurrent/Executors$5.h
new file mode 100644
index 000000000..e69ed2f36
--- /dev/null
+++ b/libjava/java/util/concurrent/Executors$5.h
@@ -0,0 +1,34 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Executors$5__
+#define __java_util_concurrent_Executors$5__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace java
+ {
+ namespace security
+ {
+ class PrivilegedAction;
+ }
+ }
+}
+
+class java::util::concurrent::Executors$5 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Executors$5(::java::security::PrivilegedAction *);
+public:
+ virtual ::java::lang::Object * call();
+private:
+ ::java::security::PrivilegedAction * __attribute__((aligned(__alignof__( ::java::lang::Object)))) val$action;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_Executors$5__
diff --git a/libjava/java/util/concurrent/Executors$6.h b/libjava/java/util/concurrent/Executors$6.h
new file mode 100644
index 000000000..26291e25d
--- /dev/null
+++ b/libjava/java/util/concurrent/Executors$6.h
@@ -0,0 +1,34 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Executors$6__
+#define __java_util_concurrent_Executors$6__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace java
+ {
+ namespace security
+ {
+ class PrivilegedExceptionAction;
+ }
+ }
+}
+
+class java::util::concurrent::Executors$6 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Executors$6(::java::security::PrivilegedExceptionAction *);
+public:
+ virtual ::java::lang::Object * call();
+private:
+ ::java::security::PrivilegedExceptionAction * __attribute__((aligned(__alignof__( ::java::lang::Object)))) val$action;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_Executors$6__
diff --git a/libjava/java/util/concurrent/Executors$DefaultThreadFactory.h b/libjava/java/util/concurrent/Executors$DefaultThreadFactory.h
new file mode 100644
index 000000000..7a2d8a757
--- /dev/null
+++ b/libjava/java/util/concurrent/Executors$DefaultThreadFactory.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Executors$DefaultThreadFactory__
+#define __java_util_concurrent_Executors$DefaultThreadFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::Executors$DefaultThreadFactory : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Executors$DefaultThreadFactory();
+public:
+ virtual ::java::lang::Thread * newThread(::java::lang::Runnable *);
+public: // actually package-private
+ static ::java::util::concurrent::atomic::AtomicInteger * poolNumber;
+ ::java::lang::ThreadGroup * __attribute__((aligned(__alignof__( ::java::lang::Object)))) group;
+ ::java::util::concurrent::atomic::AtomicInteger * threadNumber;
+ ::java::lang::String * namePrefix;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_Executors$DefaultThreadFactory__
diff --git a/libjava/java/util/concurrent/Executors$DelegatedExecutorService.h b/libjava/java/util/concurrent/Executors$DelegatedExecutorService.h
new file mode 100644
index 000000000..6bca4b1f2
--- /dev/null
+++ b/libjava/java/util/concurrent/Executors$DelegatedExecutorService.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Executors$DelegatedExecutorService__
+#define __java_util_concurrent_Executors$DelegatedExecutorService__
+
+#pragma interface
+
+#include <java/util/concurrent/AbstractExecutorService.h>
+
+class java::util::concurrent::Executors$DelegatedExecutorService : public ::java::util::concurrent::AbstractExecutorService
+{
+
+public: // actually package-private
+ Executors$DelegatedExecutorService(::java::util::concurrent::ExecutorService *);
+public:
+ virtual void execute(::java::lang::Runnable *);
+ virtual void shutdown();
+ virtual ::java::util::List * shutdownNow();
+ virtual jboolean isShutdown();
+ virtual jboolean isTerminated();
+ virtual jboolean awaitTermination(jlong, ::java::util::concurrent::TimeUnit *);
+ virtual ::java::util::concurrent::Future * submit(::java::lang::Runnable *);
+ virtual ::java::util::concurrent::Future * submit(::java::util::concurrent::Callable *);
+ virtual ::java::util::concurrent::Future * submit(::java::lang::Runnable *, ::java::lang::Object *);
+ virtual ::java::util::List * invokeAll(::java::util::Collection *);
+ virtual ::java::util::List * invokeAll(::java::util::Collection *, jlong, ::java::util::concurrent::TimeUnit *);
+ virtual ::java::lang::Object * invokeAny(::java::util::Collection *);
+ virtual ::java::lang::Object * invokeAny(::java::util::Collection *, jlong, ::java::util::concurrent::TimeUnit *);
+private:
+ ::java::util::concurrent::ExecutorService * __attribute__((aligned(__alignof__( ::java::util::concurrent::AbstractExecutorService)))) e;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_Executors$DelegatedExecutorService__
diff --git a/libjava/java/util/concurrent/Executors$DelegatedScheduledExecutorService.h b/libjava/java/util/concurrent/Executors$DelegatedScheduledExecutorService.h
new file mode 100644
index 000000000..a7efdb071
--- /dev/null
+++ b/libjava/java/util/concurrent/Executors$DelegatedScheduledExecutorService.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Executors$DelegatedScheduledExecutorService__
+#define __java_util_concurrent_Executors$DelegatedScheduledExecutorService__
+
+#pragma interface
+
+#include <java/util/concurrent/Executors$DelegatedExecutorService.h>
+
+class java::util::concurrent::Executors$DelegatedScheduledExecutorService : public ::java::util::concurrent::Executors$DelegatedExecutorService
+{
+
+public: // actually package-private
+ Executors$DelegatedScheduledExecutorService(::java::util::concurrent::ScheduledExecutorService *);
+public:
+ virtual ::java::util::concurrent::ScheduledFuture * schedule(::java::lang::Runnable *, jlong, ::java::util::concurrent::TimeUnit *);
+ virtual ::java::util::concurrent::ScheduledFuture * schedule(::java::util::concurrent::Callable *, jlong, ::java::util::concurrent::TimeUnit *);
+ virtual ::java::util::concurrent::ScheduledFuture * scheduleAtFixedRate(::java::lang::Runnable *, jlong, jlong, ::java::util::concurrent::TimeUnit *);
+ virtual ::java::util::concurrent::ScheduledFuture * scheduleWithFixedDelay(::java::lang::Runnable *, jlong, jlong, ::java::util::concurrent::TimeUnit *);
+private:
+ ::java::util::concurrent::ScheduledExecutorService * __attribute__((aligned(__alignof__( ::java::util::concurrent::Executors$DelegatedExecutorService)))) e;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_Executors$DelegatedScheduledExecutorService__
diff --git a/libjava/java/util/concurrent/Executors$FinalizableDelegatedExecutorService.h b/libjava/java/util/concurrent/Executors$FinalizableDelegatedExecutorService.h
new file mode 100644
index 000000000..fd4f2bd76
--- /dev/null
+++ b/libjava/java/util/concurrent/Executors$FinalizableDelegatedExecutorService.h
@@ -0,0 +1,22 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Executors$FinalizableDelegatedExecutorService__
+#define __java_util_concurrent_Executors$FinalizableDelegatedExecutorService__
+
+#pragma interface
+
+#include <java/util/concurrent/Executors$DelegatedExecutorService.h>
+
+class java::util::concurrent::Executors$FinalizableDelegatedExecutorService : public ::java::util::concurrent::Executors$DelegatedExecutorService
+{
+
+public: // actually package-private
+ Executors$FinalizableDelegatedExecutorService(::java::util::concurrent::ExecutorService *);
+public: // actually protected
+ virtual void finalize();
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_Executors$FinalizableDelegatedExecutorService__
diff --git a/libjava/java/util/concurrent/Executors$PrivilegedCallable.h b/libjava/java/util/concurrent/Executors$PrivilegedCallable.h
new file mode 100644
index 000000000..09609857d
--- /dev/null
+++ b/libjava/java/util/concurrent/Executors$PrivilegedCallable.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Executors$PrivilegedCallable__
+#define __java_util_concurrent_Executors$PrivilegedCallable__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace java
+ {
+ namespace security
+ {
+ class AccessControlContext;
+ }
+ }
+}
+
+class java::util::concurrent::Executors$PrivilegedCallable : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Executors$PrivilegedCallable(::java::util::concurrent::Callable *);
+public:
+ ::java::lang::Object * call();
+public: // actually package-private
+ static ::java::util::concurrent::Callable * access$0(::java::util::concurrent::Executors$PrivilegedCallable *);
+ static void access$1(::java::util::concurrent::Executors$PrivilegedCallable *, ::java::lang::Object *);
+ static void access$2(::java::util::concurrent::Executors$PrivilegedCallable *, ::java::lang::Exception *);
+private:
+ ::java::security::AccessControlContext * __attribute__((aligned(__alignof__( ::java::lang::Object)))) acc;
+ ::java::util::concurrent::Callable * task;
+ ::java::lang::Object * result;
+ ::java::lang::Exception * exception;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_Executors$PrivilegedCallable__
diff --git a/libjava/java/util/concurrent/Executors$PrivilegedCallableUsingCurrentClassLoader.h b/libjava/java/util/concurrent/Executors$PrivilegedCallableUsingCurrentClassLoader.h
new file mode 100644
index 000000000..452f6ef25
--- /dev/null
+++ b/libjava/java/util/concurrent/Executors$PrivilegedCallableUsingCurrentClassLoader.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Executors$PrivilegedCallableUsingCurrentClassLoader__
+#define __java_util_concurrent_Executors$PrivilegedCallableUsingCurrentClassLoader__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace java
+ {
+ namespace security
+ {
+ class AccessControlContext;
+ }
+ }
+}
+
+class java::util::concurrent::Executors$PrivilegedCallableUsingCurrentClassLoader : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Executors$PrivilegedCallableUsingCurrentClassLoader(::java::util::concurrent::Callable *);
+public:
+ ::java::lang::Object * call();
+public: // actually package-private
+ static ::java::lang::ClassLoader * access$0(::java::util::concurrent::Executors$PrivilegedCallableUsingCurrentClassLoader *);
+ static ::java::util::concurrent::Callable * access$1(::java::util::concurrent::Executors$PrivilegedCallableUsingCurrentClassLoader *);
+ static void access$2(::java::util::concurrent::Executors$PrivilegedCallableUsingCurrentClassLoader *, ::java::lang::Object *);
+ static void access$3(::java::util::concurrent::Executors$PrivilegedCallableUsingCurrentClassLoader *, ::java::lang::Exception *);
+private:
+ ::java::lang::ClassLoader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ccl;
+ ::java::security::AccessControlContext * acc;
+ ::java::util::concurrent::Callable * task;
+ ::java::lang::Object * result;
+ ::java::lang::Exception * exception;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_Executors$PrivilegedCallableUsingCurrentClassLoader__
diff --git a/libjava/java/util/concurrent/Executors$PrivilegedThreadFactory.h b/libjava/java/util/concurrent/Executors$PrivilegedThreadFactory.h
new file mode 100644
index 000000000..0258eea5e
--- /dev/null
+++ b/libjava/java/util/concurrent/Executors$PrivilegedThreadFactory.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Executors$PrivilegedThreadFactory__
+#define __java_util_concurrent_Executors$PrivilegedThreadFactory__
+
+#pragma interface
+
+#include <java/util/concurrent/Executors$DefaultThreadFactory.h>
+extern "Java"
+{
+ namespace java
+ {
+ namespace security
+ {
+ class AccessControlContext;
+ }
+ }
+}
+
+class java::util::concurrent::Executors$PrivilegedThreadFactory : public ::java::util::concurrent::Executors$DefaultThreadFactory
+{
+
+public: // actually package-private
+ Executors$PrivilegedThreadFactory();
+public:
+ virtual ::java::lang::Thread * newThread(::java::lang::Runnable *);
+public: // actually package-private
+ static ::java::lang::ClassLoader * access$0(::java::util::concurrent::Executors$PrivilegedThreadFactory *);
+ static ::java::security::AccessControlContext * access$1(::java::util::concurrent::Executors$PrivilegedThreadFactory *);
+private:
+ ::java::lang::ClassLoader * __attribute__((aligned(__alignof__( ::java::util::concurrent::Executors$DefaultThreadFactory)))) ccl;
+ ::java::security::AccessControlContext * acc;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_Executors$PrivilegedThreadFactory__
diff --git a/libjava/java/util/concurrent/Executors$RunnableAdapter.h b/libjava/java/util/concurrent/Executors$RunnableAdapter.h
new file mode 100644
index 000000000..5d75fe835
--- /dev/null
+++ b/libjava/java/util/concurrent/Executors$RunnableAdapter.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Executors$RunnableAdapter__
+#define __java_util_concurrent_Executors$RunnableAdapter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::Executors$RunnableAdapter : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Executors$RunnableAdapter(::java::lang::Runnable *, ::java::lang::Object *);
+public:
+ ::java::lang::Object * call();
+public: // actually package-private
+ ::java::lang::Runnable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) task;
+ ::java::lang::Object * result;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_Executors$RunnableAdapter__
diff --git a/libjava/java/util/concurrent/Executors.h b/libjava/java/util/concurrent/Executors.h
new file mode 100644
index 000000000..8e6a428a1
--- /dev/null
+++ b/libjava/java/util/concurrent/Executors.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Executors__
+#define __java_util_concurrent_Executors__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace java
+ {
+ namespace security
+ {
+ class PrivilegedAction;
+ class PrivilegedExceptionAction;
+ }
+ }
+}
+
+class java::util::concurrent::Executors : public ::java::lang::Object
+{
+
+public:
+ static ::java::util::concurrent::ExecutorService * newFixedThreadPool(jint);
+ static ::java::util::concurrent::ExecutorService * newFixedThreadPool(jint, ::java::util::concurrent::ThreadFactory *);
+ static ::java::util::concurrent::ExecutorService * newSingleThreadExecutor();
+ static ::java::util::concurrent::ExecutorService * newSingleThreadExecutor(::java::util::concurrent::ThreadFactory *);
+ static ::java::util::concurrent::ExecutorService * newCachedThreadPool();
+ static ::java::util::concurrent::ExecutorService * newCachedThreadPool(::java::util::concurrent::ThreadFactory *);
+ static ::java::util::concurrent::ScheduledExecutorService * newSingleThreadScheduledExecutor();
+ static ::java::util::concurrent::ScheduledExecutorService * newSingleThreadScheduledExecutor(::java::util::concurrent::ThreadFactory *);
+ static ::java::util::concurrent::ScheduledExecutorService * newScheduledThreadPool(jint);
+ static ::java::util::concurrent::ScheduledExecutorService * newScheduledThreadPool(jint, ::java::util::concurrent::ThreadFactory *);
+ static ::java::util::concurrent::ExecutorService * unconfigurableExecutorService(::java::util::concurrent::ExecutorService *);
+ static ::java::util::concurrent::ScheduledExecutorService * unconfigurableScheduledExecutorService(::java::util::concurrent::ScheduledExecutorService *);
+ static ::java::util::concurrent::ThreadFactory * defaultThreadFactory();
+ static ::java::util::concurrent::ThreadFactory * privilegedThreadFactory();
+ static ::java::util::concurrent::Callable * callable(::java::lang::Runnable *, ::java::lang::Object *);
+ static ::java::util::concurrent::Callable * callable(::java::lang::Runnable *);
+ static ::java::util::concurrent::Callable * callable(::java::security::PrivilegedAction *);
+ static ::java::util::concurrent::Callable * callable(::java::security::PrivilegedExceptionAction *);
+ static ::java::util::concurrent::Callable * privilegedCallable(::java::util::concurrent::Callable *);
+ static ::java::util::concurrent::Callable * privilegedCallableUsingCurrentClassLoader(::java::util::concurrent::Callable *);
+private:
+ Executors();
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_Executors__
diff --git a/libjava/java/util/concurrent/Future.h b/libjava/java/util/concurrent/Future.h
new file mode 100644
index 000000000..9f70627a7
--- /dev/null
+++ b/libjava/java/util/concurrent/Future.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Future__
+#define __java_util_concurrent_Future__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::Future : public ::java::lang::Object
+{
+
+public:
+ virtual jboolean cancel(jboolean) = 0;
+ virtual jboolean isCancelled() = 0;
+ virtual jboolean isDone() = 0;
+ virtual ::java::lang::Object * get() = 0;
+ virtual ::java::lang::Object * get(jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_concurrent_Future__
diff --git a/libjava/java/util/concurrent/FutureTask$Sync.h b/libjava/java/util/concurrent/FutureTask$Sync.h
new file mode 100644
index 000000000..edaa1cad7
--- /dev/null
+++ b/libjava/java/util/concurrent/FutureTask$Sync.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_FutureTask$Sync__
+#define __java_util_concurrent_FutureTask$Sync__
+
+#pragma interface
+
+#include <java/util/concurrent/locks/AbstractQueuedSynchronizer.h>
+
+class java::util::concurrent::FutureTask$Sync : public ::java::util::concurrent::locks::AbstractQueuedSynchronizer
+{
+
+public: // actually package-private
+ FutureTask$Sync(::java::util::concurrent::FutureTask *, ::java::util::concurrent::Callable *);
+private:
+ jboolean ranOrCancelled(jint);
+public: // actually protected
+ jint tryAcquireShared(jint);
+ jboolean tryReleaseShared(jint);
+public: // actually package-private
+ jboolean innerIsCancelled();
+ jboolean innerIsDone();
+ ::java::lang::Object * innerGet();
+ ::java::lang::Object * innerGet(jlong);
+ void innerSet(::java::lang::Object *);
+ void innerSetException(::java::lang::Throwable *);
+ jboolean innerCancel(jboolean);
+ void innerRun();
+ jboolean innerRunAndReset();
+private:
+ static const jlong serialVersionUID = -7828117401763700385LL;
+ static const jint RUNNING = 1;
+ static const jint RAN = 2;
+ static const jint CANCELLED = 4;
+ ::java::util::concurrent::Callable * __attribute__((aligned(__alignof__( ::java::util::concurrent::locks::AbstractQueuedSynchronizer)))) callable;
+ ::java::lang::Object * result;
+ ::java::lang::Throwable * exception;
+ ::java::lang::Thread * volatile runner;
+public: // actually package-private
+ ::java::util::concurrent::FutureTask * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_FutureTask$Sync__
diff --git a/libjava/java/util/concurrent/FutureTask.h b/libjava/java/util/concurrent/FutureTask.h
new file mode 100644
index 000000000..a86215f43
--- /dev/null
+++ b/libjava/java/util/concurrent/FutureTask.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_FutureTask__
+#define __java_util_concurrent_FutureTask__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::FutureTask : public ::java::lang::Object
+{
+
+public:
+ FutureTask(::java::util::concurrent::Callable *);
+ FutureTask(::java::lang::Runnable *, ::java::lang::Object *);
+ virtual jboolean isCancelled();
+ virtual jboolean isDone();
+ virtual jboolean cancel(jboolean);
+ virtual ::java::lang::Object * get();
+ virtual ::java::lang::Object * get(jlong, ::java::util::concurrent::TimeUnit *);
+public: // actually protected
+ virtual void done();
+ virtual void set(::java::lang::Object *);
+ virtual void setException(::java::lang::Throwable *);
+public:
+ virtual void run();
+public: // actually protected
+ virtual jboolean runAndReset();
+private:
+ ::java::util::concurrent::FutureTask$Sync * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sync;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_FutureTask__
diff --git a/libjava/java/util/concurrent/LinkedBlockingDeque$AbstractItr.h b/libjava/java/util/concurrent/LinkedBlockingDeque$AbstractItr.h
new file mode 100644
index 000000000..2aeec8a97
--- /dev/null
+++ b/libjava/java/util/concurrent/LinkedBlockingDeque$AbstractItr.h
@@ -0,0 +1,32 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_LinkedBlockingDeque$AbstractItr__
+#define __java_util_concurrent_LinkedBlockingDeque$AbstractItr__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::LinkedBlockingDeque$AbstractItr : public ::java::lang::Object
+{
+
+public: // actually package-private
+ LinkedBlockingDeque$AbstractItr(::java::util::concurrent::LinkedBlockingDeque *);
+ virtual void advance() = 0;
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Object * next();
+ virtual void remove();
+public: // actually package-private
+ ::java::util::concurrent::LinkedBlockingDeque$Node * __attribute__((aligned(__alignof__( ::java::lang::Object)))) next__;
+ ::java::lang::Object * nextItem;
+private:
+ ::java::util::concurrent::LinkedBlockingDeque$Node * lastRet;
+public: // actually package-private
+ ::java::util::concurrent::LinkedBlockingDeque * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_LinkedBlockingDeque$AbstractItr__
diff --git a/libjava/java/util/concurrent/LinkedBlockingDeque$DescendingItr.h b/libjava/java/util/concurrent/LinkedBlockingDeque$DescendingItr.h
new file mode 100644
index 000000000..a18b4d979
--- /dev/null
+++ b/libjava/java/util/concurrent/LinkedBlockingDeque$DescendingItr.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_LinkedBlockingDeque$DescendingItr__
+#define __java_util_concurrent_LinkedBlockingDeque$DescendingItr__
+
+#pragma interface
+
+#include <java/util/concurrent/LinkedBlockingDeque$AbstractItr.h>
+
+class java::util::concurrent::LinkedBlockingDeque$DescendingItr : public ::java::util::concurrent::LinkedBlockingDeque$AbstractItr
+{
+
+ LinkedBlockingDeque$DescendingItr(::java::util::concurrent::LinkedBlockingDeque *);
+public: // actually package-private
+ virtual void advance();
+ LinkedBlockingDeque$DescendingItr(::java::util::concurrent::LinkedBlockingDeque *, ::java::util::concurrent::LinkedBlockingDeque$DescendingItr *);
+ ::java::util::concurrent::LinkedBlockingDeque * __attribute__((aligned(__alignof__( ::java::util::concurrent::LinkedBlockingDeque$AbstractItr)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_LinkedBlockingDeque$DescendingItr__
diff --git a/libjava/java/util/concurrent/LinkedBlockingDeque$Itr.h b/libjava/java/util/concurrent/LinkedBlockingDeque$Itr.h
new file mode 100644
index 000000000..ad17e7a5e
--- /dev/null
+++ b/libjava/java/util/concurrent/LinkedBlockingDeque$Itr.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_LinkedBlockingDeque$Itr__
+#define __java_util_concurrent_LinkedBlockingDeque$Itr__
+
+#pragma interface
+
+#include <java/util/concurrent/LinkedBlockingDeque$AbstractItr.h>
+
+class java::util::concurrent::LinkedBlockingDeque$Itr : public ::java::util::concurrent::LinkedBlockingDeque$AbstractItr
+{
+
+ LinkedBlockingDeque$Itr(::java::util::concurrent::LinkedBlockingDeque *);
+public: // actually package-private
+ virtual void advance();
+ LinkedBlockingDeque$Itr(::java::util::concurrent::LinkedBlockingDeque *, ::java::util::concurrent::LinkedBlockingDeque$Itr *);
+ ::java::util::concurrent::LinkedBlockingDeque * __attribute__((aligned(__alignof__( ::java::util::concurrent::LinkedBlockingDeque$AbstractItr)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_LinkedBlockingDeque$Itr__
diff --git a/libjava/java/util/concurrent/LinkedBlockingDeque$Node.h b/libjava/java/util/concurrent/LinkedBlockingDeque$Node.h
new file mode 100644
index 000000000..423279f47
--- /dev/null
+++ b/libjava/java/util/concurrent/LinkedBlockingDeque$Node.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_LinkedBlockingDeque$Node__
+#define __java_util_concurrent_LinkedBlockingDeque$Node__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::LinkedBlockingDeque$Node : public ::java::lang::Object
+{
+
+public: // actually package-private
+ LinkedBlockingDeque$Node(::java::lang::Object *, ::java::util::concurrent::LinkedBlockingDeque$Node *, ::java::util::concurrent::LinkedBlockingDeque$Node *);
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) item;
+ ::java::util::concurrent::LinkedBlockingDeque$Node * prev;
+ ::java::util::concurrent::LinkedBlockingDeque$Node * next;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_LinkedBlockingDeque$Node__
diff --git a/libjava/java/util/concurrent/LinkedBlockingDeque.h b/libjava/java/util/concurrent/LinkedBlockingDeque.h
new file mode 100644
index 000000000..43d3adf4a
--- /dev/null
+++ b/libjava/java/util/concurrent/LinkedBlockingDeque.h
@@ -0,0 +1,96 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_LinkedBlockingDeque__
+#define __java_util_concurrent_LinkedBlockingDeque__
+
+#pragma interface
+
+#include <java/util/AbstractQueue.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::LinkedBlockingDeque : public ::java::util::AbstractQueue
+{
+
+public:
+ LinkedBlockingDeque();
+ LinkedBlockingDeque(jint);
+ LinkedBlockingDeque(::java::util::Collection *);
+private:
+ jboolean linkFirst(::java::lang::Object *);
+ jboolean linkLast(::java::lang::Object *);
+ ::java::lang::Object * unlinkFirst();
+ ::java::lang::Object * unlinkLast();
+ void unlink(::java::util::concurrent::LinkedBlockingDeque$Node *);
+public:
+ virtual void addFirst(::java::lang::Object *);
+ virtual void addLast(::java::lang::Object *);
+ virtual jboolean offerFirst(::java::lang::Object *);
+ virtual jboolean offerLast(::java::lang::Object *);
+ virtual void putFirst(::java::lang::Object *);
+ virtual void putLast(::java::lang::Object *);
+ virtual jboolean offerFirst(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *);
+ virtual jboolean offerLast(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *);
+ virtual ::java::lang::Object * removeFirst();
+ virtual ::java::lang::Object * removeLast();
+ virtual ::java::lang::Object * pollFirst();
+ virtual ::java::lang::Object * pollLast();
+ virtual ::java::lang::Object * takeFirst();
+ virtual ::java::lang::Object * takeLast();
+ virtual ::java::lang::Object * pollFirst(jlong, ::java::util::concurrent::TimeUnit *);
+ virtual ::java::lang::Object * pollLast(jlong, ::java::util::concurrent::TimeUnit *);
+ virtual ::java::lang::Object * getFirst();
+ virtual ::java::lang::Object * getLast();
+ virtual ::java::lang::Object * peekFirst();
+ virtual ::java::lang::Object * peekLast();
+ virtual jboolean removeFirstOccurrence(::java::lang::Object *);
+ virtual jboolean removeLastOccurrence(::java::lang::Object *);
+ virtual jboolean add(::java::lang::Object *);
+ virtual jboolean offer(::java::lang::Object *);
+ virtual void put(::java::lang::Object *);
+ virtual jboolean offer(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *);
+ virtual ::java::lang::Object * remove();
+ virtual ::java::lang::Object * poll();
+ virtual ::java::lang::Object * take();
+ virtual ::java::lang::Object * poll(jlong, ::java::util::concurrent::TimeUnit *);
+ virtual ::java::lang::Object * element();
+ virtual ::java::lang::Object * peek();
+ virtual jint remainingCapacity();
+ virtual jint drainTo(::java::util::Collection *);
+ virtual jint drainTo(::java::util::Collection *, jint);
+ virtual void push(::java::lang::Object *);
+ virtual ::java::lang::Object * pop();
+ virtual jboolean remove(::java::lang::Object *);
+ virtual jint size();
+ virtual jboolean contains(::java::lang::Object *);
+public: // actually package-private
+ virtual jboolean removeNode(::java::util::concurrent::LinkedBlockingDeque$Node *);
+public:
+ virtual JArray< ::java::lang::Object * > * toArray();
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
+ virtual ::java::lang::String * toString();
+ virtual void clear();
+ virtual ::java::util::Iterator * iterator();
+ virtual ::java::util::Iterator * descendingIterator();
+private:
+ void writeObject(::java::io::ObjectOutputStream *);
+ void readObject(::java::io::ObjectInputStream *);
+public: // actually package-private
+ static ::java::util::concurrent::locks::ReentrantLock * access$0(::java::util::concurrent::LinkedBlockingDeque *);
+ static ::java::util::concurrent::LinkedBlockingDeque$Node * access$1(::java::util::concurrent::LinkedBlockingDeque *);
+ static ::java::util::concurrent::LinkedBlockingDeque$Node * access$2(::java::util::concurrent::LinkedBlockingDeque *);
+private:
+ static const jlong serialVersionUID = -387911632671998426LL;
+ ::java::util::concurrent::LinkedBlockingDeque$Node * __attribute__((aligned(__alignof__( ::java::util::AbstractQueue)))) first;
+ ::java::util::concurrent::LinkedBlockingDeque$Node * last;
+ jint count;
+ jint capacity;
+ ::java::util::concurrent::locks::ReentrantLock * lock;
+ ::java::util::concurrent::locks::Condition * notEmpty;
+ ::java::util::concurrent::locks::Condition * notFull;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_LinkedBlockingDeque__
diff --git a/libjava/java/util/concurrent/LinkedBlockingQueue$Itr.h b/libjava/java/util/concurrent/LinkedBlockingQueue$Itr.h
new file mode 100644
index 000000000..e7e0e526d
--- /dev/null
+++ b/libjava/java/util/concurrent/LinkedBlockingQueue$Itr.h
@@ -0,0 +1,30 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_LinkedBlockingQueue$Itr__
+#define __java_util_concurrent_LinkedBlockingQueue$Itr__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::LinkedBlockingQueue$Itr : public ::java::lang::Object
+{
+
+public: // actually package-private
+ LinkedBlockingQueue$Itr(::java::util::concurrent::LinkedBlockingQueue *);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Object * next();
+ virtual void remove();
+private:
+ ::java::util::concurrent::LinkedBlockingQueue$Node * __attribute__((aligned(__alignof__( ::java::lang::Object)))) current;
+ ::java::util::concurrent::LinkedBlockingQueue$Node * lastRet;
+ ::java::lang::Object * currentElement;
+public: // actually package-private
+ ::java::util::concurrent::LinkedBlockingQueue * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_LinkedBlockingQueue$Itr__
diff --git a/libjava/java/util/concurrent/LinkedBlockingQueue$Node.h b/libjava/java/util/concurrent/LinkedBlockingQueue$Node.h
new file mode 100644
index 000000000..1cf8cda9d
--- /dev/null
+++ b/libjava/java/util/concurrent/LinkedBlockingQueue$Node.h
@@ -0,0 +1,22 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_LinkedBlockingQueue$Node__
+#define __java_util_concurrent_LinkedBlockingQueue$Node__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::LinkedBlockingQueue$Node : public ::java::lang::Object
+{
+
+public: // actually package-private
+ LinkedBlockingQueue$Node(::java::lang::Object *);
+ ::java::lang::Object * volatile __attribute__((aligned(__alignof__( ::java::lang::Object)))) item;
+ ::java::util::concurrent::LinkedBlockingQueue$Node * next;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_LinkedBlockingQueue$Node__
diff --git a/libjava/java/util/concurrent/LinkedBlockingQueue.h b/libjava/java/util/concurrent/LinkedBlockingQueue.h
new file mode 100644
index 000000000..42028ec38
--- /dev/null
+++ b/libjava/java/util/concurrent/LinkedBlockingQueue.h
@@ -0,0 +1,71 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_LinkedBlockingQueue__
+#define __java_util_concurrent_LinkedBlockingQueue__
+
+#pragma interface
+
+#include <java/util/AbstractQueue.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::LinkedBlockingQueue : public ::java::util::AbstractQueue
+{
+
+ void signalNotEmpty();
+ void signalNotFull();
+ void insert(::java::lang::Object *);
+ ::java::lang::Object * extract();
+ void fullyLock();
+ void fullyUnlock();
+public:
+ LinkedBlockingQueue();
+ LinkedBlockingQueue(jint);
+ LinkedBlockingQueue(::java::util::Collection *);
+ virtual jint size();
+ virtual jint remainingCapacity();
+ virtual void put(::java::lang::Object *);
+ virtual jboolean offer(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *);
+ virtual jboolean offer(::java::lang::Object *);
+ virtual ::java::lang::Object * take();
+ virtual ::java::lang::Object * poll(jlong, ::java::util::concurrent::TimeUnit *);
+ virtual ::java::lang::Object * poll();
+ virtual ::java::lang::Object * peek();
+ virtual jboolean remove(::java::lang::Object *);
+ virtual JArray< ::java::lang::Object * > * toArray();
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
+ virtual ::java::lang::String * toString();
+ virtual void clear();
+ virtual jint drainTo(::java::util::Collection *);
+ virtual jint drainTo(::java::util::Collection *, jint);
+ virtual ::java::util::Iterator * iterator();
+private:
+ void writeObject(::java::io::ObjectOutputStream *);
+ void readObject(::java::io::ObjectInputStream *);
+public: // actually package-private
+ static ::java::util::concurrent::locks::ReentrantLock * access$0(::java::util::concurrent::LinkedBlockingQueue *);
+ static ::java::util::concurrent::locks::ReentrantLock * access$1(::java::util::concurrent::LinkedBlockingQueue *);
+ static ::java::util::concurrent::LinkedBlockingQueue$Node * access$2(::java::util::concurrent::LinkedBlockingQueue *);
+ static ::java::util::concurrent::LinkedBlockingQueue$Node * access$3(::java::util::concurrent::LinkedBlockingQueue *);
+ static void access$4(::java::util::concurrent::LinkedBlockingQueue *, ::java::util::concurrent::LinkedBlockingQueue$Node *);
+ static ::java::util::concurrent::atomic::AtomicInteger * access$5(::java::util::concurrent::LinkedBlockingQueue *);
+ static jint access$6(::java::util::concurrent::LinkedBlockingQueue *);
+ static ::java::util::concurrent::locks::Condition * access$7(::java::util::concurrent::LinkedBlockingQueue *);
+private:
+ static const jlong serialVersionUID = -6903933977591709194LL;
+ jint __attribute__((aligned(__alignof__( ::java::util::AbstractQueue)))) capacity;
+ ::java::util::concurrent::atomic::AtomicInteger * count;
+ ::java::util::concurrent::LinkedBlockingQueue$Node * head;
+ ::java::util::concurrent::LinkedBlockingQueue$Node * last;
+ ::java::util::concurrent::locks::ReentrantLock * takeLock;
+ ::java::util::concurrent::locks::Condition * notEmpty;
+ ::java::util::concurrent::locks::ReentrantLock * putLock;
+ ::java::util::concurrent::locks::Condition * notFull;
+public: // actually package-private
+ static jboolean $assertionsDisabled;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_LinkedBlockingQueue__
diff --git a/libjava/java/util/concurrent/PriorityBlockingQueue$Itr.h b/libjava/java/util/concurrent/PriorityBlockingQueue$Itr.h
new file mode 100644
index 000000000..c64407182
--- /dev/null
+++ b/libjava/java/util/concurrent/PriorityBlockingQueue$Itr.h
@@ -0,0 +1,31 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_PriorityBlockingQueue$Itr__
+#define __java_util_concurrent_PriorityBlockingQueue$Itr__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::PriorityBlockingQueue$Itr : public ::java::lang::Object
+{
+
+public: // actually package-private
+ PriorityBlockingQueue$Itr(::java::util::concurrent::PriorityBlockingQueue *, JArray< ::java::lang::Object * > *);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Object * next();
+ virtual void remove();
+public: // actually package-private
+ JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) array;
+ jint cursor;
+ jint lastRet;
+ ::java::util::concurrent::PriorityBlockingQueue * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_PriorityBlockingQueue$Itr__
diff --git a/libjava/java/util/concurrent/PriorityBlockingQueue.h b/libjava/java/util/concurrent/PriorityBlockingQueue.h
new file mode 100644
index 000000000..ad5d8bb40
--- /dev/null
+++ b/libjava/java/util/concurrent/PriorityBlockingQueue.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_PriorityBlockingQueue__
+#define __java_util_concurrent_PriorityBlockingQueue__
+
+#pragma interface
+
+#include <java/util/AbstractQueue.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::PriorityBlockingQueue : public ::java::util::AbstractQueue
+{
+
+public:
+ PriorityBlockingQueue();
+ PriorityBlockingQueue(jint);
+ PriorityBlockingQueue(jint, ::java::util::Comparator *);
+ PriorityBlockingQueue(::java::util::Collection *);
+ virtual jboolean add(::java::lang::Object *);
+ virtual jboolean offer(::java::lang::Object *);
+ virtual void put(::java::lang::Object *);
+ virtual jboolean offer(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *);
+ virtual ::java::lang::Object * poll();
+ virtual ::java::lang::Object * take();
+ virtual ::java::lang::Object * poll(jlong, ::java::util::concurrent::TimeUnit *);
+ virtual ::java::lang::Object * peek();
+ virtual ::java::util::Comparator * comparator();
+ virtual jint size();
+ virtual jint remainingCapacity();
+ virtual jboolean remove(::java::lang::Object *);
+ virtual jboolean contains(::java::lang::Object *);
+ virtual JArray< ::java::lang::Object * > * toArray();
+ virtual ::java::lang::String * toString();
+ virtual jint drainTo(::java::util::Collection *);
+ virtual jint drainTo(::java::util::Collection *, jint);
+ virtual void clear();
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
+ virtual ::java::util::Iterator * iterator();
+private:
+ void writeObject(::java::io::ObjectOutputStream *);
+public: // actually package-private
+ static ::java::util::concurrent::locks::ReentrantLock * access$0(::java::util::concurrent::PriorityBlockingQueue *);
+ static ::java::util::PriorityQueue * access$1(::java::util::concurrent::PriorityBlockingQueue *);
+private:
+ static const jlong serialVersionUID = 5595510919245408276LL;
+ ::java::util::PriorityQueue * __attribute__((aligned(__alignof__( ::java::util::AbstractQueue)))) q;
+ ::java::util::concurrent::locks::ReentrantLock * lock;
+ ::java::util::concurrent::locks::Condition * notEmpty;
+public: // actually package-private
+ static jboolean $assertionsDisabled;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_PriorityBlockingQueue__
diff --git a/libjava/java/util/concurrent/RejectedExecutionException.h b/libjava/java/util/concurrent/RejectedExecutionException.h
new file mode 100644
index 000000000..4606d2d94
--- /dev/null
+++ b/libjava/java/util/concurrent/RejectedExecutionException.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_RejectedExecutionException__
+#define __java_util_concurrent_RejectedExecutionException__
+
+#pragma interface
+
+#include <java/lang/RuntimeException.h>
+
+class java::util::concurrent::RejectedExecutionException : public ::java::lang::RuntimeException
+{
+
+public:
+ RejectedExecutionException();
+ RejectedExecutionException(::java::lang::String *);
+ RejectedExecutionException(::java::lang::String *, ::java::lang::Throwable *);
+ RejectedExecutionException(::java::lang::Throwable *);
+private:
+ static const jlong serialVersionUID = -375805702767069545LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_RejectedExecutionException__
diff --git a/libjava/java/util/concurrent/RejectedExecutionHandler.h b/libjava/java/util/concurrent/RejectedExecutionHandler.h
new file mode 100644
index 000000000..8e1ac4f3f
--- /dev/null
+++ b/libjava/java/util/concurrent/RejectedExecutionHandler.h
@@ -0,0 +1,19 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_RejectedExecutionHandler__
+#define __java_util_concurrent_RejectedExecutionHandler__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::RejectedExecutionHandler : public ::java::lang::Object
+{
+
+public:
+ virtual void rejectedExecution(::java::lang::Runnable *, ::java::util::concurrent::ThreadPoolExecutor *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_concurrent_RejectedExecutionHandler__
diff --git a/libjava/java/util/concurrent/RunnableFuture.h b/libjava/java/util/concurrent/RunnableFuture.h
new file mode 100644
index 000000000..281dccc83
--- /dev/null
+++ b/libjava/java/util/concurrent/RunnableFuture.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_RunnableFuture__
+#define __java_util_concurrent_RunnableFuture__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::RunnableFuture : public ::java::lang::Object
+{
+
+public:
+ virtual void run() = 0;
+ virtual jboolean cancel(jboolean) = 0;
+ virtual jboolean isCancelled() = 0;
+ virtual jboolean isDone() = 0;
+ virtual ::java::lang::Object * get() = 0;
+ virtual ::java::lang::Object * get(jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_concurrent_RunnableFuture__
diff --git a/libjava/java/util/concurrent/RunnableScheduledFuture.h b/libjava/java/util/concurrent/RunnableScheduledFuture.h
new file mode 100644
index 000000000..0846d65c9
--- /dev/null
+++ b/libjava/java/util/concurrent/RunnableScheduledFuture.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_RunnableScheduledFuture__
+#define __java_util_concurrent_RunnableScheduledFuture__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::RunnableScheduledFuture : public ::java::lang::Object
+{
+
+public:
+ virtual jboolean isPeriodic() = 0;
+ virtual void run() = 0;
+ virtual jboolean cancel(jboolean) = 0;
+ virtual jboolean isCancelled() = 0;
+ virtual jboolean isDone() = 0;
+ virtual ::java::lang::Object * get() = 0;
+ virtual ::java::lang::Object * get(jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ virtual jlong getDelay(::java::util::concurrent::TimeUnit *) = 0;
+ virtual jint compareTo(::java::lang::Object *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_concurrent_RunnableScheduledFuture__
diff --git a/libjava/java/util/concurrent/ScheduledExecutorService.h b/libjava/java/util/concurrent/ScheduledExecutorService.h
new file mode 100644
index 000000000..9041e395b
--- /dev/null
+++ b/libjava/java/util/concurrent/ScheduledExecutorService.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ScheduledExecutorService__
+#define __java_util_concurrent_ScheduledExecutorService__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::ScheduledExecutorService : public ::java::lang::Object
+{
+
+public:
+ virtual ::java::util::concurrent::ScheduledFuture * schedule(::java::lang::Runnable *, jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ virtual ::java::util::concurrent::ScheduledFuture * schedule(::java::util::concurrent::Callable *, jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ virtual ::java::util::concurrent::ScheduledFuture * scheduleAtFixedRate(::java::lang::Runnable *, jlong, jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ virtual ::java::util::concurrent::ScheduledFuture * scheduleWithFixedDelay(::java::lang::Runnable *, jlong, jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ virtual void shutdown() = 0;
+ virtual ::java::util::List * shutdownNow() = 0;
+ virtual jboolean isShutdown() = 0;
+ virtual jboolean isTerminated() = 0;
+ virtual jboolean awaitTermination(jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ virtual ::java::util::concurrent::Future * submit(::java::util::concurrent::Callable *) = 0;
+ virtual ::java::util::concurrent::Future * submit(::java::lang::Runnable *, ::java::lang::Object *) = 0;
+ virtual ::java::util::concurrent::Future * submit(::java::lang::Runnable *) = 0;
+ virtual ::java::util::List * invokeAll(::java::util::Collection *) = 0;
+ virtual ::java::util::List * invokeAll(::java::util::Collection *, jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ virtual ::java::lang::Object * invokeAny(::java::util::Collection *) = 0;
+ virtual ::java::lang::Object * invokeAny(::java::util::Collection *, jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ virtual void execute(::java::lang::Runnable *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_concurrent_ScheduledExecutorService__
diff --git a/libjava/java/util/concurrent/ScheduledFuture.h b/libjava/java/util/concurrent/ScheduledFuture.h
new file mode 100644
index 000000000..4cbf3b0fb
--- /dev/null
+++ b/libjava/java/util/concurrent/ScheduledFuture.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ScheduledFuture__
+#define __java_util_concurrent_ScheduledFuture__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::ScheduledFuture : public ::java::lang::Object
+{
+
+public:
+ virtual jlong getDelay(::java::util::concurrent::TimeUnit *) = 0;
+ virtual jint compareTo(::java::lang::Object *) = 0;
+ virtual jboolean cancel(jboolean) = 0;
+ virtual jboolean isCancelled() = 0;
+ virtual jboolean isDone() = 0;
+ virtual ::java::lang::Object * get() = 0;
+ virtual ::java::lang::Object * get(jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_concurrent_ScheduledFuture__
diff --git a/libjava/java/util/concurrent/ScheduledThreadPoolExecutor$1.h b/libjava/java/util/concurrent/ScheduledThreadPoolExecutor$1.h
new file mode 100644
index 000000000..4991c96ca
--- /dev/null
+++ b/libjava/java/util/concurrent/ScheduledThreadPoolExecutor$1.h
@@ -0,0 +1,29 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ScheduledThreadPoolExecutor$1__
+#define __java_util_concurrent_ScheduledThreadPoolExecutor$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::ScheduledThreadPoolExecutor$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ ScheduledThreadPoolExecutor$1(::java::util::concurrent::ScheduledThreadPoolExecutor$DelayedWorkQueue *);
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Runnable * ScheduledThreadPoolExecutor$1$next();
+ virtual void remove();
+ virtual ::java::lang::Object * next();
+private:
+ ::java::util::Iterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) it;
+public: // actually package-private
+ ::java::util::concurrent::ScheduledThreadPoolExecutor$DelayedWorkQueue * this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ScheduledThreadPoolExecutor$1__
diff --git a/libjava/java/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue.h b/libjava/java/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue.h
new file mode 100644
index 000000000..26fac6254
--- /dev/null
+++ b/libjava/java/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ScheduledThreadPoolExecutor$DelayedWorkQueue__
+#define __java_util_concurrent_ScheduledThreadPoolExecutor$DelayedWorkQueue__
+
+#pragma interface
+
+#include <java/util/AbstractCollection.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::ScheduledThreadPoolExecutor$DelayedWorkQueue : public ::java::util::AbstractCollection
+{
+
+ ScheduledThreadPoolExecutor$DelayedWorkQueue();
+public:
+ virtual ::java::lang::Runnable * ScheduledThreadPoolExecutor$DelayedWorkQueue$poll();
+ virtual ::java::lang::Runnable * ScheduledThreadPoolExecutor$DelayedWorkQueue$peek();
+ virtual ::java::lang::Runnable * ScheduledThreadPoolExecutor$DelayedWorkQueue$take();
+ virtual ::java::lang::Runnable * ScheduledThreadPoolExecutor$DelayedWorkQueue$poll(jlong, ::java::util::concurrent::TimeUnit *);
+ virtual jboolean ScheduledThreadPoolExecutor$DelayedWorkQueue$add(::java::lang::Runnable *);
+ virtual jboolean ScheduledThreadPoolExecutor$DelayedWorkQueue$offer(::java::lang::Runnable *);
+ virtual void ScheduledThreadPoolExecutor$DelayedWorkQueue$put(::java::lang::Runnable *);
+ virtual jboolean ScheduledThreadPoolExecutor$DelayedWorkQueue$offer(::java::lang::Runnable *, jlong, ::java::util::concurrent::TimeUnit *);
+ virtual ::java::lang::Runnable * ScheduledThreadPoolExecutor$DelayedWorkQueue$remove();
+ virtual ::java::lang::Runnable * ScheduledThreadPoolExecutor$DelayedWorkQueue$element();
+ virtual void clear();
+ virtual jint drainTo(::java::util::Collection *);
+ virtual jint drainTo(::java::util::Collection *, jint);
+ virtual jint remainingCapacity();
+ virtual jboolean remove(::java::lang::Object *);
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jint size();
+ virtual jboolean isEmpty();
+ virtual JArray< ::java::lang::Object * > * toArray();
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
+ virtual ::java::util::Iterator * iterator();
+ virtual ::java::lang::Object * element();
+ virtual ::java::lang::Object * poll(jlong, ::java::util::concurrent::TimeUnit *);
+ virtual ::java::lang::Object * poll();
+ virtual ::java::lang::Object * take();
+ virtual jboolean offer(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *);
+ virtual jboolean offer(::java::lang::Object *);
+ virtual ::java::lang::Object * peek();
+ virtual jboolean add(::java::lang::Object *);
+ virtual ::java::lang::Object * remove();
+ virtual void put(::java::lang::Object *);
+public: // actually package-private
+ static ::java::util::concurrent::DelayQueue * access$10(::java::util::concurrent::ScheduledThreadPoolExecutor$DelayedWorkQueue *);
+ ScheduledThreadPoolExecutor$DelayedWorkQueue(::java::util::concurrent::ScheduledThreadPoolExecutor$DelayedWorkQueue *);
+private:
+ ::java::util::concurrent::DelayQueue * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) dq;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ScheduledThreadPoolExecutor$DelayedWorkQueue__
diff --git a/libjava/java/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask.h b/libjava/java/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask.h
new file mode 100644
index 000000000..ba9ad31a4
--- /dev/null
+++ b/libjava/java/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ScheduledThreadPoolExecutor$ScheduledFutureTask__
+#define __java_util_concurrent_ScheduledThreadPoolExecutor$ScheduledFutureTask__
+
+#pragma interface
+
+#include <java/util/concurrent/FutureTask.h>
+
+class java::util::concurrent::ScheduledThreadPoolExecutor$ScheduledFutureTask : public ::java::util::concurrent::FutureTask
+{
+
+public: // actually package-private
+ ScheduledThreadPoolExecutor$ScheduledFutureTask(::java::util::concurrent::ScheduledThreadPoolExecutor *, ::java::lang::Runnable *, ::java::lang::Object *, jlong);
+ ScheduledThreadPoolExecutor$ScheduledFutureTask(::java::util::concurrent::ScheduledThreadPoolExecutor *, ::java::lang::Runnable *, ::java::lang::Object *, jlong, jlong);
+ ScheduledThreadPoolExecutor$ScheduledFutureTask(::java::util::concurrent::ScheduledThreadPoolExecutor *, ::java::util::concurrent::Callable *, jlong);
+public:
+ virtual jlong getDelay(::java::util::concurrent::TimeUnit *);
+ virtual jint ScheduledThreadPoolExecutor$ScheduledFutureTask$compareTo(::java::util::concurrent::Delayed *);
+ virtual jboolean isPeriodic();
+private:
+ void runPeriodic();
+public:
+ virtual void run();
+ virtual jint compareTo(::java::lang::Object *);
+public: // actually package-private
+ static jboolean access$1(::java::util::concurrent::ScheduledThreadPoolExecutor$ScheduledFutureTask *);
+ static void access$2(::java::util::concurrent::ScheduledThreadPoolExecutor$ScheduledFutureTask *);
+private:
+ jlong __attribute__((aligned(__alignof__( ::java::util::concurrent::FutureTask)))) sequenceNumber;
+ jlong time;
+ jlong period;
+public: // actually package-private
+ ::java::util::concurrent::ScheduledThreadPoolExecutor * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ScheduledThreadPoolExecutor$ScheduledFutureTask__
diff --git a/libjava/java/util/concurrent/ScheduledThreadPoolExecutor.h b/libjava/java/util/concurrent/ScheduledThreadPoolExecutor.h
new file mode 100644
index 000000000..8e651b36a
--- /dev/null
+++ b/libjava/java/util/concurrent/ScheduledThreadPoolExecutor.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ScheduledThreadPoolExecutor__
+#define __java_util_concurrent_ScheduledThreadPoolExecutor__
+
+#pragma interface
+
+#include <java/util/concurrent/ThreadPoolExecutor.h>
+
+class java::util::concurrent::ScheduledThreadPoolExecutor : public ::java::util::concurrent::ThreadPoolExecutor
+{
+
+public: // actually package-private
+ virtual jlong now();
+private:
+ void delayedExecute(::java::lang::Runnable *);
+ void cancelUnwantedTasks();
+public:
+ virtual jboolean remove(::java::lang::Runnable *);
+public: // actually protected
+ virtual ::java::util::concurrent::RunnableScheduledFuture * decorateTask(::java::lang::Runnable *, ::java::util::concurrent::RunnableScheduledFuture *);
+ virtual ::java::util::concurrent::RunnableScheduledFuture * decorateTask(::java::util::concurrent::Callable *, ::java::util::concurrent::RunnableScheduledFuture *);
+public:
+ ScheduledThreadPoolExecutor(jint);
+ ScheduledThreadPoolExecutor(jint, ::java::util::concurrent::ThreadFactory *);
+ ScheduledThreadPoolExecutor(jint, ::java::util::concurrent::RejectedExecutionHandler *);
+ ScheduledThreadPoolExecutor(jint, ::java::util::concurrent::ThreadFactory *, ::java::util::concurrent::RejectedExecutionHandler *);
+ virtual ::java::util::concurrent::ScheduledFuture * schedule(::java::lang::Runnable *, jlong, ::java::util::concurrent::TimeUnit *);
+ virtual ::java::util::concurrent::ScheduledFuture * schedule(::java::util::concurrent::Callable *, jlong, ::java::util::concurrent::TimeUnit *);
+ virtual ::java::util::concurrent::ScheduledFuture * scheduleAtFixedRate(::java::lang::Runnable *, jlong, jlong, ::java::util::concurrent::TimeUnit *);
+ virtual ::java::util::concurrent::ScheduledFuture * scheduleWithFixedDelay(::java::lang::Runnable *, jlong, jlong, ::java::util::concurrent::TimeUnit *);
+ virtual void execute(::java::lang::Runnable *);
+ virtual ::java::util::concurrent::Future * submit(::java::lang::Runnable *);
+ virtual ::java::util::concurrent::Future * submit(::java::lang::Runnable *, ::java::lang::Object *);
+ virtual ::java::util::concurrent::Future * submit(::java::util::concurrent::Callable *);
+ virtual void setContinueExistingPeriodicTasksAfterShutdownPolicy(jboolean);
+ virtual jboolean getContinueExistingPeriodicTasksAfterShutdownPolicy();
+ virtual void setExecuteExistingDelayedTasksAfterShutdownPolicy(jboolean);
+ virtual jboolean getExecuteExistingDelayedTasksAfterShutdownPolicy();
+ virtual void shutdown();
+ virtual ::java::util::List * shutdownNow();
+ virtual ::java::util::concurrent::BlockingQueue * getQueue();
+public: // actually package-private
+ static ::java::util::concurrent::atomic::AtomicLong * access$0();
+ static ::java::util::concurrent::BlockingQueue * access$1(::java::util::concurrent::ScheduledThreadPoolExecutor *);
+private:
+ jboolean volatile __attribute__((aligned(__alignof__( ::java::util::concurrent::ThreadPoolExecutor)))) continueExistingPeriodicTasksAfterShutdown;
+ jboolean volatile executeExistingDelayedTasksAfterShutdown;
+ static ::java::util::concurrent::atomic::AtomicLong * sequencer;
+ static jlong NANO_ORIGIN;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ScheduledThreadPoolExecutor__
diff --git a/libjava/java/util/concurrent/Semaphore$FairSync.h b/libjava/java/util/concurrent/Semaphore$FairSync.h
new file mode 100644
index 000000000..ac323695b
--- /dev/null
+++ b/libjava/java/util/concurrent/Semaphore$FairSync.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Semaphore$FairSync__
+#define __java_util_concurrent_Semaphore$FairSync__
+
+#pragma interface
+
+#include <java/util/concurrent/Semaphore$Sync.h>
+
+class java::util::concurrent::Semaphore$FairSync : public ::java::util::concurrent::Semaphore$Sync
+{
+
+public: // actually package-private
+ Semaphore$FairSync(jint);
+public: // actually protected
+ jint tryAcquireShared(jint);
+private:
+ static const jlong serialVersionUID = 2014338818796000944LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_Semaphore$FairSync__
diff --git a/libjava/java/util/concurrent/Semaphore$NonfairSync.h b/libjava/java/util/concurrent/Semaphore$NonfairSync.h
new file mode 100644
index 000000000..2a03f1ac2
--- /dev/null
+++ b/libjava/java/util/concurrent/Semaphore$NonfairSync.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Semaphore$NonfairSync__
+#define __java_util_concurrent_Semaphore$NonfairSync__
+
+#pragma interface
+
+#include <java/util/concurrent/Semaphore$Sync.h>
+
+class java::util::concurrent::Semaphore$NonfairSync : public ::java::util::concurrent::Semaphore$Sync
+{
+
+public: // actually package-private
+ Semaphore$NonfairSync(jint);
+public: // actually protected
+ jint tryAcquireShared(jint);
+private:
+ static const jlong serialVersionUID = -2694183684443567898LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_Semaphore$NonfairSync__
diff --git a/libjava/java/util/concurrent/Semaphore$Sync.h b/libjava/java/util/concurrent/Semaphore$Sync.h
new file mode 100644
index 000000000..98464b2e5
--- /dev/null
+++ b/libjava/java/util/concurrent/Semaphore$Sync.h
@@ -0,0 +1,29 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Semaphore$Sync__
+#define __java_util_concurrent_Semaphore$Sync__
+
+#pragma interface
+
+#include <java/util/concurrent/locks/AbstractQueuedSynchronizer.h>
+
+class java::util::concurrent::Semaphore$Sync : public ::java::util::concurrent::locks::AbstractQueuedSynchronizer
+{
+
+public: // actually package-private
+ Semaphore$Sync(jint);
+ virtual jint getPermits();
+ virtual jint nonfairTryAcquireShared(jint);
+public: // actually protected
+ virtual jboolean tryReleaseShared(jint);
+public: // actually package-private
+ virtual void reducePermits(jint);
+ virtual jint drainPermits();
+private:
+ static const jlong serialVersionUID = 1192457210091910933LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_Semaphore$Sync__
diff --git a/libjava/java/util/concurrent/Semaphore.h b/libjava/java/util/concurrent/Semaphore.h
new file mode 100644
index 000000000..41755ddcd
--- /dev/null
+++ b/libjava/java/util/concurrent/Semaphore.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_Semaphore__
+#define __java_util_concurrent_Semaphore__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::Semaphore : public ::java::lang::Object
+{
+
+public:
+ Semaphore(jint);
+ Semaphore(jint, jboolean);
+ virtual void acquire();
+ virtual void acquireUninterruptibly();
+ virtual jboolean tryAcquire();
+ virtual jboolean tryAcquire(jlong, ::java::util::concurrent::TimeUnit *);
+ virtual void release();
+ virtual void acquire(jint);
+ virtual void acquireUninterruptibly(jint);
+ virtual jboolean tryAcquire(jint);
+ virtual jboolean tryAcquire(jint, jlong, ::java::util::concurrent::TimeUnit *);
+ virtual void release(jint);
+ virtual jint availablePermits();
+ virtual jint drainPermits();
+public: // actually protected
+ virtual void reducePermits(jint);
+public:
+ virtual jboolean isFair();
+ virtual jboolean hasQueuedThreads();
+ virtual jint getQueueLength();
+public: // actually protected
+ virtual ::java::util::Collection * getQueuedThreads();
+public:
+ virtual ::java::lang::String * toString();
+private:
+ static const jlong serialVersionUID = -3222578661600680210LL;
+ ::java::util::concurrent::Semaphore$Sync * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sync;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_Semaphore__
diff --git a/libjava/java/util/concurrent/SynchronousQueue$EmptyIterator.h b/libjava/java/util/concurrent/SynchronousQueue$EmptyIterator.h
new file mode 100644
index 000000000..793fb9a10
--- /dev/null
+++ b/libjava/java/util/concurrent/SynchronousQueue$EmptyIterator.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_SynchronousQueue$EmptyIterator__
+#define __java_util_concurrent_SynchronousQueue$EmptyIterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::SynchronousQueue$EmptyIterator : public ::java::lang::Object
+{
+
+public: // actually package-private
+ SynchronousQueue$EmptyIterator();
+public:
+ virtual jboolean hasNext();
+ virtual ::java::lang::Object * next();
+ virtual void remove();
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_SynchronousQueue$EmptyIterator__
diff --git a/libjava/java/util/concurrent/SynchronousQueue$FifoWaitQueue.h b/libjava/java/util/concurrent/SynchronousQueue$FifoWaitQueue.h
new file mode 100644
index 000000000..ba636900d
--- /dev/null
+++ b/libjava/java/util/concurrent/SynchronousQueue$FifoWaitQueue.h
@@ -0,0 +1,22 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_SynchronousQueue$FifoWaitQueue__
+#define __java_util_concurrent_SynchronousQueue$FifoWaitQueue__
+
+#pragma interface
+
+#include <java/util/concurrent/SynchronousQueue$WaitQueue.h>
+
+class java::util::concurrent::SynchronousQueue$FifoWaitQueue : public ::java::util::concurrent::SynchronousQueue$WaitQueue
+{
+
+public: // actually package-private
+ SynchronousQueue$FifoWaitQueue();
+private:
+ static const jlong serialVersionUID = -3623113410248163686LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_SynchronousQueue$FifoWaitQueue__
diff --git a/libjava/java/util/concurrent/SynchronousQueue$LifoWaitQueue.h b/libjava/java/util/concurrent/SynchronousQueue$LifoWaitQueue.h
new file mode 100644
index 000000000..dedfaca8c
--- /dev/null
+++ b/libjava/java/util/concurrent/SynchronousQueue$LifoWaitQueue.h
@@ -0,0 +1,22 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_SynchronousQueue$LifoWaitQueue__
+#define __java_util_concurrent_SynchronousQueue$LifoWaitQueue__
+
+#pragma interface
+
+#include <java/util/concurrent/SynchronousQueue$WaitQueue.h>
+
+class java::util::concurrent::SynchronousQueue$LifoWaitQueue : public ::java::util::concurrent::SynchronousQueue$WaitQueue
+{
+
+public: // actually package-private
+ SynchronousQueue$LifoWaitQueue();
+private:
+ static const jlong serialVersionUID = -3633113410248163686LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_SynchronousQueue$LifoWaitQueue__
diff --git a/libjava/java/util/concurrent/SynchronousQueue$TransferQueue$QNode.h b/libjava/java/util/concurrent/SynchronousQueue$TransferQueue$QNode.h
new file mode 100644
index 000000000..105c64e66
--- /dev/null
+++ b/libjava/java/util/concurrent/SynchronousQueue$TransferQueue$QNode.h
@@ -0,0 +1,31 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_SynchronousQueue$TransferQueue$QNode__
+#define __java_util_concurrent_SynchronousQueue$TransferQueue$QNode__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::SynchronousQueue$TransferQueue$QNode : public ::java::lang::Object
+{
+
+public: // actually package-private
+ SynchronousQueue$TransferQueue$QNode(::java::lang::Object *, jboolean);
+ jboolean casNext(::java::util::concurrent::SynchronousQueue$TransferQueue$QNode *, ::java::util::concurrent::SynchronousQueue$TransferQueue$QNode *);
+ jboolean casItem(::java::lang::Object *, ::java::lang::Object *);
+ void tryCancel(::java::lang::Object *);
+ jboolean isCancelled();
+ jboolean isOffList();
+ ::java::util::concurrent::SynchronousQueue$TransferQueue$QNode * volatile __attribute__((aligned(__alignof__( ::java::lang::Object)))) next;
+ ::java::lang::Object * volatile item;
+ ::java::lang::Thread * volatile waiter;
+ jboolean isData;
+ static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * nextUpdater;
+ static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * itemUpdater;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_SynchronousQueue$TransferQueue$QNode__
diff --git a/libjava/java/util/concurrent/SynchronousQueue$TransferQueue.h b/libjava/java/util/concurrent/SynchronousQueue$TransferQueue.h
new file mode 100644
index 000000000..921c36377
--- /dev/null
+++ b/libjava/java/util/concurrent/SynchronousQueue$TransferQueue.h
@@ -0,0 +1,32 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_SynchronousQueue$TransferQueue__
+#define __java_util_concurrent_SynchronousQueue$TransferQueue__
+
+#pragma interface
+
+#include <java/util/concurrent/SynchronousQueue$Transferer.h>
+
+class java::util::concurrent::SynchronousQueue$TransferQueue : public ::java::util::concurrent::SynchronousQueue$Transferer
+{
+
+public: // actually package-private
+ SynchronousQueue$TransferQueue();
+ void advanceHead(::java::util::concurrent::SynchronousQueue$TransferQueue$QNode *, ::java::util::concurrent::SynchronousQueue$TransferQueue$QNode *);
+ void advanceTail(::java::util::concurrent::SynchronousQueue$TransferQueue$QNode *, ::java::util::concurrent::SynchronousQueue$TransferQueue$QNode *);
+ jboolean casCleanMe(::java::util::concurrent::SynchronousQueue$TransferQueue$QNode *, ::java::util::concurrent::SynchronousQueue$TransferQueue$QNode *);
+ ::java::lang::Object * transfer(::java::lang::Object *, jboolean, jlong);
+ ::java::lang::Object * awaitFulfill(::java::util::concurrent::SynchronousQueue$TransferQueue$QNode *, ::java::lang::Object *, jboolean, jlong);
+ void clean(::java::util::concurrent::SynchronousQueue$TransferQueue$QNode *, ::java::util::concurrent::SynchronousQueue$TransferQueue$QNode *);
+ ::java::util::concurrent::SynchronousQueue$TransferQueue$QNode * volatile __attribute__((aligned(__alignof__( ::java::util::concurrent::SynchronousQueue$Transferer)))) head;
+ ::java::util::concurrent::SynchronousQueue$TransferQueue$QNode * volatile tail;
+ ::java::util::concurrent::SynchronousQueue$TransferQueue$QNode * volatile cleanMe;
+ static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * headUpdater;
+ static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * tailUpdater;
+ static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * cleanMeUpdater;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_SynchronousQueue$TransferQueue__
diff --git a/libjava/java/util/concurrent/SynchronousQueue$TransferStack$SNode.h b/libjava/java/util/concurrent/SynchronousQueue$TransferStack$SNode.h
new file mode 100644
index 000000000..48e22f2a6
--- /dev/null
+++ b/libjava/java/util/concurrent/SynchronousQueue$TransferStack$SNode.h
@@ -0,0 +1,31 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_SynchronousQueue$TransferStack$SNode__
+#define __java_util_concurrent_SynchronousQueue$TransferStack$SNode__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::SynchronousQueue$TransferStack$SNode : public ::java::lang::Object
+{
+
+public: // actually package-private
+ SynchronousQueue$TransferStack$SNode(::java::lang::Object *);
+ jboolean casNext(::java::util::concurrent::SynchronousQueue$TransferStack$SNode *, ::java::util::concurrent::SynchronousQueue$TransferStack$SNode *);
+ jboolean tryMatch(::java::util::concurrent::SynchronousQueue$TransferStack$SNode *);
+ void tryCancel();
+ jboolean isCancelled();
+ ::java::util::concurrent::SynchronousQueue$TransferStack$SNode * volatile __attribute__((aligned(__alignof__( ::java::lang::Object)))) next;
+ ::java::util::concurrent::SynchronousQueue$TransferStack$SNode * volatile match;
+ ::java::lang::Thread * volatile waiter;
+ ::java::lang::Object * item;
+ jint mode;
+ static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * nextUpdater;
+ static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * matchUpdater;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_SynchronousQueue$TransferStack$SNode__
diff --git a/libjava/java/util/concurrent/SynchronousQueue$TransferStack.h b/libjava/java/util/concurrent/SynchronousQueue$TransferStack.h
new file mode 100644
index 000000000..5722c419b
--- /dev/null
+++ b/libjava/java/util/concurrent/SynchronousQueue$TransferStack.h
@@ -0,0 +1,32 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_SynchronousQueue$TransferStack__
+#define __java_util_concurrent_SynchronousQueue$TransferStack__
+
+#pragma interface
+
+#include <java/util/concurrent/SynchronousQueue$Transferer.h>
+
+class java::util::concurrent::SynchronousQueue$TransferStack : public ::java::util::concurrent::SynchronousQueue$Transferer
+{
+
+public: // actually package-private
+ SynchronousQueue$TransferStack();
+ static jboolean isFulfilling(jint);
+ jboolean casHead(::java::util::concurrent::SynchronousQueue$TransferStack$SNode *, ::java::util::concurrent::SynchronousQueue$TransferStack$SNode *);
+ static ::java::util::concurrent::SynchronousQueue$TransferStack$SNode * snode(::java::util::concurrent::SynchronousQueue$TransferStack$SNode *, ::java::lang::Object *, ::java::util::concurrent::SynchronousQueue$TransferStack$SNode *, jint);
+ ::java::lang::Object * transfer(::java::lang::Object *, jboolean, jlong);
+ ::java::util::concurrent::SynchronousQueue$TransferStack$SNode * awaitFulfill(::java::util::concurrent::SynchronousQueue$TransferStack$SNode *, jboolean, jlong);
+ jboolean shouldSpin(::java::util::concurrent::SynchronousQueue$TransferStack$SNode *);
+ void clean(::java::util::concurrent::SynchronousQueue$TransferStack$SNode *);
+ static const jint REQUEST = 0;
+ static const jint DATA = 1;
+ static const jint FULFILLING = 2;
+ ::java::util::concurrent::SynchronousQueue$TransferStack$SNode * volatile __attribute__((aligned(__alignof__( ::java::util::concurrent::SynchronousQueue$Transferer)))) head;
+ static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * headUpdater;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_SynchronousQueue$TransferStack__
diff --git a/libjava/java/util/concurrent/SynchronousQueue$Transferer.h b/libjava/java/util/concurrent/SynchronousQueue$Transferer.h
new file mode 100644
index 000000000..1b135af58
--- /dev/null
+++ b/libjava/java/util/concurrent/SynchronousQueue$Transferer.h
@@ -0,0 +1,21 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_SynchronousQueue$Transferer__
+#define __java_util_concurrent_SynchronousQueue$Transferer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::SynchronousQueue$Transferer : public ::java::lang::Object
+{
+
+public: // actually package-private
+ SynchronousQueue$Transferer();
+ virtual ::java::lang::Object * transfer(::java::lang::Object *, jboolean, jlong) = 0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_SynchronousQueue$Transferer__
diff --git a/libjava/java/util/concurrent/SynchronousQueue$WaitQueue.h b/libjava/java/util/concurrent/SynchronousQueue$WaitQueue.h
new file mode 100644
index 000000000..36f384d32
--- /dev/null
+++ b/libjava/java/util/concurrent/SynchronousQueue$WaitQueue.h
@@ -0,0 +1,20 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_SynchronousQueue$WaitQueue__
+#define __java_util_concurrent_SynchronousQueue$WaitQueue__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::SynchronousQueue$WaitQueue : public ::java::lang::Object
+{
+
+public: // actually package-private
+ SynchronousQueue$WaitQueue();
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_SynchronousQueue$WaitQueue__
diff --git a/libjava/java/util/concurrent/SynchronousQueue.h b/libjava/java/util/concurrent/SynchronousQueue.h
new file mode 100644
index 000000000..7606ddcfe
--- /dev/null
+++ b/libjava/java/util/concurrent/SynchronousQueue.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_SynchronousQueue__
+#define __java_util_concurrent_SynchronousQueue__
+
+#pragma interface
+
+#include <java/util/AbstractQueue.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::SynchronousQueue : public ::java::util::AbstractQueue
+{
+
+public:
+ SynchronousQueue();
+ SynchronousQueue(jboolean);
+ virtual void put(::java::lang::Object *);
+ virtual jboolean offer(::java::lang::Object *, jlong, ::java::util::concurrent::TimeUnit *);
+ virtual jboolean offer(::java::lang::Object *);
+ virtual ::java::lang::Object * take();
+ virtual ::java::lang::Object * poll(jlong, ::java::util::concurrent::TimeUnit *);
+ virtual ::java::lang::Object * poll();
+ virtual jboolean isEmpty();
+ virtual jint size();
+ virtual jint remainingCapacity();
+ virtual void clear();
+ virtual jboolean contains(::java::lang::Object *);
+ virtual jboolean remove(::java::lang::Object *);
+ virtual jboolean containsAll(::java::util::Collection *);
+ virtual jboolean removeAll(::java::util::Collection *);
+ virtual jboolean retainAll(::java::util::Collection *);
+ virtual ::java::lang::Object * peek();
+ virtual ::java::util::Iterator * iterator();
+ virtual JArray< ::java::lang::Object * > * toArray();
+ virtual JArray< ::java::lang::Object * > * toArray(JArray< ::java::lang::Object * > *);
+ virtual jint drainTo(::java::util::Collection *);
+ virtual jint drainTo(::java::util::Collection *, jint);
+private:
+ void writeObject(::java::io::ObjectOutputStream *);
+ void readObject(::java::io::ObjectInputStream *);
+ static const jlong serialVersionUID = -3223113410248163686LL;
+public: // actually package-private
+ static jint NCPUS;
+ static jint maxTimedSpins;
+ static jint maxUntimedSpins;
+ static const jlong spinForTimeoutThreshold = 1000LL;
+private:
+ ::java::util::concurrent::SynchronousQueue$Transferer * volatile __attribute__((aligned(__alignof__( ::java::util::AbstractQueue)))) transferer;
+ ::java::util::concurrent::locks::ReentrantLock * qlock;
+ ::java::util::concurrent::SynchronousQueue$WaitQueue * waitingProducers;
+ ::java::util::concurrent::SynchronousQueue$WaitQueue * waitingConsumers;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_SynchronousQueue__
diff --git a/libjava/java/util/concurrent/ThreadFactory.h b/libjava/java/util/concurrent/ThreadFactory.h
new file mode 100644
index 000000000..c1037df60
--- /dev/null
+++ b/libjava/java/util/concurrent/ThreadFactory.h
@@ -0,0 +1,19 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ThreadFactory__
+#define __java_util_concurrent_ThreadFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::ThreadFactory : public ::java::lang::Object
+{
+
+public:
+ virtual ::java::lang::Thread * newThread(::java::lang::Runnable *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_concurrent_ThreadFactory__
diff --git a/libjava/java/util/concurrent/ThreadPoolExecutor$AbortPolicy.h b/libjava/java/util/concurrent/ThreadPoolExecutor$AbortPolicy.h
new file mode 100644
index 000000000..9f61c798b
--- /dev/null
+++ b/libjava/java/util/concurrent/ThreadPoolExecutor$AbortPolicy.h
@@ -0,0 +1,20 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ThreadPoolExecutor$AbortPolicy__
+#define __java_util_concurrent_ThreadPoolExecutor$AbortPolicy__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::ThreadPoolExecutor$AbortPolicy : public ::java::lang::Object
+{
+
+public:
+ ThreadPoolExecutor$AbortPolicy();
+ virtual void rejectedExecution(::java::lang::Runnable *, ::java::util::concurrent::ThreadPoolExecutor *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ThreadPoolExecutor$AbortPolicy__
diff --git a/libjava/java/util/concurrent/ThreadPoolExecutor$CallerRunsPolicy.h b/libjava/java/util/concurrent/ThreadPoolExecutor$CallerRunsPolicy.h
new file mode 100644
index 000000000..169a9c3b9
--- /dev/null
+++ b/libjava/java/util/concurrent/ThreadPoolExecutor$CallerRunsPolicy.h
@@ -0,0 +1,20 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ThreadPoolExecutor$CallerRunsPolicy__
+#define __java_util_concurrent_ThreadPoolExecutor$CallerRunsPolicy__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::ThreadPoolExecutor$CallerRunsPolicy : public ::java::lang::Object
+{
+
+public:
+ ThreadPoolExecutor$CallerRunsPolicy();
+ virtual void rejectedExecution(::java::lang::Runnable *, ::java::util::concurrent::ThreadPoolExecutor *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ThreadPoolExecutor$CallerRunsPolicy__
diff --git a/libjava/java/util/concurrent/ThreadPoolExecutor$DiscardOldestPolicy.h b/libjava/java/util/concurrent/ThreadPoolExecutor$DiscardOldestPolicy.h
new file mode 100644
index 000000000..77b8e0535
--- /dev/null
+++ b/libjava/java/util/concurrent/ThreadPoolExecutor$DiscardOldestPolicy.h
@@ -0,0 +1,20 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ThreadPoolExecutor$DiscardOldestPolicy__
+#define __java_util_concurrent_ThreadPoolExecutor$DiscardOldestPolicy__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::ThreadPoolExecutor$DiscardOldestPolicy : public ::java::lang::Object
+{
+
+public:
+ ThreadPoolExecutor$DiscardOldestPolicy();
+ virtual void rejectedExecution(::java::lang::Runnable *, ::java::util::concurrent::ThreadPoolExecutor *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ThreadPoolExecutor$DiscardOldestPolicy__
diff --git a/libjava/java/util/concurrent/ThreadPoolExecutor$DiscardPolicy.h b/libjava/java/util/concurrent/ThreadPoolExecutor$DiscardPolicy.h
new file mode 100644
index 000000000..771f828c6
--- /dev/null
+++ b/libjava/java/util/concurrent/ThreadPoolExecutor$DiscardPolicy.h
@@ -0,0 +1,20 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ThreadPoolExecutor$DiscardPolicy__
+#define __java_util_concurrent_ThreadPoolExecutor$DiscardPolicy__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::ThreadPoolExecutor$DiscardPolicy : public ::java::lang::Object
+{
+
+public:
+ ThreadPoolExecutor$DiscardPolicy();
+ virtual void rejectedExecution(::java::lang::Runnable *, ::java::util::concurrent::ThreadPoolExecutor *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ThreadPoolExecutor$DiscardPolicy__
diff --git a/libjava/java/util/concurrent/ThreadPoolExecutor$Worker.h b/libjava/java/util/concurrent/ThreadPoolExecutor$Worker.h
new file mode 100644
index 000000000..a1b5dc3fe
--- /dev/null
+++ b/libjava/java/util/concurrent/ThreadPoolExecutor$Worker.h
@@ -0,0 +1,34 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ThreadPoolExecutor$Worker__
+#define __java_util_concurrent_ThreadPoolExecutor$Worker__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::ThreadPoolExecutor$Worker : public ::java::lang::Object
+{
+
+public: // actually package-private
+ ThreadPoolExecutor$Worker(::java::util::concurrent::ThreadPoolExecutor *, ::java::lang::Runnable *);
+ virtual jboolean isActive();
+ virtual void interruptIfIdle();
+ virtual void interruptNow();
+private:
+ void runTask(::java::lang::Runnable *);
+public:
+ virtual void run();
+private:
+ ::java::util::concurrent::locks::ReentrantLock * __attribute__((aligned(__alignof__( ::java::lang::Object)))) runLock;
+ ::java::lang::Runnable * firstTask;
+public: // actually package-private
+ jlong volatile completedTasks;
+ ::java::lang::Thread * thread;
+ ::java::util::concurrent::ThreadPoolExecutor * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ThreadPoolExecutor$Worker__
diff --git a/libjava/java/util/concurrent/ThreadPoolExecutor.h b/libjava/java/util/concurrent/ThreadPoolExecutor.h
new file mode 100644
index 000000000..b69b1f655
--- /dev/null
+++ b/libjava/java/util/concurrent/ThreadPoolExecutor.h
@@ -0,0 +1,97 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_ThreadPoolExecutor__
+#define __java_util_concurrent_ThreadPoolExecutor__
+
+#pragma interface
+
+#include <java/util/concurrent/AbstractExecutorService.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::ThreadPoolExecutor : public ::java::util::concurrent::AbstractExecutorService
+{
+
+public: // actually package-private
+ virtual void reject(::java::lang::Runnable *);
+private:
+ ::java::lang::Thread * addThread(::java::lang::Runnable *);
+ jboolean addIfUnderCorePoolSize(::java::lang::Runnable *);
+ jint addIfUnderMaximumPoolSize(::java::lang::Runnable *);
+public: // actually package-private
+ virtual ::java::lang::Runnable * getTask();
+ virtual void interruptIdleWorkers();
+ virtual void workerDone(::java::util::concurrent::ThreadPoolExecutor$Worker *);
+public:
+ ThreadPoolExecutor(jint, jint, jlong, ::java::util::concurrent::TimeUnit *, ::java::util::concurrent::BlockingQueue *);
+ ThreadPoolExecutor(jint, jint, jlong, ::java::util::concurrent::TimeUnit *, ::java::util::concurrent::BlockingQueue *, ::java::util::concurrent::ThreadFactory *);
+ ThreadPoolExecutor(jint, jint, jlong, ::java::util::concurrent::TimeUnit *, ::java::util::concurrent::BlockingQueue *, ::java::util::concurrent::RejectedExecutionHandler *);
+ ThreadPoolExecutor(jint, jint, jlong, ::java::util::concurrent::TimeUnit *, ::java::util::concurrent::BlockingQueue *, ::java::util::concurrent::ThreadFactory *, ::java::util::concurrent::RejectedExecutionHandler *);
+ virtual void execute(::java::lang::Runnable *);
+ virtual void shutdown();
+ virtual ::java::util::List * shutdownNow();
+ virtual jboolean isShutdown();
+ virtual jboolean isTerminating();
+ virtual jboolean isTerminated();
+ virtual jboolean awaitTermination(jlong, ::java::util::concurrent::TimeUnit *);
+public: // actually protected
+ virtual void finalize();
+public:
+ virtual void setThreadFactory(::java::util::concurrent::ThreadFactory *);
+ virtual ::java::util::concurrent::ThreadFactory * getThreadFactory();
+ virtual void setRejectedExecutionHandler(::java::util::concurrent::RejectedExecutionHandler *);
+ virtual ::java::util::concurrent::RejectedExecutionHandler * getRejectedExecutionHandler();
+ virtual ::java::util::concurrent::BlockingQueue * getQueue();
+ virtual jboolean remove(::java::lang::Runnable *);
+ virtual void purge();
+ virtual void setCorePoolSize(jint);
+ virtual jint getCorePoolSize();
+ virtual jboolean prestartCoreThread();
+ virtual jint prestartAllCoreThreads();
+ virtual jboolean allowsCoreThreadTimeOut();
+ virtual void allowCoreThreadTimeOut(jboolean);
+ virtual void setMaximumPoolSize(jint);
+ virtual jint getMaximumPoolSize();
+ virtual void setKeepAliveTime(jlong, ::java::util::concurrent::TimeUnit *);
+ virtual jlong getKeepAliveTime(::java::util::concurrent::TimeUnit *);
+ virtual jint getPoolSize();
+ virtual jint getActiveCount();
+ virtual jint getLargestPoolSize();
+ virtual jlong getTaskCount();
+ virtual jlong getCompletedTaskCount();
+public: // actually protected
+ virtual void beforeExecute(::java::lang::Thread *, ::java::lang::Runnable *);
+ virtual void afterExecute(::java::lang::Runnable *, ::java::lang::Throwable *);
+ virtual void terminated();
+private:
+ static JArray< ::java::lang::Runnable * > * EMPTY_RUNNABLE_ARRAY;
+ static ::java::lang::RuntimePermission * shutdownPerm;
+ ::java::util::concurrent::BlockingQueue * __attribute__((aligned(__alignof__( ::java::util::concurrent::AbstractExecutorService)))) workQueue;
+ ::java::util::concurrent::locks::ReentrantLock * mainLock;
+ ::java::util::concurrent::locks::Condition * termination;
+ ::java::util::HashSet * workers;
+ jlong volatile keepAliveTime;
+ jboolean volatile allowCoreThreadTimeOut__;
+ jint volatile corePoolSize;
+ jint volatile maximumPoolSize;
+ jint volatile poolSize;
+public: // actually package-private
+ jint volatile runState;
+ static const jint RUNNING = 0;
+ static const jint SHUTDOWN = 1;
+ static const jint STOP = 2;
+ static const jint TERMINATED = 3;
+private:
+ ::java::util::concurrent::RejectedExecutionHandler * volatile handler;
+ ::java::util::concurrent::ThreadFactory * volatile threadFactory;
+ jint largestPoolSize;
+ jlong completedTaskCount;
+ static ::java::util::concurrent::RejectedExecutionHandler * defaultHandler;
+public: // actually package-private
+ static jboolean $assertionsDisabled;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_ThreadPoolExecutor__
diff --git a/libjava/java/util/concurrent/TimeUnit$1.h b/libjava/java/util/concurrent/TimeUnit$1.h
new file mode 100644
index 000000000..8d3121d2e
--- /dev/null
+++ b/libjava/java/util/concurrent/TimeUnit$1.h
@@ -0,0 +1,31 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_TimeUnit$1__
+#define __java_util_concurrent_TimeUnit$1__
+
+#pragma interface
+
+#include <java/util/concurrent/TimeUnit.h>
+
+class java::util::concurrent::TimeUnit$1 : public ::java::util::concurrent::TimeUnit
+{
+
+public: // actually package-private
+ TimeUnit$1(::java::lang::String *, jint);
+public:
+ virtual jlong toNanos(jlong);
+ virtual jlong toMicros(jlong);
+ virtual jlong toMillis(jlong);
+ virtual jlong toSeconds(jlong);
+ virtual jlong toMinutes(jlong);
+ virtual jlong toHours(jlong);
+ virtual jlong toDays(jlong);
+ virtual jlong convert(jlong, ::java::util::concurrent::TimeUnit *);
+public: // actually package-private
+ virtual jint excessNanos(jlong, jlong);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_TimeUnit$1__
diff --git a/libjava/java/util/concurrent/TimeUnit$2.h b/libjava/java/util/concurrent/TimeUnit$2.h
new file mode 100644
index 000000000..dff67ed15
--- /dev/null
+++ b/libjava/java/util/concurrent/TimeUnit$2.h
@@ -0,0 +1,31 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_TimeUnit$2__
+#define __java_util_concurrent_TimeUnit$2__
+
+#pragma interface
+
+#include <java/util/concurrent/TimeUnit.h>
+
+class java::util::concurrent::TimeUnit$2 : public ::java::util::concurrent::TimeUnit
+{
+
+public: // actually package-private
+ TimeUnit$2(::java::lang::String *, jint);
+public:
+ virtual jlong toNanos(jlong);
+ virtual jlong toMicros(jlong);
+ virtual jlong toMillis(jlong);
+ virtual jlong toSeconds(jlong);
+ virtual jlong toMinutes(jlong);
+ virtual jlong toHours(jlong);
+ virtual jlong toDays(jlong);
+ virtual jlong convert(jlong, ::java::util::concurrent::TimeUnit *);
+public: // actually package-private
+ virtual jint excessNanos(jlong, jlong);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_TimeUnit$2__
diff --git a/libjava/java/util/concurrent/TimeUnit$3.h b/libjava/java/util/concurrent/TimeUnit$3.h
new file mode 100644
index 000000000..f587ef899
--- /dev/null
+++ b/libjava/java/util/concurrent/TimeUnit$3.h
@@ -0,0 +1,31 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_TimeUnit$3__
+#define __java_util_concurrent_TimeUnit$3__
+
+#pragma interface
+
+#include <java/util/concurrent/TimeUnit.h>
+
+class java::util::concurrent::TimeUnit$3 : public ::java::util::concurrent::TimeUnit
+{
+
+public: // actually package-private
+ TimeUnit$3(::java::lang::String *, jint);
+public:
+ virtual jlong toNanos(jlong);
+ virtual jlong toMicros(jlong);
+ virtual jlong toMillis(jlong);
+ virtual jlong toSeconds(jlong);
+ virtual jlong toMinutes(jlong);
+ virtual jlong toHours(jlong);
+ virtual jlong toDays(jlong);
+ virtual jlong convert(jlong, ::java::util::concurrent::TimeUnit *);
+public: // actually package-private
+ virtual jint excessNanos(jlong, jlong);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_TimeUnit$3__
diff --git a/libjava/java/util/concurrent/TimeUnit$4.h b/libjava/java/util/concurrent/TimeUnit$4.h
new file mode 100644
index 000000000..9a3bf8e2a
--- /dev/null
+++ b/libjava/java/util/concurrent/TimeUnit$4.h
@@ -0,0 +1,31 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_TimeUnit$4__
+#define __java_util_concurrent_TimeUnit$4__
+
+#pragma interface
+
+#include <java/util/concurrent/TimeUnit.h>
+
+class java::util::concurrent::TimeUnit$4 : public ::java::util::concurrent::TimeUnit
+{
+
+public: // actually package-private
+ TimeUnit$4(::java::lang::String *, jint);
+public:
+ virtual jlong toNanos(jlong);
+ virtual jlong toMicros(jlong);
+ virtual jlong toMillis(jlong);
+ virtual jlong toSeconds(jlong);
+ virtual jlong toMinutes(jlong);
+ virtual jlong toHours(jlong);
+ virtual jlong toDays(jlong);
+ virtual jlong convert(jlong, ::java::util::concurrent::TimeUnit *);
+public: // actually package-private
+ virtual jint excessNanos(jlong, jlong);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_TimeUnit$4__
diff --git a/libjava/java/util/concurrent/TimeUnit$5.h b/libjava/java/util/concurrent/TimeUnit$5.h
new file mode 100644
index 000000000..342b88eaf
--- /dev/null
+++ b/libjava/java/util/concurrent/TimeUnit$5.h
@@ -0,0 +1,31 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_TimeUnit$5__
+#define __java_util_concurrent_TimeUnit$5__
+
+#pragma interface
+
+#include <java/util/concurrent/TimeUnit.h>
+
+class java::util::concurrent::TimeUnit$5 : public ::java::util::concurrent::TimeUnit
+{
+
+public: // actually package-private
+ TimeUnit$5(::java::lang::String *, jint);
+public:
+ virtual jlong toNanos(jlong);
+ virtual jlong toMicros(jlong);
+ virtual jlong toMillis(jlong);
+ virtual jlong toSeconds(jlong);
+ virtual jlong toMinutes(jlong);
+ virtual jlong toHours(jlong);
+ virtual jlong toDays(jlong);
+ virtual jlong convert(jlong, ::java::util::concurrent::TimeUnit *);
+public: // actually package-private
+ virtual jint excessNanos(jlong, jlong);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_TimeUnit$5__
diff --git a/libjava/java/util/concurrent/TimeUnit$6.h b/libjava/java/util/concurrent/TimeUnit$6.h
new file mode 100644
index 000000000..3fad9aa60
--- /dev/null
+++ b/libjava/java/util/concurrent/TimeUnit$6.h
@@ -0,0 +1,31 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_TimeUnit$6__
+#define __java_util_concurrent_TimeUnit$6__
+
+#pragma interface
+
+#include <java/util/concurrent/TimeUnit.h>
+
+class java::util::concurrent::TimeUnit$6 : public ::java::util::concurrent::TimeUnit
+{
+
+public: // actually package-private
+ TimeUnit$6(::java::lang::String *, jint);
+public:
+ virtual jlong toNanos(jlong);
+ virtual jlong toMicros(jlong);
+ virtual jlong toMillis(jlong);
+ virtual jlong toSeconds(jlong);
+ virtual jlong toMinutes(jlong);
+ virtual jlong toHours(jlong);
+ virtual jlong toDays(jlong);
+ virtual jlong convert(jlong, ::java::util::concurrent::TimeUnit *);
+public: // actually package-private
+ virtual jint excessNanos(jlong, jlong);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_TimeUnit$6__
diff --git a/libjava/java/util/concurrent/TimeUnit$7.h b/libjava/java/util/concurrent/TimeUnit$7.h
new file mode 100644
index 000000000..8fc3ec0b4
--- /dev/null
+++ b/libjava/java/util/concurrent/TimeUnit$7.h
@@ -0,0 +1,31 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_TimeUnit$7__
+#define __java_util_concurrent_TimeUnit$7__
+
+#pragma interface
+
+#include <java/util/concurrent/TimeUnit.h>
+
+class java::util::concurrent::TimeUnit$7 : public ::java::util::concurrent::TimeUnit
+{
+
+public: // actually package-private
+ TimeUnit$7(::java::lang::String *, jint);
+public:
+ virtual jlong toNanos(jlong);
+ virtual jlong toMicros(jlong);
+ virtual jlong toMillis(jlong);
+ virtual jlong toSeconds(jlong);
+ virtual jlong toMinutes(jlong);
+ virtual jlong toHours(jlong);
+ virtual jlong toDays(jlong);
+ virtual jlong convert(jlong, ::java::util::concurrent::TimeUnit *);
+public: // actually package-private
+ virtual jint excessNanos(jlong, jlong);
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_TimeUnit$7__
diff --git a/libjava/java/util/concurrent/TimeUnit.h b/libjava/java/util/concurrent/TimeUnit.h
new file mode 100644
index 000000000..fa6d497f6
--- /dev/null
+++ b/libjava/java/util/concurrent/TimeUnit.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_TimeUnit__
+#define __java_util_concurrent_TimeUnit__
+
+#pragma interface
+
+#include <java/lang/Enum.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::TimeUnit : public ::java::lang::Enum
+{
+
+ TimeUnit(::java::lang::String *, jint);
+public: // actually package-private
+ static jlong x(jlong, jlong, jlong);
+public:
+ virtual jlong convert(jlong, ::java::util::concurrent::TimeUnit *);
+ virtual jlong toNanos(jlong);
+ virtual jlong toMicros(jlong);
+ virtual jlong toMillis(jlong);
+ virtual jlong toSeconds(jlong);
+ virtual jlong toMinutes(jlong);
+ virtual jlong toHours(jlong);
+ virtual jlong toDays(jlong);
+public: // actually package-private
+ virtual jint excessNanos(jlong, jlong) = 0;
+public:
+ virtual void timedWait(::java::lang::Object *, jlong);
+ virtual void timedJoin(::java::lang::Thread *, jlong);
+ virtual void sleep(jlong);
+ static JArray< ::java::util::concurrent::TimeUnit * > * values();
+ static ::java::util::concurrent::TimeUnit * valueOf(::java::lang::String *);
+public: // actually package-private
+ TimeUnit(::java::lang::String *, jint, ::java::util::concurrent::TimeUnit *);
+public:
+ static ::java::util::concurrent::TimeUnit * NANOSECONDS;
+ static ::java::util::concurrent::TimeUnit * MICROSECONDS;
+ static ::java::util::concurrent::TimeUnit * MILLISECONDS;
+ static ::java::util::concurrent::TimeUnit * SECONDS;
+ static ::java::util::concurrent::TimeUnit * MINUTES;
+ static ::java::util::concurrent::TimeUnit * HOURS;
+ static ::java::util::concurrent::TimeUnit * DAYS;
+public: // actually package-private
+ static const jlong C0 = 1LL;
+ static const jlong C1 = 1000LL;
+ static const jlong C2 = 1000000LL;
+ static const jlong C3 = 1000000000LL;
+ static const jlong C4 = 60000000000LL;
+ static const jlong C5 = 3600000000000LL;
+ static const jlong C6 = 86400000000000LL;
+ static const jlong MAX = 9223372036854775807LL;
+private:
+ static JArray< ::java::util::concurrent::TimeUnit * > * ENUM$VALUES;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_TimeUnit__
diff --git a/libjava/java/util/concurrent/TimeoutException.h b/libjava/java/util/concurrent/TimeoutException.h
new file mode 100644
index 000000000..6ce42b180
--- /dev/null
+++ b/libjava/java/util/concurrent/TimeoutException.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_TimeoutException__
+#define __java_util_concurrent_TimeoutException__
+
+#pragma interface
+
+#include <java/lang/Exception.h>
+
+class java::util::concurrent::TimeoutException : public ::java::lang::Exception
+{
+
+public:
+ TimeoutException();
+ TimeoutException(::java::lang::String *);
+private:
+ static const jlong serialVersionUID = 1900926677490660714LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_TimeoutException__
diff --git a/libjava/java/util/concurrent/atomic/AtomicBoolean.h b/libjava/java/util/concurrent/atomic/AtomicBoolean.h
new file mode 100644
index 000000000..60d22a952
--- /dev/null
+++ b/libjava/java/util/concurrent/atomic/AtomicBoolean.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_atomic_AtomicBoolean__
+#define __java_util_concurrent_atomic_AtomicBoolean__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace sun
+ {
+ namespace misc
+ {
+ class Unsafe;
+ }
+ }
+}
+
+class java::util::concurrent::atomic::AtomicBoolean : public ::java::lang::Object
+{
+
+public:
+ AtomicBoolean(jboolean);
+ AtomicBoolean();
+ virtual jboolean get();
+ virtual jboolean compareAndSet(jboolean, jboolean);
+ virtual jboolean weakCompareAndSet(jboolean, jboolean);
+ virtual void set(jboolean);
+ virtual void lazySet(jboolean);
+ virtual jboolean getAndSet(jboolean);
+ virtual ::java::lang::String * toString();
+private:
+ static const jlong serialVersionUID = 4654671469794556979LL;
+ static ::sun::misc::Unsafe * unsafe;
+ static jlong valueOffset;
+ jint volatile __attribute__((aligned(__alignof__( ::java::lang::Object)))) value;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_atomic_AtomicBoolean__
diff --git a/libjava/java/util/concurrent/atomic/AtomicInteger.h b/libjava/java/util/concurrent/atomic/AtomicInteger.h
new file mode 100644
index 000000000..136a578b5
--- /dev/null
+++ b/libjava/java/util/concurrent/atomic/AtomicInteger.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_atomic_AtomicInteger__
+#define __java_util_concurrent_atomic_AtomicInteger__
+
+#pragma interface
+
+#include <java/lang/Number.h>
+extern "Java"
+{
+ namespace sun
+ {
+ namespace misc
+ {
+ class Unsafe;
+ }
+ }
+}
+
+class java::util::concurrent::atomic::AtomicInteger : public ::java::lang::Number
+{
+
+public:
+ AtomicInteger(jint);
+ AtomicInteger();
+ virtual jint get();
+ virtual void set(jint);
+ virtual void lazySet(jint);
+ virtual jint getAndSet(jint);
+ virtual jboolean compareAndSet(jint, jint);
+ virtual jboolean weakCompareAndSet(jint, jint);
+ virtual jint getAndIncrement();
+ virtual jint getAndDecrement();
+ virtual jint getAndAdd(jint);
+ virtual jint incrementAndGet();
+ virtual jint decrementAndGet();
+ virtual jint addAndGet(jint);
+ virtual ::java::lang::String * toString();
+ virtual jint intValue();
+ virtual jlong longValue();
+ virtual jfloat floatValue();
+ virtual jdouble doubleValue();
+private:
+ static const jlong serialVersionUID = 6214790243416807050LL;
+ static ::sun::misc::Unsafe * unsafe;
+ static jlong valueOffset;
+ jint volatile __attribute__((aligned(__alignof__( ::java::lang::Number)))) value;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_atomic_AtomicInteger__
diff --git a/libjava/java/util/concurrent/atomic/AtomicIntegerArray.h b/libjava/java/util/concurrent/atomic/AtomicIntegerArray.h
new file mode 100644
index 000000000..f8db2173f
--- /dev/null
+++ b/libjava/java/util/concurrent/atomic/AtomicIntegerArray.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_atomic_AtomicIntegerArray__
+#define __java_util_concurrent_atomic_AtomicIntegerArray__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace sun
+ {
+ namespace misc
+ {
+ class Unsafe;
+ }
+ }
+}
+
+class java::util::concurrent::atomic::AtomicIntegerArray : public ::java::lang::Object
+{
+
+ jlong rawIndex(jint);
+public:
+ AtomicIntegerArray(jint);
+ AtomicIntegerArray(JArray< jint > *);
+ virtual jint length();
+ virtual jint get(jint);
+ virtual void set(jint, jint);
+ virtual void lazySet(jint, jint);
+ virtual jint getAndSet(jint, jint);
+ virtual jboolean compareAndSet(jint, jint, jint);
+ virtual jboolean weakCompareAndSet(jint, jint, jint);
+ virtual jint getAndIncrement(jint);
+ virtual jint getAndDecrement(jint);
+ virtual jint getAndAdd(jint, jint);
+ virtual jint incrementAndGet(jint);
+ virtual jint decrementAndGet(jint);
+ virtual jint addAndGet(jint, jint);
+ virtual ::java::lang::String * toString();
+private:
+ static const jlong serialVersionUID = 2862133569453604235LL;
+ static ::sun::misc::Unsafe * unsafe;
+ static jint base;
+ static jint scale;
+ JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) array;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_atomic_AtomicIntegerArray__
diff --git a/libjava/java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.h b/libjava/java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.h
new file mode 100644
index 000000000..ba2b7a5dc
--- /dev/null
+++ b/libjava/java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_atomic_AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl__
+#define __java_util_concurrent_atomic_AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl__
+
+#pragma interface
+
+#include <java/util/concurrent/atomic/AtomicIntegerFieldUpdater.h>
+extern "Java"
+{
+ namespace sun
+ {
+ namespace misc
+ {
+ class Unsafe;
+ }
+ }
+}
+
+class java::util::concurrent::atomic::AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl : public ::java::util::concurrent::atomic::AtomicIntegerFieldUpdater
+{
+
+public: // actually package-private
+ AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl(::java::lang::Class *, ::java::lang::String *);
+private:
+ void fullCheck(::java::lang::Object *);
+public:
+ virtual jboolean compareAndSet(::java::lang::Object *, jint, jint);
+ virtual jboolean weakCompareAndSet(::java::lang::Object *, jint, jint);
+ virtual void set(::java::lang::Object *, jint);
+ virtual void lazySet(::java::lang::Object *, jint);
+ virtual jint get(::java::lang::Object *);
+private:
+ void ensureProtectedAccess(::java::lang::Object *);
+ static ::sun::misc::Unsafe * unsafe;
+ jlong __attribute__((aligned(__alignof__( ::java::util::concurrent::atomic::AtomicIntegerFieldUpdater)))) offset;
+ ::java::lang::Class * tclass;
+ ::java::lang::Class * cclass;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_atomic_AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl__
diff --git a/libjava/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.h b/libjava/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.h
new file mode 100644
index 000000000..e72055006
--- /dev/null
+++ b/libjava/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.h
@@ -0,0 +1,34 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_atomic_AtomicIntegerFieldUpdater__
+#define __java_util_concurrent_atomic_AtomicIntegerFieldUpdater__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::atomic::AtomicIntegerFieldUpdater : public ::java::lang::Object
+{
+
+public:
+ static ::java::util::concurrent::atomic::AtomicIntegerFieldUpdater * newUpdater(::java::lang::Class *, ::java::lang::String *);
+public: // actually protected
+ AtomicIntegerFieldUpdater();
+public:
+ virtual jboolean compareAndSet(::java::lang::Object *, jint, jint) = 0;
+ virtual jboolean weakCompareAndSet(::java::lang::Object *, jint, jint) = 0;
+ virtual void set(::java::lang::Object *, jint) = 0;
+ virtual void lazySet(::java::lang::Object *, jint) = 0;
+ virtual jint get(::java::lang::Object *) = 0;
+ virtual jint getAndSet(::java::lang::Object *, jint);
+ virtual jint getAndIncrement(::java::lang::Object *);
+ virtual jint getAndDecrement(::java::lang::Object *);
+ virtual jint getAndAdd(::java::lang::Object *, jint);
+ virtual jint incrementAndGet(::java::lang::Object *);
+ virtual jint decrementAndGet(::java::lang::Object *);
+ virtual jint addAndGet(::java::lang::Object *, jint);
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_atomic_AtomicIntegerFieldUpdater__
diff --git a/libjava/java/util/concurrent/atomic/AtomicLong.h b/libjava/java/util/concurrent/atomic/AtomicLong.h
new file mode 100644
index 000000000..0d0c3b00f
--- /dev/null
+++ b/libjava/java/util/concurrent/atomic/AtomicLong.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_atomic_AtomicLong__
+#define __java_util_concurrent_atomic_AtomicLong__
+
+#pragma interface
+
+#include <java/lang/Number.h>
+extern "Java"
+{
+ namespace sun
+ {
+ namespace misc
+ {
+ class Unsafe;
+ }
+ }
+}
+
+class java::util::concurrent::atomic::AtomicLong : public ::java::lang::Number
+{
+
+ static jboolean VMSupportsCS8();
+public:
+ AtomicLong(jlong);
+ AtomicLong();
+ virtual jlong get();
+ virtual void set(jlong);
+ virtual void lazySet(jlong);
+ virtual jlong getAndSet(jlong);
+ virtual jboolean compareAndSet(jlong, jlong);
+ virtual jboolean weakCompareAndSet(jlong, jlong);
+ virtual jlong getAndIncrement();
+ virtual jlong getAndDecrement();
+ virtual jlong getAndAdd(jlong);
+ virtual jlong incrementAndGet();
+ virtual jlong decrementAndGet();
+ virtual jlong addAndGet(jlong);
+ virtual ::java::lang::String * toString();
+ virtual jint intValue();
+ virtual jlong longValue();
+ virtual jfloat floatValue();
+ virtual jdouble doubleValue();
+private:
+ static const jlong serialVersionUID = 1927816293512124184LL;
+ static ::sun::misc::Unsafe * unsafe;
+ static jlong valueOffset;
+public: // actually package-private
+ static jboolean VM_SUPPORTS_LONG_CAS;
+private:
+ jlong volatile __attribute__((aligned(__alignof__( ::java::lang::Number)))) value;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_atomic_AtomicLong__
diff --git a/libjava/java/util/concurrent/atomic/AtomicLongArray.h b/libjava/java/util/concurrent/atomic/AtomicLongArray.h
new file mode 100644
index 000000000..797c60943
--- /dev/null
+++ b/libjava/java/util/concurrent/atomic/AtomicLongArray.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_atomic_AtomicLongArray__
+#define __java_util_concurrent_atomic_AtomicLongArray__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace sun
+ {
+ namespace misc
+ {
+ class Unsafe;
+ }
+ }
+}
+
+class java::util::concurrent::atomic::AtomicLongArray : public ::java::lang::Object
+{
+
+ jlong rawIndex(jint);
+public:
+ AtomicLongArray(jint);
+ AtomicLongArray(JArray< jlong > *);
+ virtual jint length();
+ virtual jlong get(jint);
+ virtual void set(jint, jlong);
+ virtual void lazySet(jint, jlong);
+ virtual jlong getAndSet(jint, jlong);
+ virtual jboolean compareAndSet(jint, jlong, jlong);
+ virtual jboolean weakCompareAndSet(jint, jlong, jlong);
+ virtual jlong getAndIncrement(jint);
+ virtual jlong getAndDecrement(jint);
+ virtual jlong getAndAdd(jint, jlong);
+ virtual jlong incrementAndGet(jint);
+ virtual jlong decrementAndGet(jint);
+ virtual jlong addAndGet(jint, jlong);
+ virtual ::java::lang::String * toString();
+private:
+ static const jlong serialVersionUID = -2308431214976778248LL;
+ static ::sun::misc::Unsafe * unsafe;
+ static jint base;
+ static jint scale;
+ JArray< jlong > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) array;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_atomic_AtomicLongArray__
diff --git a/libjava/java/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater.h b/libjava/java/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater.h
new file mode 100644
index 000000000..465b5333e
--- /dev/null
+++ b/libjava/java/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_atomic_AtomicLongFieldUpdater$CASUpdater__
+#define __java_util_concurrent_atomic_AtomicLongFieldUpdater$CASUpdater__
+
+#pragma interface
+
+#include <java/util/concurrent/atomic/AtomicLongFieldUpdater.h>
+extern "Java"
+{
+ namespace sun
+ {
+ namespace misc
+ {
+ class Unsafe;
+ }
+ }
+}
+
+class java::util::concurrent::atomic::AtomicLongFieldUpdater$CASUpdater : public ::java::util::concurrent::atomic::AtomicLongFieldUpdater
+{
+
+public: // actually package-private
+ AtomicLongFieldUpdater$CASUpdater(::java::lang::Class *, ::java::lang::String *);
+private:
+ void fullCheck(::java::lang::Object *);
+public:
+ virtual jboolean compareAndSet(::java::lang::Object *, jlong, jlong);
+ virtual jboolean weakCompareAndSet(::java::lang::Object *, jlong, jlong);
+ virtual void set(::java::lang::Object *, jlong);
+ virtual void lazySet(::java::lang::Object *, jlong);
+ virtual jlong get(::java::lang::Object *);
+private:
+ void ensureProtectedAccess(::java::lang::Object *);
+ static ::sun::misc::Unsafe * unsafe;
+ jlong __attribute__((aligned(__alignof__( ::java::util::concurrent::atomic::AtomicLongFieldUpdater)))) offset;
+ ::java::lang::Class * tclass;
+ ::java::lang::Class * cclass;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_atomic_AtomicLongFieldUpdater$CASUpdater__
diff --git a/libjava/java/util/concurrent/atomic/AtomicLongFieldUpdater$LockedUpdater.h b/libjava/java/util/concurrent/atomic/AtomicLongFieldUpdater$LockedUpdater.h
new file mode 100644
index 000000000..f13fb1817
--- /dev/null
+++ b/libjava/java/util/concurrent/atomic/AtomicLongFieldUpdater$LockedUpdater.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_atomic_AtomicLongFieldUpdater$LockedUpdater__
+#define __java_util_concurrent_atomic_AtomicLongFieldUpdater$LockedUpdater__
+
+#pragma interface
+
+#include <java/util/concurrent/atomic/AtomicLongFieldUpdater.h>
+extern "Java"
+{
+ namespace sun
+ {
+ namespace misc
+ {
+ class Unsafe;
+ }
+ }
+}
+
+class java::util::concurrent::atomic::AtomicLongFieldUpdater$LockedUpdater : public ::java::util::concurrent::atomic::AtomicLongFieldUpdater
+{
+
+public: // actually package-private
+ AtomicLongFieldUpdater$LockedUpdater(::java::lang::Class *, ::java::lang::String *);
+private:
+ void fullCheck(::java::lang::Object *);
+public:
+ virtual jboolean compareAndSet(::java::lang::Object *, jlong, jlong);
+ virtual jboolean weakCompareAndSet(::java::lang::Object *, jlong, jlong);
+ virtual void set(::java::lang::Object *, jlong);
+ virtual void lazySet(::java::lang::Object *, jlong);
+ virtual jlong get(::java::lang::Object *);
+private:
+ void ensureProtectedAccess(::java::lang::Object *);
+ static ::sun::misc::Unsafe * unsafe;
+ jlong __attribute__((aligned(__alignof__( ::java::util::concurrent::atomic::AtomicLongFieldUpdater)))) offset;
+ ::java::lang::Class * tclass;
+ ::java::lang::Class * cclass;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_atomic_AtomicLongFieldUpdater$LockedUpdater__
diff --git a/libjava/java/util/concurrent/atomic/AtomicLongFieldUpdater.h b/libjava/java/util/concurrent/atomic/AtomicLongFieldUpdater.h
new file mode 100644
index 000000000..4fb8137d1
--- /dev/null
+++ b/libjava/java/util/concurrent/atomic/AtomicLongFieldUpdater.h
@@ -0,0 +1,34 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_atomic_AtomicLongFieldUpdater__
+#define __java_util_concurrent_atomic_AtomicLongFieldUpdater__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::atomic::AtomicLongFieldUpdater : public ::java::lang::Object
+{
+
+public:
+ static ::java::util::concurrent::atomic::AtomicLongFieldUpdater * newUpdater(::java::lang::Class *, ::java::lang::String *);
+public: // actually protected
+ AtomicLongFieldUpdater();
+public:
+ virtual jboolean compareAndSet(::java::lang::Object *, jlong, jlong) = 0;
+ virtual jboolean weakCompareAndSet(::java::lang::Object *, jlong, jlong) = 0;
+ virtual void set(::java::lang::Object *, jlong) = 0;
+ virtual void lazySet(::java::lang::Object *, jlong) = 0;
+ virtual jlong get(::java::lang::Object *) = 0;
+ virtual jlong getAndSet(::java::lang::Object *, jlong);
+ virtual jlong getAndIncrement(::java::lang::Object *);
+ virtual jlong getAndDecrement(::java::lang::Object *);
+ virtual jlong getAndAdd(::java::lang::Object *, jlong);
+ virtual jlong incrementAndGet(::java::lang::Object *);
+ virtual jlong decrementAndGet(::java::lang::Object *);
+ virtual jlong addAndGet(::java::lang::Object *, jlong);
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_atomic_AtomicLongFieldUpdater__
diff --git a/libjava/java/util/concurrent/atomic/AtomicMarkableReference$ReferenceBooleanPair.h b/libjava/java/util/concurrent/atomic/AtomicMarkableReference$ReferenceBooleanPair.h
new file mode 100644
index 000000000..499b73b52
--- /dev/null
+++ b/libjava/java/util/concurrent/atomic/AtomicMarkableReference$ReferenceBooleanPair.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_atomic_AtomicMarkableReference$ReferenceBooleanPair__
+#define __java_util_concurrent_atomic_AtomicMarkableReference$ReferenceBooleanPair__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::atomic::AtomicMarkableReference$ReferenceBooleanPair : public ::java::lang::Object
+{
+
+public: // actually package-private
+ AtomicMarkableReference$ReferenceBooleanPair(::java::lang::Object *, jboolean);
+ static ::java::lang::Object * access$0(::java::util::concurrent::atomic::AtomicMarkableReference$ReferenceBooleanPair *);
+ static jboolean access$1(::java::util::concurrent::atomic::AtomicMarkableReference$ReferenceBooleanPair *);
+private:
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) reference;
+ jboolean bit;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_atomic_AtomicMarkableReference$ReferenceBooleanPair__
diff --git a/libjava/java/util/concurrent/atomic/AtomicMarkableReference.h b/libjava/java/util/concurrent/atomic/AtomicMarkableReference.h
new file mode 100644
index 000000000..fe97809c5
--- /dev/null
+++ b/libjava/java/util/concurrent/atomic/AtomicMarkableReference.h
@@ -0,0 +1,31 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_atomic_AtomicMarkableReference__
+#define __java_util_concurrent_atomic_AtomicMarkableReference__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::atomic::AtomicMarkableReference : public ::java::lang::Object
+{
+
+public:
+ AtomicMarkableReference(::java::lang::Object *, jboolean);
+ virtual ::java::lang::Object * getReference();
+ virtual jboolean isMarked();
+ virtual ::java::lang::Object * get(JArray< jboolean > *);
+ virtual jboolean weakCompareAndSet(::java::lang::Object *, ::java::lang::Object *, jboolean, jboolean);
+ virtual jboolean compareAndSet(::java::lang::Object *, ::java::lang::Object *, jboolean, jboolean);
+ virtual void set(::java::lang::Object *, jboolean);
+ virtual jboolean attemptMark(::java::lang::Object *, jboolean);
+private:
+ ::java::util::concurrent::atomic::AtomicReference * __attribute__((aligned(__alignof__( ::java::lang::Object)))) atomicRef;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_atomic_AtomicMarkableReference__
diff --git a/libjava/java/util/concurrent/atomic/AtomicReference.h b/libjava/java/util/concurrent/atomic/AtomicReference.h
new file mode 100644
index 000000000..363fca6ea
--- /dev/null
+++ b/libjava/java/util/concurrent/atomic/AtomicReference.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_atomic_AtomicReference__
+#define __java_util_concurrent_atomic_AtomicReference__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace sun
+ {
+ namespace misc
+ {
+ class Unsafe;
+ }
+ }
+}
+
+class java::util::concurrent::atomic::AtomicReference : public ::java::lang::Object
+{
+
+public:
+ AtomicReference(::java::lang::Object *);
+ AtomicReference();
+ virtual ::java::lang::Object * get();
+ virtual void set(::java::lang::Object *);
+ virtual void lazySet(::java::lang::Object *);
+ virtual jboolean compareAndSet(::java::lang::Object *, ::java::lang::Object *);
+ virtual jboolean weakCompareAndSet(::java::lang::Object *, ::java::lang::Object *);
+ virtual ::java::lang::Object * getAndSet(::java::lang::Object *);
+ virtual ::java::lang::String * toString();
+private:
+ static const jlong serialVersionUID = -1848883965231344442LL;
+ static ::sun::misc::Unsafe * unsafe;
+ static jlong valueOffset;
+ ::java::lang::Object * volatile __attribute__((aligned(__alignof__( ::java::lang::Object)))) value;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_atomic_AtomicReference__
diff --git a/libjava/java/util/concurrent/atomic/AtomicReferenceArray.h b/libjava/java/util/concurrent/atomic/AtomicReferenceArray.h
new file mode 100644
index 000000000..4715f0cba
--- /dev/null
+++ b/libjava/java/util/concurrent/atomic/AtomicReferenceArray.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_atomic_AtomicReferenceArray__
+#define __java_util_concurrent_atomic_AtomicReferenceArray__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace sun
+ {
+ namespace misc
+ {
+ class Unsafe;
+ }
+ }
+}
+
+class java::util::concurrent::atomic::AtomicReferenceArray : public ::java::lang::Object
+{
+
+ jlong rawIndex(jint);
+public:
+ AtomicReferenceArray(jint);
+ AtomicReferenceArray(JArray< ::java::lang::Object * > *);
+ virtual jint length();
+ virtual ::java::lang::Object * get(jint);
+ virtual void set(jint, ::java::lang::Object *);
+ virtual void lazySet(jint, ::java::lang::Object *);
+ virtual ::java::lang::Object * getAndSet(jint, ::java::lang::Object *);
+ virtual jboolean compareAndSet(jint, ::java::lang::Object *, ::java::lang::Object *);
+ virtual jboolean weakCompareAndSet(jint, ::java::lang::Object *, ::java::lang::Object *);
+ virtual ::java::lang::String * toString();
+private:
+ static const jlong serialVersionUID = -6209656149925076980LL;
+ static ::sun::misc::Unsafe * unsafe;
+ static jint base;
+ static jint scale;
+ JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) array;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_atomic_AtomicReferenceArray__
diff --git a/libjava/java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl.h b/libjava/java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl.h
new file mode 100644
index 000000000..e74a4507e
--- /dev/null
+++ b/libjava/java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_atomic_AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl__
+#define __java_util_concurrent_atomic_AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl__
+
+#pragma interface
+
+#include <java/util/concurrent/atomic/AtomicReferenceFieldUpdater.h>
+extern "Java"
+{
+ namespace sun
+ {
+ namespace misc
+ {
+ class Unsafe;
+ }
+ }
+}
+
+class java::util::concurrent::atomic::AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl : public ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater
+{
+
+public: // actually package-private
+ AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl(::java::lang::Class *, ::java::lang::Class *, ::java::lang::String *);
+ void targetCheck(::java::lang::Object *);
+ void updateCheck(::java::lang::Object *, ::java::lang::Object *);
+public:
+ jboolean compareAndSet(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *);
+ jboolean weakCompareAndSet(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *);
+ void set(::java::lang::Object *, ::java::lang::Object *);
+ void lazySet(::java::lang::Object *, ::java::lang::Object *);
+ ::java::lang::Object * get(::java::lang::Object *);
+private:
+ void ensureProtectedAccess(::java::lang::Object *);
+ static ::sun::misc::Unsafe * unsafe;
+ jlong __attribute__((aligned(__alignof__( ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater)))) offset;
+ ::java::lang::Class * tclass;
+ ::java::lang::Class * vclass;
+ ::java::lang::Class * cclass;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_atomic_AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl__
diff --git a/libjava/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.h b/libjava/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.h
new file mode 100644
index 000000000..d7e91e977
--- /dev/null
+++ b/libjava/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_atomic_AtomicReferenceFieldUpdater__
+#define __java_util_concurrent_atomic_AtomicReferenceFieldUpdater__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::atomic::AtomicReferenceFieldUpdater : public ::java::lang::Object
+{
+
+public:
+ static ::java::util::concurrent::atomic::AtomicReferenceFieldUpdater * newUpdater(::java::lang::Class *, ::java::lang::Class *, ::java::lang::String *);
+public: // actually protected
+ AtomicReferenceFieldUpdater();
+public:
+ virtual jboolean compareAndSet(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *) = 0;
+ virtual jboolean weakCompareAndSet(::java::lang::Object *, ::java::lang::Object *, ::java::lang::Object *) = 0;
+ virtual void set(::java::lang::Object *, ::java::lang::Object *) = 0;
+ virtual void lazySet(::java::lang::Object *, ::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * get(::java::lang::Object *) = 0;
+ virtual ::java::lang::Object * getAndSet(::java::lang::Object *, ::java::lang::Object *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_atomic_AtomicReferenceFieldUpdater__
diff --git a/libjava/java/util/concurrent/atomic/AtomicStampedReference$ReferenceIntegerPair.h b/libjava/java/util/concurrent/atomic/AtomicStampedReference$ReferenceIntegerPair.h
new file mode 100644
index 000000000..d76e45b1d
--- /dev/null
+++ b/libjava/java/util/concurrent/atomic/AtomicStampedReference$ReferenceIntegerPair.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_atomic_AtomicStampedReference$ReferenceIntegerPair__
+#define __java_util_concurrent_atomic_AtomicStampedReference$ReferenceIntegerPair__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::atomic::AtomicStampedReference$ReferenceIntegerPair : public ::java::lang::Object
+{
+
+public: // actually package-private
+ AtomicStampedReference$ReferenceIntegerPair(::java::lang::Object *, jint);
+ static ::java::lang::Object * access$0(::java::util::concurrent::atomic::AtomicStampedReference$ReferenceIntegerPair *);
+ static jint access$1(::java::util::concurrent::atomic::AtomicStampedReference$ReferenceIntegerPair *);
+private:
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) reference;
+ jint integer;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_atomic_AtomicStampedReference$ReferenceIntegerPair__
diff --git a/libjava/java/util/concurrent/atomic/AtomicStampedReference.h b/libjava/java/util/concurrent/atomic/AtomicStampedReference.h
new file mode 100644
index 000000000..8e1169299
--- /dev/null
+++ b/libjava/java/util/concurrent/atomic/AtomicStampedReference.h
@@ -0,0 +1,31 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_atomic_AtomicStampedReference__
+#define __java_util_concurrent_atomic_AtomicStampedReference__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::concurrent::atomic::AtomicStampedReference : public ::java::lang::Object
+{
+
+public:
+ AtomicStampedReference(::java::lang::Object *, jint);
+ virtual ::java::lang::Object * getReference();
+ virtual jint getStamp();
+ virtual ::java::lang::Object * get(JArray< jint > *);
+ virtual jboolean weakCompareAndSet(::java::lang::Object *, ::java::lang::Object *, jint, jint);
+ virtual jboolean compareAndSet(::java::lang::Object *, ::java::lang::Object *, jint, jint);
+ virtual void set(::java::lang::Object *, jint);
+ virtual jboolean attemptStamp(::java::lang::Object *, jint);
+private:
+ ::java::util::concurrent::atomic::AtomicReference * __attribute__((aligned(__alignof__( ::java::lang::Object)))) atomicRef;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_atomic_AtomicStampedReference__
diff --git a/libjava/java/util/concurrent/atomic/natAtomicLong.cc b/libjava/java/util/concurrent/atomic/natAtomicLong.cc
new file mode 100644
index 000000000..3f78c8aa6
--- /dev/null
+++ b/libjava/java/util/concurrent/atomic/natAtomicLong.cc
@@ -0,0 +1,12 @@
+#include <config.h>
+
+#include <java/util/concurrent/atomic/AtomicLong.h>
+#include <gcj/cni.h>
+#include <java/lang/UnsupportedOperationException.h>
+
+jboolean
+java::util::concurrent::atomic::AtomicLong::VMSupportsCS8 ()
+{
+ // FIXME
+ return false;
+}
diff --git a/libjava/java/util/concurrent/locks/AbstractOwnableSynchronizer.h b/libjava/java/util/concurrent/locks/AbstractOwnableSynchronizer.h
new file mode 100644
index 000000000..8a14257c9
--- /dev/null
+++ b/libjava/java/util/concurrent/locks/AbstractOwnableSynchronizer.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_locks_AbstractOwnableSynchronizer__
+#define __java_util_concurrent_locks_AbstractOwnableSynchronizer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::locks::AbstractOwnableSynchronizer : public ::java::lang::Object
+{
+
+public: // actually protected
+ AbstractOwnableSynchronizer();
+ virtual void setExclusiveOwnerThread(::java::lang::Thread *);
+ virtual ::java::lang::Thread * getExclusiveOwnerThread();
+private:
+ static const jlong serialVersionUID = 3737899427754241961LL;
+ ::java::lang::Thread * __attribute__((aligned(__alignof__( ::java::lang::Object)))) exclusiveOwnerThread;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_locks_AbstractOwnableSynchronizer__
diff --git a/libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject.h b/libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject.h
new file mode 100644
index 000000000..123ab81b5
--- /dev/null
+++ b/libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_locks_AbstractQueuedLongSynchronizer$ConditionObject__
+#define __java_util_concurrent_locks_AbstractQueuedLongSynchronizer$ConditionObject__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::locks::AbstractQueuedLongSynchronizer$ConditionObject : public ::java::lang::Object
+{
+
+public:
+ AbstractQueuedLongSynchronizer$ConditionObject(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer *);
+private:
+ ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * addConditionWaiter();
+ void doSignal(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+ void doSignalAll(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+ jboolean isOnConditionQueue(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+ void unlinkCancelledWaiter(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+public:
+ virtual void signal();
+ virtual void signalAll();
+ virtual void awaitUninterruptibly();
+private:
+ jint checkInterruptWhileWaiting(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+ void reportInterruptAfterWait(jint);
+public:
+ virtual void await();
+ virtual jlong awaitNanos(jlong);
+ virtual jboolean awaitUntil(::java::util::Date *);
+ virtual jboolean await(jlong, ::java::util::concurrent::TimeUnit *);
+public: // actually package-private
+ virtual jboolean isOwnedBy(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer *);
+public: // actually protected
+ virtual jboolean hasWaiters();
+ virtual jint getWaitQueueLength();
+ virtual ::java::util::Collection * getWaitingThreads();
+private:
+ static const jlong serialVersionUID = 1173984872572414699LL;
+ ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * __attribute__((aligned(__alignof__( ::java::lang::Object)))) firstWaiter;
+ ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * lastWaiter;
+ static const jint REINTERRUPT = 1;
+ static const jint THROW_IE = -1;
+public: // actually package-private
+ ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_locks_AbstractQueuedLongSynchronizer$ConditionObject__
diff --git a/libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$Node.h b/libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$Node.h
new file mode 100644
index 000000000..097692062
--- /dev/null
+++ b/libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer$Node.h
@@ -0,0 +1,34 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_locks_AbstractQueuedLongSynchronizer$Node__
+#define __java_util_concurrent_locks_AbstractQueuedLongSynchronizer$Node__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node : public ::java::lang::Object
+{
+
+public: // actually package-private
+ jboolean isShared();
+ ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * predecessor();
+ AbstractQueuedLongSynchronizer$Node();
+ AbstractQueuedLongSynchronizer$Node(::java::lang::Thread *, ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+ AbstractQueuedLongSynchronizer$Node(::java::lang::Thread *, jint);
+ static const jint CANCELLED = 1;
+ static const jint SIGNAL = -1;
+ static const jint CONDITION = -2;
+ static ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * SHARED;
+ static ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * EXCLUSIVE;
+ jint volatile __attribute__((aligned(__alignof__( ::java::lang::Object)))) waitStatus;
+ ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * volatile prev;
+ ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * volatile next;
+ ::java::lang::Thread * volatile thread;
+ ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * nextWaiter;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_locks_AbstractQueuedLongSynchronizer$Node__
diff --git a/libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.h b/libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.h
new file mode 100644
index 000000000..41f1f7cba
--- /dev/null
+++ b/libjava/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.h
@@ -0,0 +1,115 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_locks_AbstractQueuedLongSynchronizer__
+#define __java_util_concurrent_locks_AbstractQueuedLongSynchronizer__
+
+#pragma interface
+
+#include <java/util/concurrent/locks/AbstractOwnableSynchronizer.h>
+extern "Java"
+{
+ namespace sun
+ {
+ namespace misc
+ {
+ class Unsafe;
+ }
+ }
+}
+
+class java::util::concurrent::locks::AbstractQueuedLongSynchronizer : public ::java::util::concurrent::locks::AbstractOwnableSynchronizer
+{
+
+public: // actually protected
+ AbstractQueuedLongSynchronizer();
+ virtual jlong getState();
+ virtual void setState(jlong);
+ virtual jboolean compareAndSetState(jlong, jlong);
+private:
+ ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * enq(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+ ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * addWaiter(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+ void setHead(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+ void unparkSuccessor(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+ void setHeadAndPropagate(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *, jlong);
+ void cancelAcquire(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+ static jboolean shouldParkAfterFailedAcquire(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *, ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+ static void selfInterrupt();
+ jboolean parkAndCheckInterrupt();
+public: // actually package-private
+ virtual jboolean acquireQueued(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *, jlong);
+private:
+ void doAcquireInterruptibly(jlong);
+ jboolean doAcquireNanos(jlong, jlong);
+ void doAcquireShared(jlong);
+ void doAcquireSharedInterruptibly(jlong);
+ jboolean doAcquireSharedNanos(jlong, jlong);
+public: // actually protected
+ virtual jboolean tryAcquire(jlong);
+ virtual jboolean tryRelease(jlong);
+ virtual jlong tryAcquireShared(jlong);
+ virtual jboolean tryReleaseShared(jlong);
+ virtual jboolean isHeldExclusively();
+public:
+ virtual void acquire(jlong);
+ virtual void acquireInterruptibly(jlong);
+ virtual jboolean tryAcquireNanos(jlong, jlong);
+ virtual jboolean release(jlong);
+ virtual void acquireShared(jlong);
+ virtual void acquireSharedInterruptibly(jlong);
+ virtual jboolean tryAcquireSharedNanos(jlong, jlong);
+ virtual jboolean releaseShared(jlong);
+ virtual jboolean hasQueuedThreads();
+ virtual jboolean hasContended();
+ virtual ::java::lang::Thread * getFirstQueuedThread();
+private:
+ ::java::lang::Thread * fullGetFirstQueuedThread();
+public:
+ virtual jboolean isQueued(::java::lang::Thread *);
+public: // actually package-private
+ virtual jboolean apparentlyFirstQueuedIsExclusive();
+ virtual jboolean isFirst(::java::lang::Thread *);
+ virtual jboolean fullIsFirst(::java::lang::Thread *);
+public:
+ virtual jint getQueueLength();
+ virtual ::java::util::Collection * getQueuedThreads();
+ virtual ::java::util::Collection * getExclusiveQueuedThreads();
+ virtual ::java::util::Collection * getSharedQueuedThreads();
+ virtual ::java::lang::String * toString();
+public: // actually package-private
+ virtual jboolean isOnSyncQueue(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+private:
+ jboolean findNodeFromTail(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+public: // actually package-private
+ virtual jboolean transferForSignal(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+ virtual jboolean transferAfterCancelledWait(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+ virtual jlong fullyRelease(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+public:
+ virtual jboolean owns(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$ConditionObject *);
+ virtual jboolean hasWaiters(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$ConditionObject *);
+ virtual jint getWaitQueueLength(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$ConditionObject *);
+ virtual ::java::util::Collection * getWaitingThreads(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$ConditionObject *);
+private:
+ jboolean compareAndSetHead(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+ jboolean compareAndSetTail(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *, ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *);
+ static jboolean compareAndSetWaitStatus(::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node *, jint, jint);
+public: // actually package-private
+ static void access$0();
+private:
+ static const jlong serialVersionUID = 7373984972572414692LL;
+ ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * volatile __attribute__((aligned(__alignof__( ::java::util::concurrent::locks::AbstractOwnableSynchronizer)))) head;
+ ::java::util::concurrent::locks::AbstractQueuedLongSynchronizer$Node * volatile tail;
+ jlong volatile state;
+public: // actually package-private
+ static const jlong spinForTimeoutThreshold = 1000LL;
+private:
+ static ::sun::misc::Unsafe * unsafe;
+ static jlong stateOffset;
+ static jlong headOffset;
+ static jlong tailOffset;
+ static jlong waitStatusOffset;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_locks_AbstractQueuedLongSynchronizer__
diff --git a/libjava/java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.h b/libjava/java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.h
new file mode 100644
index 000000000..67ca64f6e
--- /dev/null
+++ b/libjava/java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_locks_AbstractQueuedSynchronizer$ConditionObject__
+#define __java_util_concurrent_locks_AbstractQueuedSynchronizer$ConditionObject__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::locks::AbstractQueuedSynchronizer$ConditionObject : public ::java::lang::Object
+{
+
+public:
+ AbstractQueuedSynchronizer$ConditionObject(::java::util::concurrent::locks::AbstractQueuedSynchronizer *);
+private:
+ ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * addConditionWaiter();
+ void doSignal(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
+ void doSignalAll(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
+ jboolean isOnConditionQueue(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
+ void unlinkCancelledWaiter(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
+public:
+ virtual void signal();
+ virtual void signalAll();
+ virtual void awaitUninterruptibly();
+private:
+ jint checkInterruptWhileWaiting(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
+ void reportInterruptAfterWait(jint);
+public:
+ virtual void await();
+ virtual jlong awaitNanos(jlong);
+ virtual jboolean awaitUntil(::java::util::Date *);
+ virtual jboolean await(jlong, ::java::util::concurrent::TimeUnit *);
+public: // actually package-private
+ virtual jboolean isOwnedBy(::java::util::concurrent::locks::AbstractQueuedSynchronizer *);
+public: // actually protected
+ virtual jboolean hasWaiters();
+ virtual jint getWaitQueueLength();
+ virtual ::java::util::Collection * getWaitingThreads();
+private:
+ static const jlong serialVersionUID = 1173984872572414699LL;
+ ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * __attribute__((aligned(__alignof__( ::java::lang::Object)))) firstWaiter;
+ ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * lastWaiter;
+ static const jint REINTERRUPT = 1;
+ static const jint THROW_IE = -1;
+public: // actually package-private
+ ::java::util::concurrent::locks::AbstractQueuedSynchronizer * this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_locks_AbstractQueuedSynchronizer$ConditionObject__
diff --git a/libjava/java/util/concurrent/locks/AbstractQueuedSynchronizer$Node.h b/libjava/java/util/concurrent/locks/AbstractQueuedSynchronizer$Node.h
new file mode 100644
index 000000000..cc4955057
--- /dev/null
+++ b/libjava/java/util/concurrent/locks/AbstractQueuedSynchronizer$Node.h
@@ -0,0 +1,34 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_locks_AbstractQueuedSynchronizer$Node__
+#define __java_util_concurrent_locks_AbstractQueuedSynchronizer$Node__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::locks::AbstractQueuedSynchronizer$Node : public ::java::lang::Object
+{
+
+public: // actually package-private
+ jboolean isShared();
+ ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * predecessor();
+ AbstractQueuedSynchronizer$Node();
+ AbstractQueuedSynchronizer$Node(::java::lang::Thread *, ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
+ AbstractQueuedSynchronizer$Node(::java::lang::Thread *, jint);
+ static const jint CANCELLED = 1;
+ static const jint SIGNAL = -1;
+ static const jint CONDITION = -2;
+ static ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * SHARED;
+ static ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * EXCLUSIVE;
+ jint volatile __attribute__((aligned(__alignof__( ::java::lang::Object)))) waitStatus;
+ ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * volatile prev;
+ ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * volatile next;
+ ::java::lang::Thread * volatile thread;
+ ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * nextWaiter;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_locks_AbstractQueuedSynchronizer$Node__
diff --git a/libjava/java/util/concurrent/locks/AbstractQueuedSynchronizer.h b/libjava/java/util/concurrent/locks/AbstractQueuedSynchronizer.h
new file mode 100644
index 000000000..e50fcef61
--- /dev/null
+++ b/libjava/java/util/concurrent/locks/AbstractQueuedSynchronizer.h
@@ -0,0 +1,115 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_locks_AbstractQueuedSynchronizer__
+#define __java_util_concurrent_locks_AbstractQueuedSynchronizer__
+
+#pragma interface
+
+#include <java/util/concurrent/locks/AbstractOwnableSynchronizer.h>
+extern "Java"
+{
+ namespace sun
+ {
+ namespace misc
+ {
+ class Unsafe;
+ }
+ }
+}
+
+class java::util::concurrent::locks::AbstractQueuedSynchronizer : public ::java::util::concurrent::locks::AbstractOwnableSynchronizer
+{
+
+public: // actually protected
+ AbstractQueuedSynchronizer();
+ virtual jint getState();
+ virtual void setState(jint);
+ virtual jboolean compareAndSetState(jint, jint);
+private:
+ ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * enq(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
+ ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * addWaiter(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
+ void setHead(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
+ void unparkSuccessor(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
+ void setHeadAndPropagate(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *, jint);
+ void cancelAcquire(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
+ static jboolean shouldParkAfterFailedAcquire(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *, ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
+ static void selfInterrupt();
+ jboolean parkAndCheckInterrupt();
+public: // actually package-private
+ virtual jboolean acquireQueued(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *, jint);
+private:
+ void doAcquireInterruptibly(jint);
+ jboolean doAcquireNanos(jint, jlong);
+ void doAcquireShared(jint);
+ void doAcquireSharedInterruptibly(jint);
+ jboolean doAcquireSharedNanos(jint, jlong);
+public: // actually protected
+ virtual jboolean tryAcquire(jint);
+ virtual jboolean tryRelease(jint);
+ virtual jint tryAcquireShared(jint);
+ virtual jboolean tryReleaseShared(jint);
+ virtual jboolean isHeldExclusively();
+public:
+ virtual void acquire(jint);
+ virtual void acquireInterruptibly(jint);
+ virtual jboolean tryAcquireNanos(jint, jlong);
+ virtual jboolean release(jint);
+ virtual void acquireShared(jint);
+ virtual void acquireSharedInterruptibly(jint);
+ virtual jboolean tryAcquireSharedNanos(jint, jlong);
+ virtual jboolean releaseShared(jint);
+ virtual jboolean hasQueuedThreads();
+ virtual jboolean hasContended();
+ virtual ::java::lang::Thread * getFirstQueuedThread();
+private:
+ ::java::lang::Thread * fullGetFirstQueuedThread();
+public:
+ virtual jboolean isQueued(::java::lang::Thread *);
+public: // actually package-private
+ virtual jboolean apparentlyFirstQueuedIsExclusive();
+ virtual jboolean isFirst(::java::lang::Thread *);
+ virtual jboolean fullIsFirst(::java::lang::Thread *);
+public:
+ virtual jint getQueueLength();
+ virtual ::java::util::Collection * getQueuedThreads();
+ virtual ::java::util::Collection * getExclusiveQueuedThreads();
+ virtual ::java::util::Collection * getSharedQueuedThreads();
+ virtual ::java::lang::String * toString();
+public: // actually package-private
+ virtual jboolean isOnSyncQueue(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
+private:
+ jboolean findNodeFromTail(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
+public: // actually package-private
+ virtual jboolean transferForSignal(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
+ virtual jboolean transferAfterCancelledWait(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
+ virtual jint fullyRelease(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
+public:
+ virtual jboolean owns(::java::util::concurrent::locks::AbstractQueuedSynchronizer$ConditionObject *);
+ virtual jboolean hasWaiters(::java::util::concurrent::locks::AbstractQueuedSynchronizer$ConditionObject *);
+ virtual jint getWaitQueueLength(::java::util::concurrent::locks::AbstractQueuedSynchronizer$ConditionObject *);
+ virtual ::java::util::Collection * getWaitingThreads(::java::util::concurrent::locks::AbstractQueuedSynchronizer$ConditionObject *);
+private:
+ jboolean compareAndSetHead(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
+ jboolean compareAndSetTail(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *, ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *);
+ static jboolean compareAndSetWaitStatus(::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node *, jint, jint);
+public: // actually package-private
+ static void access$0();
+private:
+ static const jlong serialVersionUID = 7373984972572414691LL;
+ ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * volatile __attribute__((aligned(__alignof__( ::java::util::concurrent::locks::AbstractOwnableSynchronizer)))) head;
+ ::java::util::concurrent::locks::AbstractQueuedSynchronizer$Node * volatile tail;
+ jint volatile state;
+public: // actually package-private
+ static const jlong spinForTimeoutThreshold = 1000LL;
+private:
+ static ::sun::misc::Unsafe * unsafe;
+ static jlong stateOffset;
+ static jlong headOffset;
+ static jlong tailOffset;
+ static jlong waitStatusOffset;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_locks_AbstractQueuedSynchronizer__
diff --git a/libjava/java/util/concurrent/locks/Condition.h b/libjava/java/util/concurrent/locks/Condition.h
new file mode 100644
index 000000000..141a4e919
--- /dev/null
+++ b/libjava/java/util/concurrent/locks/Condition.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_locks_Condition__
+#define __java_util_concurrent_locks_Condition__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::locks::Condition : public ::java::lang::Object
+{
+
+public:
+ virtual void await() = 0;
+ virtual void awaitUninterruptibly() = 0;
+ virtual jlong awaitNanos(jlong) = 0;
+ virtual jboolean await(jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ virtual jboolean awaitUntil(::java::util::Date *) = 0;
+ virtual void signal() = 0;
+ virtual void signalAll() = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_concurrent_locks_Condition__
diff --git a/libjava/java/util/concurrent/locks/Lock.h b/libjava/java/util/concurrent/locks/Lock.h
new file mode 100644
index 000000000..b00f601e7
--- /dev/null
+++ b/libjava/java/util/concurrent/locks/Lock.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_locks_Lock__
+#define __java_util_concurrent_locks_Lock__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::locks::Lock : public ::java::lang::Object
+{
+
+public:
+ virtual void lock() = 0;
+ virtual void lockInterruptibly() = 0;
+ virtual jboolean tryLock() = 0;
+ virtual jboolean tryLock(jlong, ::java::util::concurrent::TimeUnit *) = 0;
+ virtual void unlock() = 0;
+ virtual ::java::util::concurrent::locks::Condition * newCondition() = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_concurrent_locks_Lock__
diff --git a/libjava/java/util/concurrent/locks/LockSupport.h b/libjava/java/util/concurrent/locks/LockSupport.h
new file mode 100644
index 000000000..15ef7306f
--- /dev/null
+++ b/libjava/java/util/concurrent/locks/LockSupport.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_locks_LockSupport__
+#define __java_util_concurrent_locks_LockSupport__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace sun
+ {
+ namespace misc
+ {
+ class Unsafe;
+ }
+ }
+}
+
+class java::util::concurrent::locks::LockSupport : public ::java::lang::Object
+{
+
+ LockSupport();
+ static void setBlocker(::java::lang::Thread *, ::java::lang::Object *);
+public:
+ static void unpark(::java::lang::Thread *);
+ static void park(::java::lang::Object *);
+ static void parkNanos(::java::lang::Object *, jlong);
+ static void parkUntil(::java::lang::Object *, jlong);
+ static ::java::lang::Object * getBlocker(::java::lang::Thread *);
+ static void park();
+ static void parkNanos(jlong);
+ static void parkUntil(jlong);
+private:
+ static ::sun::misc::Unsafe * unsafe;
+ static jlong parkBlockerOffset;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_locks_LockSupport__
diff --git a/libjava/java/util/concurrent/locks/ReadWriteLock.h b/libjava/java/util/concurrent/locks/ReadWriteLock.h
new file mode 100644
index 000000000..1f4ae2e72
--- /dev/null
+++ b/libjava/java/util/concurrent/locks/ReadWriteLock.h
@@ -0,0 +1,20 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_locks_ReadWriteLock__
+#define __java_util_concurrent_locks_ReadWriteLock__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::locks::ReadWriteLock : public ::java::lang::Object
+{
+
+public:
+ virtual ::java::util::concurrent::locks::Lock * readLock() = 0;
+ virtual ::java::util::concurrent::locks::Lock * writeLock() = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_concurrent_locks_ReadWriteLock__
diff --git a/libjava/java/util/concurrent/locks/ReentrantLock$FairSync.h b/libjava/java/util/concurrent/locks/ReentrantLock$FairSync.h
new file mode 100644
index 000000000..d4268afcd
--- /dev/null
+++ b/libjava/java/util/concurrent/locks/ReentrantLock$FairSync.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_locks_ReentrantLock$FairSync__
+#define __java_util_concurrent_locks_ReentrantLock$FairSync__
+
+#pragma interface
+
+#include <java/util/concurrent/locks/ReentrantLock$Sync.h>
+
+class java::util::concurrent::locks::ReentrantLock$FairSync : public ::java::util::concurrent::locks::ReentrantLock$Sync
+{
+
+public: // actually package-private
+ ReentrantLock$FairSync();
+ void lock();
+public: // actually protected
+ jboolean tryAcquire(jint);
+private:
+ static const jlong serialVersionUID = -3000897897090466540LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_locks_ReentrantLock$FairSync__
diff --git a/libjava/java/util/concurrent/locks/ReentrantLock$NonfairSync.h b/libjava/java/util/concurrent/locks/ReentrantLock$NonfairSync.h
new file mode 100644
index 000000000..743a0bd75
--- /dev/null
+++ b/libjava/java/util/concurrent/locks/ReentrantLock$NonfairSync.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_locks_ReentrantLock$NonfairSync__
+#define __java_util_concurrent_locks_ReentrantLock$NonfairSync__
+
+#pragma interface
+
+#include <java/util/concurrent/locks/ReentrantLock$Sync.h>
+
+class java::util::concurrent::locks::ReentrantLock$NonfairSync : public ::java::util::concurrent::locks::ReentrantLock$Sync
+{
+
+public: // actually package-private
+ ReentrantLock$NonfairSync();
+ void lock();
+public: // actually protected
+ jboolean tryAcquire(jint);
+private:
+ static const jlong serialVersionUID = 7316153563782823691LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_locks_ReentrantLock$NonfairSync__
diff --git a/libjava/java/util/concurrent/locks/ReentrantLock$Sync.h b/libjava/java/util/concurrent/locks/ReentrantLock$Sync.h
new file mode 100644
index 000000000..b3656d0df
--- /dev/null
+++ b/libjava/java/util/concurrent/locks/ReentrantLock$Sync.h
@@ -0,0 +1,33 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_locks_ReentrantLock$Sync__
+#define __java_util_concurrent_locks_ReentrantLock$Sync__
+
+#pragma interface
+
+#include <java/util/concurrent/locks/AbstractQueuedSynchronizer.h>
+
+class java::util::concurrent::locks::ReentrantLock$Sync : public ::java::util::concurrent::locks::AbstractQueuedSynchronizer
+{
+
+public: // actually package-private
+ ReentrantLock$Sync();
+ virtual void lock() = 0;
+ virtual jboolean nonfairTryAcquire(jint);
+public: // actually protected
+ virtual jboolean tryRelease(jint);
+ virtual jboolean isHeldExclusively();
+public: // actually package-private
+ virtual ::java::util::concurrent::locks::AbstractQueuedSynchronizer$ConditionObject * newCondition();
+ virtual ::java::lang::Thread * getOwner();
+ virtual jint getHoldCount();
+ virtual jboolean isLocked();
+private:
+ void readObject(::java::io::ObjectInputStream *);
+ static const jlong serialVersionUID = -5179523762034025860LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_locks_ReentrantLock$Sync__
diff --git a/libjava/java/util/concurrent/locks/ReentrantLock.h b/libjava/java/util/concurrent/locks/ReentrantLock.h
new file mode 100644
index 000000000..5cac4b27f
--- /dev/null
+++ b/libjava/java/util/concurrent/locks/ReentrantLock.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_locks_ReentrantLock__
+#define __java_util_concurrent_locks_ReentrantLock__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::locks::ReentrantLock : public ::java::lang::Object
+{
+
+public:
+ ReentrantLock();
+ ReentrantLock(jboolean);
+ virtual void lock();
+ virtual void lockInterruptibly();
+ virtual jboolean tryLock();
+ virtual jboolean tryLock(jlong, ::java::util::concurrent::TimeUnit *);
+ virtual void unlock();
+ virtual ::java::util::concurrent::locks::Condition * newCondition();
+ virtual jint getHoldCount();
+ virtual jboolean isHeldByCurrentThread();
+ virtual jboolean isLocked();
+ virtual jboolean isFair();
+public: // actually protected
+ virtual ::java::lang::Thread * getOwner();
+public:
+ virtual jboolean hasQueuedThreads();
+ virtual jboolean hasQueuedThread(::java::lang::Thread *);
+ virtual jint getQueueLength();
+public: // actually protected
+ virtual ::java::util::Collection * getQueuedThreads();
+public:
+ virtual jboolean hasWaiters(::java::util::concurrent::locks::Condition *);
+ virtual jint getWaitQueueLength(::java::util::concurrent::locks::Condition *);
+public: // actually protected
+ virtual ::java::util::Collection * getWaitingThreads(::java::util::concurrent::locks::Condition *);
+public:
+ virtual ::java::lang::String * toString();
+private:
+ static const jlong serialVersionUID = 7373984872572414699LL;
+ ::java::util::concurrent::locks::ReentrantLock$Sync * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sync;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_locks_ReentrantLock__
diff --git a/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$FairSync.h b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$FairSync.h
new file mode 100644
index 000000000..05090b5b1
--- /dev/null
+++ b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$FairSync.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_locks_ReentrantReadWriteLock$FairSync__
+#define __java_util_concurrent_locks_ReentrantReadWriteLock$FairSync__
+
+#pragma interface
+
+#include <java/util/concurrent/locks/ReentrantReadWriteLock$Sync.h>
+
+class java::util::concurrent::locks::ReentrantReadWriteLock$FairSync : public ::java::util::concurrent::locks::ReentrantReadWriteLock$Sync
+{
+
+public: // actually package-private
+ ReentrantReadWriteLock$FairSync();
+ jboolean writerShouldBlock(::java::lang::Thread *);
+ jboolean readerShouldBlock(::java::lang::Thread *);
+private:
+ static const jlong serialVersionUID = -2274990926593161451LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_locks_ReentrantReadWriteLock$FairSync__
diff --git a/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync.h b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync.h
new file mode 100644
index 000000000..29a565ae4
--- /dev/null
+++ b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_locks_ReentrantReadWriteLock$NonfairSync__
+#define __java_util_concurrent_locks_ReentrantReadWriteLock$NonfairSync__
+
+#pragma interface
+
+#include <java/util/concurrent/locks/ReentrantReadWriteLock$Sync.h>
+
+class java::util::concurrent::locks::ReentrantReadWriteLock$NonfairSync : public ::java::util::concurrent::locks::ReentrantReadWriteLock$Sync
+{
+
+public: // actually package-private
+ ReentrantReadWriteLock$NonfairSync();
+ jboolean writerShouldBlock(::java::lang::Thread *);
+ jboolean readerShouldBlock(::java::lang::Thread *);
+private:
+ static const jlong serialVersionUID = -8159625535654395037LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_locks_ReentrantReadWriteLock$NonfairSync__
diff --git a/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock.h b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock.h
new file mode 100644
index 000000000..0f48a6cb8
--- /dev/null
+++ b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock.h
@@ -0,0 +1,31 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_locks_ReentrantReadWriteLock$ReadLock__
+#define __java_util_concurrent_locks_ReentrantReadWriteLock$ReadLock__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::locks::ReentrantReadWriteLock$ReadLock : public ::java::lang::Object
+{
+
+public: // actually protected
+ ReentrantReadWriteLock$ReadLock(::java::util::concurrent::locks::ReentrantReadWriteLock *);
+public:
+ virtual void lock();
+ virtual void lockInterruptibly();
+ virtual jboolean tryLock();
+ virtual jboolean tryLock(jlong, ::java::util::concurrent::TimeUnit *);
+ virtual void unlock();
+ virtual ::java::util::concurrent::locks::Condition * newCondition();
+ virtual ::java::lang::String * toString();
+private:
+ static const jlong serialVersionUID = -5992448646407690164LL;
+ ::java::util::concurrent::locks::ReentrantReadWriteLock$Sync * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sync;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_locks_ReentrantReadWriteLock$ReadLock__
diff --git a/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$HoldCounter.h b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$HoldCounter.h
new file mode 100644
index 000000000..4813f0d8f
--- /dev/null
+++ b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$HoldCounter.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_locks_ReentrantReadWriteLock$Sync$HoldCounter__
+#define __java_util_concurrent_locks_ReentrantReadWriteLock$Sync$HoldCounter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::locks::ReentrantReadWriteLock$Sync$HoldCounter : public ::java::lang::Object
+{
+
+public: // actually package-private
+ ReentrantReadWriteLock$Sync$HoldCounter();
+ jint tryDecrement();
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) count;
+ jlong tid;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_locks_ReentrantReadWriteLock$Sync$HoldCounter__
diff --git a/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter.h b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter.h
new file mode 100644
index 000000000..10f87c922
--- /dev/null
+++ b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter.h
@@ -0,0 +1,22 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_locks_ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter__
+#define __java_util_concurrent_locks_ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter__
+
+#pragma interface
+
+#include <java/lang/ThreadLocal.h>
+
+class java::util::concurrent::locks::ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter : public ::java::lang::ThreadLocal
+{
+
+public: // actually package-private
+ ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter();
+public:
+ ::java::util::concurrent::locks::ReentrantReadWriteLock$Sync$HoldCounter * ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter$initialValue();
+ ::java::lang::Object * initialValue();
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_locks_ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter__
diff --git a/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$Sync.h b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$Sync.h
new file mode 100644
index 000000000..d1d43078f
--- /dev/null
+++ b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$Sync.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_locks_ReentrantReadWriteLock$Sync__
+#define __java_util_concurrent_locks_ReentrantReadWriteLock$Sync__
+
+#pragma interface
+
+#include <java/util/concurrent/locks/AbstractQueuedSynchronizer.h>
+
+class java::util::concurrent::locks::ReentrantReadWriteLock$Sync : public ::java::util::concurrent::locks::AbstractQueuedSynchronizer
+{
+
+public: // actually package-private
+ static jint sharedCount(jint);
+ static jint exclusiveCount(jint);
+ ReentrantReadWriteLock$Sync();
+ virtual jboolean readerShouldBlock(::java::lang::Thread *) = 0;
+ virtual jboolean writerShouldBlock(::java::lang::Thread *) = 0;
+public: // actually protected
+ virtual jboolean tryRelease(jint);
+ virtual jboolean tryAcquire(jint);
+ virtual jboolean tryReleaseShared(jint);
+ virtual jint tryAcquireShared(jint);
+public: // actually package-private
+ virtual jint fullTryAcquireShared(::java::lang::Thread *);
+ virtual jboolean tryWriteLock();
+ virtual jboolean tryReadLock();
+public: // actually protected
+ virtual jboolean isHeldExclusively();
+public: // actually package-private
+ virtual ::java::util::concurrent::locks::AbstractQueuedSynchronizer$ConditionObject * newCondition();
+ virtual ::java::lang::Thread * getOwner();
+ virtual jint getReadLockCount();
+ virtual jboolean isWriteLocked();
+ virtual jint getWriteHoldCount();
+ virtual jint getReadHoldCount();
+private:
+ void readObject(::java::io::ObjectInputStream *);
+public: // actually package-private
+ virtual jint getCount();
+private:
+ static const jlong serialVersionUID = 6317671515068378041LL;
+public: // actually package-private
+ static const jint SHARED_SHIFT = 16;
+ static const jint SHARED_UNIT = 65536;
+ static const jint MAX_COUNT = 65535;
+ static const jint EXCLUSIVE_MASK = 65535;
+ ::java::util::concurrent::locks::ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter * __attribute__((aligned(__alignof__( ::java::util::concurrent::locks::AbstractQueuedSynchronizer)))) readHolds;
+ ::java::util::concurrent::locks::ReentrantReadWriteLock$Sync$HoldCounter * cachedHoldCounter;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_locks_ReentrantReadWriteLock$Sync__
diff --git a/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock.h b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock.h
new file mode 100644
index 000000000..4e57d53c6
--- /dev/null
+++ b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock.h
@@ -0,0 +1,33 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_locks_ReentrantReadWriteLock$WriteLock__
+#define __java_util_concurrent_locks_ReentrantReadWriteLock$WriteLock__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::locks::ReentrantReadWriteLock$WriteLock : public ::java::lang::Object
+{
+
+public: // actually protected
+ ReentrantReadWriteLock$WriteLock(::java::util::concurrent::locks::ReentrantReadWriteLock *);
+public:
+ virtual void lock();
+ virtual void lockInterruptibly();
+ virtual jboolean tryLock();
+ virtual jboolean tryLock(jlong, ::java::util::concurrent::TimeUnit *);
+ virtual void unlock();
+ virtual ::java::util::concurrent::locks::Condition * newCondition();
+ virtual ::java::lang::String * toString();
+ virtual jboolean isHeldByCurrentThread();
+ virtual jint getHoldCount();
+private:
+ static const jlong serialVersionUID = -4992448646407690164LL;
+ ::java::util::concurrent::locks::ReentrantReadWriteLock$Sync * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sync;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_locks_ReentrantReadWriteLock$WriteLock__
diff --git a/libjava/java/util/concurrent/locks/ReentrantReadWriteLock.h b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock.h
new file mode 100644
index 000000000..e7da50a75
--- /dev/null
+++ b/libjava/java/util/concurrent/locks/ReentrantReadWriteLock.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_concurrent_locks_ReentrantReadWriteLock__
+#define __java_util_concurrent_locks_ReentrantReadWriteLock__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::concurrent::locks::ReentrantReadWriteLock : public ::java::lang::Object
+{
+
+public:
+ ReentrantReadWriteLock();
+ ReentrantReadWriteLock(jboolean);
+ virtual ::java::util::concurrent::locks::ReentrantReadWriteLock$WriteLock * ReentrantReadWriteLock$writeLock();
+ virtual ::java::util::concurrent::locks::ReentrantReadWriteLock$ReadLock * ReentrantReadWriteLock$readLock();
+ virtual jboolean isFair();
+public: // actually protected
+ virtual ::java::lang::Thread * getOwner();
+public:
+ virtual jint getReadLockCount();
+ virtual jboolean isWriteLocked();
+ virtual jboolean isWriteLockedByCurrentThread();
+ virtual jint getWriteHoldCount();
+ virtual jint getReadHoldCount();
+public: // actually protected
+ virtual ::java::util::Collection * getQueuedWriterThreads();
+ virtual ::java::util::Collection * getQueuedReaderThreads();
+public:
+ virtual jboolean hasQueuedThreads();
+ virtual jboolean hasQueuedThread(::java::lang::Thread *);
+ virtual jint getQueueLength();
+public: // actually protected
+ virtual ::java::util::Collection * getQueuedThreads();
+public:
+ virtual jboolean hasWaiters(::java::util::concurrent::locks::Condition *);
+ virtual jint getWaitQueueLength(::java::util::concurrent::locks::Condition *);
+public: // actually protected
+ virtual ::java::util::Collection * getWaitingThreads(::java::util::concurrent::locks::Condition *);
+public:
+ virtual ::java::lang::String * toString();
+ virtual ::java::util::concurrent::locks::Lock * readLock();
+ virtual ::java::util::concurrent::locks::Lock * writeLock();
+public: // actually package-private
+ static ::java::util::concurrent::locks::ReentrantReadWriteLock$Sync * access$2(::java::util::concurrent::locks::ReentrantReadWriteLock *);
+private:
+ static const jlong serialVersionUID = -6992448646407690164LL;
+ ::java::util::concurrent::locks::ReentrantReadWriteLock$ReadLock * __attribute__((aligned(__alignof__( ::java::lang::Object)))) readerLock;
+ ::java::util::concurrent::locks::ReentrantReadWriteLock$WriteLock * writerLock;
+ ::java::util::concurrent::locks::ReentrantReadWriteLock$Sync * sync;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_concurrent_locks_ReentrantReadWriteLock__
diff --git a/libjava/java/util/jar/Attributes$Name.h b/libjava/java/util/jar/Attributes$Name.h
new file mode 100644
index 000000000..867bcea77
--- /dev/null
+++ b/libjava/java/util/jar/Attributes$Name.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_jar_Attributes$Name__
+#define __java_util_jar_Attributes$Name__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::jar::Attributes$Name : public ::java::lang::Object
+{
+
+public:
+ Attributes$Name(::java::lang::String *);
+ virtual jint hashCode();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::String * toString();
+ static ::java::util::jar::Attributes$Name * MANIFEST_VERSION;
+ static ::java::util::jar::Attributes$Name * SIGNATURE_VERSION;
+ static ::java::util::jar::Attributes$Name * CLASS_PATH;
+ static ::java::util::jar::Attributes$Name * MAIN_CLASS;
+ static ::java::util::jar::Attributes$Name * EXTENSION_LIST;
+ static ::java::util::jar::Attributes$Name * EXTENSION_NAME;
+ static ::java::util::jar::Attributes$Name * EXTENSION_INSTALLATION;
+ static ::java::util::jar::Attributes$Name * IMPLEMENTATION_TITLE;
+ static ::java::util::jar::Attributes$Name * IMPLEMENTATION_VERSION;
+ static ::java::util::jar::Attributes$Name * IMPLEMENTATION_VENDOR;
+ static ::java::util::jar::Attributes$Name * IMPLEMENTATION_VENDOR_ID;
+ static ::java::util::jar::Attributes$Name * IMPLEMENTATION_URL;
+ static ::java::util::jar::Attributes$Name * SPECIFICATION_TITLE;
+ static ::java::util::jar::Attributes$Name * SPECIFICATION_VERSION;
+ static ::java::util::jar::Attributes$Name * SPECIFICATION_VENDOR;
+ static ::java::util::jar::Attributes$Name * SEALED;
+ static ::java::util::jar::Attributes$Name * CONTENT_TYPE;
+private:
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name;
+ ::java::lang::String * origName;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_jar_Attributes$Name__
diff --git a/libjava/java/util/jar/Attributes.h b/libjava/java/util/jar/Attributes.h
new file mode 100644
index 000000000..628be03df
--- /dev/null
+++ b/libjava/java/util/jar/Attributes.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_jar_Attributes__
+#define __java_util_jar_Attributes__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::jar::Attributes : public ::java::lang::Object
+{
+
+public:
+ Attributes();
+ Attributes(jint);
+ Attributes(::java::util::jar::Attributes *);
+ virtual ::java::lang::String * getValue(::java::lang::String *);
+ virtual ::java::lang::String * getValue(::java::util::jar::Attributes$Name *);
+ virtual ::java::lang::String * putValue(::java::lang::String *, ::java::lang::String *);
+private:
+ ::java::lang::String * putValue(::java::util::jar::Attributes$Name *, ::java::lang::String *);
+public:
+ virtual ::java::lang::Object * clone();
+ virtual void clear();
+ virtual jboolean containsKey(::java::lang::Object *);
+ virtual jboolean containsValue(::java::lang::Object *);
+ virtual ::java::util::Set * entrySet();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual ::java::lang::Object * get(::java::lang::Object *);
+ virtual jint hashCode();
+ virtual jboolean isEmpty();
+ virtual ::java::util::Set * keySet();
+ virtual ::java::lang::Object * put(::java::lang::Object *, ::java::lang::Object *);
+ virtual void putAll(::java::util::Map *);
+ virtual ::java::lang::Object * remove(::java::lang::Object *);
+ virtual jint size();
+ virtual ::java::util::Collection * values();
+public: // actually protected
+ ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) map;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_jar_Attributes__
diff --git a/libjava/java/util/jar/JarEntry.h b/libjava/java/util/jar/JarEntry.h
new file mode 100644
index 000000000..c95ab9486
--- /dev/null
+++ b/libjava/java/util/jar/JarEntry.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_jar_JarEntry__
+#define __java_util_jar_JarEntry__
+
+#pragma interface
+
+#include <java/util/zip/ZipEntry.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace java
+ {
+ namespace security
+ {
+ namespace cert
+ {
+ class Certificate;
+ }
+ }
+ }
+}
+
+class java::util::jar::JarEntry : public ::java::util::zip::ZipEntry
+{
+
+public:
+ JarEntry(::java::lang::String *);
+ JarEntry(::java::util::zip::ZipEntry *);
+ JarEntry(::java::util::jar::JarEntry *);
+ virtual ::java::util::jar::Attributes * getAttributes();
+ virtual JArray< ::java::security::cert::Certificate * > * getCertificates();
+public: // actually package-private
+ ::java::util::jar::Attributes * __attribute__((aligned(__alignof__( ::java::util::zip::ZipEntry)))) attr;
+ ::java::util::jar::JarFile * jarfile;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_jar_JarEntry__
diff --git a/libjava/java/util/jar/JarException.h b/libjava/java/util/jar/JarException.h
new file mode 100644
index 000000000..4ea6da37b
--- /dev/null
+++ b/libjava/java/util/jar/JarException.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_jar_JarException__
+#define __java_util_jar_JarException__
+
+#pragma interface
+
+#include <java/util/zip/ZipException.h>
+
+class java::util::jar::JarException : public ::java::util::zip::ZipException
+{
+
+public:
+ JarException();
+ JarException(::java::lang::String *);
+private:
+ static const jlong serialVersionUID = 7159778400963954473LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_jar_JarException__
diff --git a/libjava/java/util/jar/JarFile$EntryInputStream.h b/libjava/java/util/jar/JarFile$EntryInputStream.h
new file mode 100644
index 000000000..cf68dbf45
--- /dev/null
+++ b/libjava/java/util/jar/JarFile$EntryInputStream.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_jar_JarFile$EntryInputStream__
+#define __java_util_jar_JarFile$EntryInputStream__
+
+#pragma interface
+
+#include <java/io/FilterInputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace java
+ {
+ namespace security
+ {
+ class MessageDigest;
+ }
+ }
+}
+
+class java::util::jar::JarFile$EntryInputStream : public ::java::io::FilterInputStream
+{
+
+public: // actually package-private
+ JarFile$EntryInputStream(::java::util::zip::ZipEntry *, ::java::io::InputStream *, ::java::util::jar::JarFile *);
+public:
+ virtual jboolean markSupported();
+ virtual void mark(jint);
+ virtual void reset();
+ virtual jint read();
+ virtual jint read(JArray< jbyte > *, jint, jint);
+ virtual jint read(JArray< jbyte > *);
+ virtual jlong skip(jlong);
+private:
+ void eof();
+ ::java::util::jar::JarFile * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) jarfile;
+ jlong length;
+ jlong pos;
+ ::java::util::zip::ZipEntry * entry;
+ JArray< JArray< jbyte > * > * hashes;
+ JArray< ::java::security::MessageDigest * > * md;
+ jboolean checked;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_jar_JarFile$EntryInputStream__
diff --git a/libjava/java/util/jar/JarFile$JarEnumeration.h b/libjava/java/util/jar/JarFile$JarEnumeration.h
new file mode 100644
index 000000000..60aea6996
--- /dev/null
+++ b/libjava/java/util/jar/JarFile$JarEnumeration.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_jar_JarFile$JarEnumeration__
+#define __java_util_jar_JarFile$JarEnumeration__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::jar::JarFile$JarEnumeration : public ::java::lang::Object
+{
+
+public: // actually package-private
+ JarFile$JarEnumeration(::java::util::Enumeration *, ::java::util::jar::JarFile *);
+public:
+ virtual jboolean hasMoreElements();
+ virtual ::java::util::jar::JarEntry * JarFile$JarEnumeration$nextElement();
+ virtual ::java::lang::Object * nextElement();
+private:
+ ::java::util::Enumeration * __attribute__((aligned(__alignof__( ::java::lang::Object)))) entries;
+ ::java::util::jar::JarFile * jarfile;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_jar_JarFile$JarEnumeration__
diff --git a/libjava/java/util/jar/JarFile.h b/libjava/java/util/jar/JarFile.h
new file mode 100644
index 000000000..081be76bf
--- /dev/null
+++ b/libjava/java/util/jar/JarFile.h
@@ -0,0 +1,103 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_jar_JarFile__
+#define __java_util_jar_JarFile__
+
+#pragma interface
+
+#include <java/util/zip/ZipFile.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ class OID;
+ namespace pkcs
+ {
+ class SignerInfo;
+ }
+ namespace provider
+ {
+ class Gnu;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace security
+ {
+ namespace cert
+ {
+ class Certificate;
+ }
+ }
+ }
+}
+
+class java::util::jar::JarFile : public ::java::util::zip::ZipFile
+{
+
+public: // actually package-private
+ static void debug(::java::lang::Object *);
+public:
+ JarFile(::java::lang::String *);
+ JarFile(::java::lang::String *, jboolean);
+ JarFile(::java::io::File *);
+ JarFile(::java::io::File *, jboolean);
+ JarFile(::java::io::File *, jboolean, jint);
+private:
+ void verify();
+ ::java::util::jar::Manifest * readManifest();
+public:
+ virtual ::java::util::Enumeration * entries();
+ virtual ::java::util::zip::ZipEntry * getEntry(::java::lang::String *);
+ virtual ::java::io::InputStream * getInputStream(::java::util::zip::ZipEntry *);
+ virtual ::java::util::jar::JarEntry * getJarEntry(::java::lang::String *);
+ virtual ::java::util::jar::Manifest * getManifest();
+public: // actually package-private
+ virtual void readSignatures();
+private:
+ void verify(JArray< ::java::security::cert::Certificate * > *, ::gnu::java::security::pkcs::SignerInfo *, ::java::lang::String *, ::java::util::Set *);
+ jboolean verifyHashes(::java::lang::String *, ::java::util::jar::Attributes *, ::java::util::HashMap *);
+public:
+ static ::java::lang::String * MANIFEST_NAME;
+private:
+ static ::java::lang::String * META_INF;
+ static ::java::lang::String * PKCS7_DSA_SUFFIX;
+ static ::java::lang::String * PKCS7_RSA_SUFFIX;
+ static ::java::lang::String * DIGEST_KEY_SUFFIX;
+ static ::java::lang::String * SF_SUFFIX;
+public: // actually package-private
+ static ::gnu::java::security::provider::Gnu * provider;
+private:
+ static ::gnu::java::security::OID * MD2_OID;
+ static ::gnu::java::security::OID * MD4_OID;
+ static ::gnu::java::security::OID * MD5_OID;
+ static ::gnu::java::security::OID * SHA1_OID;
+ static ::gnu::java::security::OID * DSA_ENCRYPTION_OID;
+ static ::gnu::java::security::OID * RSA_ENCRYPTION_OID;
+ ::java::util::jar::Manifest * __attribute__((aligned(__alignof__( ::java::util::zip::ZipFile)))) manifest;
+public: // actually package-private
+ jboolean verify__;
+private:
+ jboolean manifestRead;
+public: // actually package-private
+ jboolean signaturesRead;
+ ::java::util::HashMap * verified;
+ ::java::util::HashMap * entryCerts;
+private:
+ ::java::util::HashMap * digestAlgorithms;
+public: // actually package-private
+ static jboolean DEBUG;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_jar_JarFile__
diff --git a/libjava/java/util/jar/JarInputStream.h b/libjava/java/util/jar/JarInputStream.h
new file mode 100644
index 000000000..7e4441d7e
--- /dev/null
+++ b/libjava/java/util/jar/JarInputStream.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_jar_JarInputStream__
+#define __java_util_jar_JarInputStream__
+
+#pragma interface
+
+#include <java/util/zip/ZipInputStream.h>
+#include <gcj/array.h>
+
+
+class java::util::jar::JarInputStream : public ::java::util::zip::ZipInputStream
+{
+
+public:
+ JarInputStream(::java::io::InputStream *);
+ JarInputStream(::java::io::InputStream *, jboolean);
+private:
+ void readManifest(jboolean);
+public: // actually protected
+ virtual ::java::util::zip::ZipEntry * createZipEntry(::java::lang::String *);
+public:
+ virtual ::java::util::jar::Manifest * getManifest();
+ virtual ::java::util::zip::ZipEntry * getNextEntry();
+ virtual ::java::util::jar::JarEntry * getNextJarEntry();
+ virtual jint read(JArray< jbyte > *, jint, jint);
+private:
+ ::java::util::jar::Manifest * __attribute__((aligned(__alignof__( ::java::util::zip::ZipInputStream)))) manifest;
+ ::java::util::jar::JarEntry * firstEntry;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_jar_JarInputStream__
diff --git a/libjava/java/util/jar/JarOutputStream.h b/libjava/java/util/jar/JarOutputStream.h
new file mode 100644
index 000000000..184f307c5
--- /dev/null
+++ b/libjava/java/util/jar/JarOutputStream.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_jar_JarOutputStream__
+#define __java_util_jar_JarOutputStream__
+
+#pragma interface
+
+#include <java/util/zip/ZipOutputStream.h>
+
+class java::util::jar::JarOutputStream : public ::java::util::zip::ZipOutputStream
+{
+
+public:
+ JarOutputStream(::java::io::OutputStream *);
+ JarOutputStream(::java::io::OutputStream *, ::java::util::jar::Manifest *);
+private:
+ void writeManifest(::java::util::jar::Manifest *);
+public:
+ virtual void putNextEntry(::java::util::zip::ZipEntry *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_jar_JarOutputStream__
diff --git a/libjava/java/util/jar/Manifest.h b/libjava/java/util/jar/Manifest.h
new file mode 100644
index 000000000..b0f2e9932
--- /dev/null
+++ b/libjava/java/util/jar/Manifest.h
@@ -0,0 +1,34 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_jar_Manifest__
+#define __java_util_jar_Manifest__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::jar::Manifest : public ::java::lang::Object
+{
+
+public:
+ Manifest();
+ Manifest(::java::io::InputStream *);
+ Manifest(::java::util::jar::Manifest *);
+ virtual ::java::util::jar::Attributes * getMainAttributes();
+ virtual ::java::util::Map * getEntries();
+ virtual ::java::util::jar::Attributes * getAttributes(::java::lang::String *);
+ virtual void clear();
+ virtual void read(::java::io::InputStream *);
+ virtual void write(::java::io::OutputStream *);
+ virtual ::java::lang::Object * clone();
+ virtual jboolean equals(::java::lang::Object *);
+ virtual jint hashCode();
+private:
+ ::java::util::jar::Attributes * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mainAttr;
+ ::java::util::Map * entries;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_jar_Manifest__
diff --git a/libjava/java/util/logging/ConsoleHandler.h b/libjava/java/util/logging/ConsoleHandler.h
new file mode 100644
index 000000000..0d1bbe02d
--- /dev/null
+++ b/libjava/java/util/logging/ConsoleHandler.h
@@ -0,0 +1,21 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_logging_ConsoleHandler__
+#define __java_util_logging_ConsoleHandler__
+
+#pragma interface
+
+#include <java/util/logging/StreamHandler.h>
+
+class java::util::logging::ConsoleHandler : public ::java::util::logging::StreamHandler
+{
+
+public:
+ ConsoleHandler();
+ virtual void close();
+ virtual void publish(::java::util::logging::LogRecord *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_logging_ConsoleHandler__
diff --git a/libjava/java/util/logging/ErrorManager.h b/libjava/java/util/logging/ErrorManager.h
new file mode 100644
index 000000000..58d48c9e2
--- /dev/null
+++ b/libjava/java/util/logging/ErrorManager.h
@@ -0,0 +1,29 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_logging_ErrorManager__
+#define __java_util_logging_ErrorManager__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::logging::ErrorManager : public ::java::lang::Object
+{
+
+public:
+ ErrorManager();
+ virtual void error(::java::lang::String *, ::java::lang::Exception *, jint);
+ static const jint GENERIC_FAILURE = 0;
+ static const jint WRITE_FAILURE = 1;
+ static const jint FLUSH_FAILURE = 2;
+ static const jint CLOSE_FAILURE = 3;
+ static const jint OPEN_FAILURE = 4;
+ static const jint FORMAT_FAILURE = 5;
+private:
+ jboolean volatile __attribute__((aligned(__alignof__( ::java::lang::Object)))) everUsed;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_logging_ErrorManager__
diff --git a/libjava/java/util/logging/FileHandler$ostr.h b/libjava/java/util/logging/FileHandler$ostr.h
new file mode 100644
index 000000000..e34a3db87
--- /dev/null
+++ b/libjava/java/util/logging/FileHandler$ostr.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_logging_FileHandler$ostr__
+#define __java_util_logging_FileHandler$ostr__
+
+#pragma interface
+
+#include <java/io/FilterOutputStream.h>
+#include <gcj/array.h>
+
+
+class java::util::logging::FileHandler$ostr : public ::java::io::FilterOutputStream
+{
+
+ FileHandler$ostr(::java::util::logging::FileHandler *, ::java::io::OutputStream *);
+public:
+ void write(jint);
+ void write(JArray< jbyte > *);
+ void write(JArray< jbyte > *, jint, jint);
+public: // actually package-private
+ FileHandler$ostr(::java::util::logging::FileHandler *, ::java::io::OutputStream *, ::java::util::logging::FileHandler$ostr *);
+ ::java::util::logging::FileHandler * __attribute__((aligned(__alignof__( ::java::io::FilterOutputStream)))) this$0;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_logging_FileHandler$ostr__
diff --git a/libjava/java/util/logging/FileHandler.h b/libjava/java/util/logging/FileHandler.h
new file mode 100644
index 000000000..16feec2b2
--- /dev/null
+++ b/libjava/java/util/logging/FileHandler.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_logging_FileHandler__
+#define __java_util_logging_FileHandler__
+
+#pragma interface
+
+#include <java/util/logging/StreamHandler.h>
+
+class java::util::logging::FileHandler : public ::java::util::logging::StreamHandler
+{
+
+public:
+ FileHandler();
+ FileHandler(::java::lang::String *);
+ FileHandler(::java::lang::String *, jboolean);
+ FileHandler(::java::lang::String *, jint, jint);
+ FileHandler(::java::lang::String *, jint, jint, jboolean);
+private:
+ ::java::io::OutputStream * createFileStream(::java::lang::String *, jint, jint, jboolean, jint);
+ static ::java::lang::String * replaceFileNameEscapes(::java::lang::String *, jint, jint, jint);
+public:
+ virtual void publish(::java::util::logging::LogRecord *);
+private:
+ void rotate();
+ static jboolean has(::java::lang::String *, jchar);
+ static ::java::lang::String * PROPERTY_PREFIX;
+ static ::java::lang::String * PATTERN_KEY;
+ static ::java::lang::String * DEFAULT_PATTERN;
+ static ::java::lang::String * LIMIT_KEY;
+ static const jint DEFAULT_LIMIT = 0;
+ static ::java::lang::String * COUNT_KEY;
+ static const jint DEFAULT_COUNT = 1;
+ static ::java::lang::String * APPEND_KEY;
+ static const jboolean DEFAULT_APPEND = 0;
+ jint __attribute__((aligned(__alignof__( ::java::util::logging::StreamHandler)))) limit;
+ jint count;
+ ::java::lang::String * pattern;
+ jboolean append;
+public: // actually package-private
+ jlong written;
+private:
+ ::java::util::LinkedList * logFiles;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_logging_FileHandler__
diff --git a/libjava/java/util/logging/Filter.h b/libjava/java/util/logging/Filter.h
new file mode 100644
index 000000000..23b8ca6a1
--- /dev/null
+++ b/libjava/java/util/logging/Filter.h
@@ -0,0 +1,19 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_logging_Filter__
+#define __java_util_logging_Filter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::logging::Filter : public ::java::lang::Object
+{
+
+public:
+ virtual jboolean isLoggable(::java::util::logging::LogRecord *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_logging_Filter__
diff --git a/libjava/java/util/logging/Formatter.h b/libjava/java/util/logging/Formatter.h
new file mode 100644
index 000000000..def22454c
--- /dev/null
+++ b/libjava/java/util/logging/Formatter.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_logging_Formatter__
+#define __java_util_logging_Formatter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::logging::Formatter : public ::java::lang::Object
+{
+
+public: // actually protected
+ Formatter();
+public:
+ virtual ::java::lang::String * format(::java::util::logging::LogRecord *) = 0;
+ virtual ::java::lang::String * getHead(::java::util::logging::Handler *);
+ virtual ::java::lang::String * getTail(::java::util::logging::Handler *);
+ virtual ::java::lang::String * formatMessage(::java::util::logging::LogRecord *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_logging_Formatter__
diff --git a/libjava/java/util/logging/Handler.h b/libjava/java/util/logging/Handler.h
new file mode 100644
index 000000000..2c722be60
--- /dev/null
+++ b/libjava/java/util/logging/Handler.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_logging_Handler__
+#define __java_util_logging_Handler__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::logging::Handler : public ::java::lang::Object
+{
+
+public: // actually protected
+ Handler();
+public:
+ virtual void publish(::java::util::logging::LogRecord *) = 0;
+ virtual void flush() = 0;
+ virtual void close() = 0;
+ virtual ::java::util::logging::Formatter * getFormatter();
+ virtual void setFormatter(::java::util::logging::Formatter *);
+ virtual ::java::lang::String * getEncoding();
+ virtual void setEncoding(::java::lang::String *);
+ virtual ::java::util::logging::Filter * getFilter();
+ virtual void setFilter(::java::util::logging::Filter *);
+ virtual ::java::util::logging::ErrorManager * getErrorManager();
+ virtual void setErrorManager(::java::util::logging::ErrorManager *);
+public: // actually protected
+ virtual void reportError(::java::lang::String *, ::java::lang::Exception *, jint);
+public:
+ virtual ::java::util::logging::Level * getLevel();
+ virtual void setLevel(::java::util::logging::Level *);
+ virtual jboolean isLoggable(::java::util::logging::LogRecord *);
+public: // actually package-private
+ ::java::util::logging::Formatter * __attribute__((aligned(__alignof__( ::java::lang::Object)))) formatter;
+ ::java::util::logging::Filter * filter;
+ ::java::util::logging::Level * level;
+ ::java::util::logging::ErrorManager * errorManager;
+ ::java::lang::String * encoding;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_logging_Handler__
diff --git a/libjava/java/util/logging/Level.h b/libjava/java/util/logging/Level.h
new file mode 100644
index 000000000..34f516093
--- /dev/null
+++ b/libjava/java/util/logging/Level.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_logging_Level__
+#define __java_util_logging_Level__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::logging::Level : public ::java::lang::Object
+{
+
+public: // actually protected
+ Level(::java::lang::String *, jint);
+ Level(::java::lang::String *, jint, ::java::lang::String *);
+private:
+ ::java::lang::Object * readResolve();
+public:
+ virtual ::java::lang::String * getResourceBundleName();
+ virtual ::java::lang::String * getName();
+ virtual ::java::lang::String * getLocalizedName();
+ virtual ::java::lang::String * toString();
+ virtual jint intValue();
+ static ::java::util::logging::Level * parse(::java::lang::String *);
+ virtual jboolean equals(::java::lang::Object *);
+ virtual jint hashCode();
+public: // actually package-private
+ virtual jboolean isStandardLevel();
+public:
+ static ::java::util::logging::Level * OFF;
+ static ::java::util::logging::Level * SEVERE;
+ static ::java::util::logging::Level * WARNING;
+ static ::java::util::logging::Level * INFO;
+ static ::java::util::logging::Level * CONFIG;
+ static ::java::util::logging::Level * FINE;
+ static ::java::util::logging::Level * FINER;
+ static ::java::util::logging::Level * FINEST;
+ static ::java::util::logging::Level * ALL;
+private:
+ static JArray< ::java::util::logging::Level * > * knownLevels;
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name;
+ jint value;
+ ::java::lang::String * resourceBundleName;
+public: // actually package-private
+ static const jlong serialVersionUID = -8176160795706313070LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_logging_Level__
diff --git a/libjava/java/util/logging/LogManager$1.h b/libjava/java/util/logging/LogManager$1.h
new file mode 100644
index 000000000..0d1ed2152
--- /dev/null
+++ b/libjava/java/util/logging/LogManager$1.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_logging_LogManager$1__
+#define __java_util_logging_LogManager$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::logging::LogManager$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ LogManager$1();
+public:
+ virtual ::java::lang::String * getLoggerLevel(::java::lang::String *);
+ virtual ::java::util::List * getLoggerNames();
+ virtual ::java::lang::String * getParentLoggerName(::java::lang::String *);
+ virtual void setLoggerLevel(::java::lang::String *, ::java::lang::String *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_logging_LogManager$1__
diff --git a/libjava/java/util/logging/LogManager.h b/libjava/java/util/logging/LogManager.h
new file mode 100644
index 000000000..f552d65d7
--- /dev/null
+++ b/libjava/java/util/logging/LogManager.h
@@ -0,0 +1,77 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_logging_LogManager__
+#define __java_util_logging_LogManager__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace java
+ {
+ namespace beans
+ {
+ class PropertyChangeListener;
+ class PropertyChangeSupport;
+ }
+ }
+}
+
+class java::util::logging::LogManager : public ::java::lang::Object
+{
+
+public: // actually protected
+ LogManager();
+public:
+ static ::java::util::logging::LogManager * getLogManager();
+private:
+ static ::java::util::logging::LogManager * makeLogManager();
+ static void initLogManager();
+public:
+ virtual void addPropertyChangeListener(::java::beans::PropertyChangeListener *);
+ virtual void removePropertyChangeListener(::java::beans::PropertyChangeListener *);
+ virtual jboolean addLogger(::java::util::logging::Logger *);
+private:
+ ::java::util::logging::Logger * findAncestor(::java::util::logging::Logger *);
+public:
+ virtual ::java::util::logging::Logger * getLogger(::java::lang::String *);
+ virtual ::java::util::Enumeration * getLoggerNames();
+ virtual void reset();
+ virtual void readConfiguration();
+ virtual void readConfiguration(::java::io::InputStream *);
+ virtual ::java::lang::String * getProperty(::java::lang::String *);
+public: // actually package-private
+ static jint getIntProperty(::java::lang::String *, jint);
+ static jint getIntPropertyClamped(::java::lang::String *, jint, jint, jint);
+ static jboolean getBooleanProperty(::java::lang::String *, jboolean);
+ static ::java::util::logging::Level * getLevelProperty(::java::lang::String *, ::java::util::logging::Level *);
+ static ::java::lang::Class * getClassProperty(::java::lang::String *, ::java::lang::Class *);
+ static ::java::lang::Object * getInstanceProperty(::java::lang::String *, ::java::lang::Class *, ::java::lang::Class *);
+public:
+ virtual void checkAccess();
+private:
+ static ::java::lang::Object * createInstance(::java::lang::String *, ::java::lang::Class *, ::java::lang::String *);
+ static void warn(::java::lang::String *, ::java::lang::String *, ::java::lang::Throwable *);
+ static void warn(::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
+ static void warn(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::Throwable *);
+ static void warn(::java::lang::String *, ::java::lang::Throwable *);
+ static ::java::lang::Class * locateClass(::java::lang::String *);
+public:
+ static ::java::util::logging::LoggingMXBean * getLoggingMXBean();
+ static ::java::lang::String * LOGGING_MXBEAN_NAME;
+private:
+ static ::java::util::logging::LogManager * logManager;
+ static ::java::util::logging::LoggingMXBean * loggingBean;
+ ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) loggers;
+ ::java::util::Properties * properties;
+ ::java::beans::PropertyChangeSupport * pcs;
+ static ::java::lang::String * MANAGER_PROPERTY;
+ static ::java::lang::String * CONFIG_PROPERTY;
+ static ::java::util::logging::LoggingPermission * controlPermission;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_logging_LogManager__
diff --git a/libjava/java/util/logging/LogManager.java b/libjava/java/util/logging/LogManager.java
new file mode 100644
index 000000000..811310c70
--- /dev/null
+++ b/libjava/java/util/logging/LogManager.java
@@ -0,0 +1,991 @@
+/* LogManager.java -- a class for maintaining Loggers and managing
+ configuration properties
+ Copyright (C) 2002, 2005, 2006, 2007 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.util.logging;
+
+import gnu.classpath.SystemProperties;
+
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyChangeSupport;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.ref.WeakReference;
+import java.net.URL;
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.StringTokenizer;
+
+/**
+ * The <code>LogManager</code> maintains a hierarchical namespace
+ * of Logger objects and manages properties for configuring the logging
+ * framework. There exists only one single <code>LogManager</code>
+ * per virtual machine. This instance can be retrieved using the
+ * static method {@link #getLogManager()}.
+ *
+ * <p><strong>Configuration Process:</strong> The global LogManager
+ * object is created and configured when the class
+ * <code>java.util.logging.LogManager</code> is initialized.
+ * The configuration process includes the subsequent steps:
+ *
+ * <ul>
+ * <li>If the system property <code>java.util.logging.manager</code>
+ * is set to the name of a subclass of
+ * <code>java.util.logging.LogManager</code>, an instance of
+ * that subclass is created and becomes the global LogManager.
+ * Otherwise, a new instance of LogManager is created.</li>
+ * <li>The <code>LogManager</code> constructor tries to create
+ * a new instance of the class specified by the system
+ * property <code>java.util.logging.config.class</code>.
+ * Typically, the constructor of this class will call
+ * <code>LogManager.getLogManager().readConfiguration(java.io.InputStream)</code>
+ * for configuring the logging framework.
+ * The configuration process stops at this point if
+ * the system property <code>java.util.logging.config.class</code>
+ * is set (irrespective of whether the class constructor
+ * could be called or an exception was thrown).</li>
+ *
+ * <li>If the system property <code>java.util.logging.config.class</code>
+ * is <em>not</em> set, the configuration parameters are read in from
+ * a file and passed to
+ * {@link #readConfiguration(java.io.InputStream)}.
+ * The name and location of this file are specified by the system
+ * property <code>java.util.logging.config.file</code>.</li>
+ * <li>If the system property <code>java.util.logging.config.file</code>
+ * is not set, however, the contents of the URL
+ * "{gnu.classpath.home.url}/logging.properties" are passed to
+ * {@link #readConfiguration(java.io.InputStream)}.
+ * Here, "{gnu.classpath.home.url}" stands for the value of
+ * the system property <code>gnu.classpath.home.url</code>.</li>
+ * </ul>
+ *
+ * <p>The <code>LogManager</code> has a level of <code>INFO</code> by
+ * default, and this will be inherited by <code>Logger</code>s unless they
+ * override it either by properties or programmatically.
+ *
+ * @author Sascha Brawer (brawer@acm.org)
+ */
+public class LogManager
+{
+ /**
+ * The object name for the logging management bean.
+ * @since 1.5
+ */
+ public static final String LOGGING_MXBEAN_NAME
+ = "java.util.logging:type=Logging";
+
+ /**
+ * The singleton LogManager instance.
+ */
+ private static LogManager logManager;
+
+ /**
+ * The singleton logging bean.
+ */
+ private static LoggingMXBean loggingBean;
+
+ /**
+ * The registered named loggers; maps the name of a Logger to
+ * a WeakReference to it.
+ */
+ private Map<String, WeakReference<Logger>> loggers;
+
+ /**
+ * The properties for the logging framework which have been
+ * read in last.
+ */
+ private Properties properties;
+
+ /**
+ * A delegate object that provides support for handling
+ * PropertyChangeEvents. The API specification does not
+ * mention which bean should be the source in the distributed
+ * PropertyChangeEvents, but Mauve test code has determined that
+ * the Sun J2SE 1.4 reference implementation uses the LogManager
+ * class object. This is somewhat strange, as the class object
+ * is not the bean with which listeners have to register, but
+ * there is no reason for the GNU Classpath implementation to
+ * behave differently from the reference implementation in
+ * this case.
+ */
+ private final PropertyChangeSupport pcs = new PropertyChangeSupport( /* source bean */
+ LogManager.class);
+
+ protected LogManager()
+ {
+ loggers = new HashMap();
+ }
+
+ /**
+ * Returns the globally shared LogManager instance.
+ */
+ public static synchronized LogManager getLogManager()
+ {
+ if (logManager == null)
+ {
+ logManager = makeLogManager();
+ initLogManager();
+ }
+ return logManager;
+ }
+
+ private static final String MANAGER_PROPERTY = "java.util.logging.manager";
+
+ private static LogManager makeLogManager()
+ {
+ String managerClassName = SystemProperties.getProperty(MANAGER_PROPERTY);
+ LogManager manager = (LogManager) createInstance
+ (managerClassName, LogManager.class, MANAGER_PROPERTY);
+ if (manager == null)
+ manager = new LogManager();
+ return manager;
+ }
+
+ private static final String CONFIG_PROPERTY = "java.util.logging.config.class";
+
+ private static void initLogManager()
+ {
+ LogManager manager = getLogManager();
+ Logger.root.setLevel(Level.INFO);
+ manager.addLogger(Logger.root);
+
+ /* The Javadoc description of the class explains
+ * what is going on here.
+ */
+ Object configurator = createInstance(System.getProperty(CONFIG_PROPERTY),
+ /* must be instance of */ Object.class,
+ CONFIG_PROPERTY);
+
+ try
+ {
+ if (configurator == null)
+ manager.readConfiguration();
+ }
+ catch (IOException ex)
+ {
+ /* FIXME: Is it ok to ignore exceptions here? */
+ }
+ }
+
+ /**
+ * Registers a listener which will be notified when the
+ * logging properties are re-read.
+ */
+ public synchronized void addPropertyChangeListener(PropertyChangeListener listener)
+ {
+ /* do not register null. */
+ listener.getClass();
+
+ pcs.addPropertyChangeListener(listener);
+ }
+
+ /**
+ * Unregisters a listener.
+ *
+ * If <code>listener</code> has not been registered previously,
+ * nothing happens. Also, no exception is thrown if
+ * <code>listener</code> is <code>null</code>.
+ */
+ public synchronized void removePropertyChangeListener(PropertyChangeListener listener)
+ {
+ if (listener != null)
+ pcs.removePropertyChangeListener(listener);
+ }
+
+ /**
+ * Adds a named logger. If a logger with the same name has
+ * already been registered, the method returns <code>false</code>
+ * without adding the logger.
+ *
+ * <p>The <code>LogManager</code> only keeps weak references
+ * to registered loggers. Therefore, names can become available
+ * after automatic garbage collection.
+ *
+ * @param logger the logger to be added.
+ *
+ * @return <code>true</code>if <code>logger</code> was added,
+ * <code>false</code> otherwise.
+ *
+ * @throws NullPointerException if <code>name</code> is
+ * <code>null</code>.
+ */
+ public synchronized boolean addLogger(Logger logger)
+ {
+ /* To developers thinking about to remove the 'synchronized'
+ * declaration from this method: Please read the comment
+ * in java.util.logging.Logger.getLogger(String, String)
+ * and make sure that whatever you change wrt. synchronization
+ * does not endanger thread-safety of Logger.getLogger.
+ * The current implementation of Logger.getLogger assumes
+ * that LogManager does its synchronization on the globally
+ * shared instance of LogManager.
+ */
+ String name;
+ WeakReference ref;
+
+ /* This will throw a NullPointerException if logger is null,
+ * as required by the API specification.
+ */
+ name = logger.getName();
+
+ ref = loggers.get(name);
+ if (ref != null)
+ {
+ if (ref.get() != null)
+ return false;
+
+ /* There has been a logger under this name in the past,
+ * but it has been garbage collected.
+ */
+ loggers.remove(ref);
+ }
+
+ /* Adding a named logger requires a security permission. */
+ if ((name != null) && ! name.equals(""))
+ checkAccess();
+
+ Logger parent = findAncestor(logger);
+ loggers.put(name, new WeakReference<Logger>(logger));
+ if (parent != logger.getParent())
+ logger.setParent(parent);
+
+ // The level of the newly added logger must be specified.
+ // The easiest case is if there is a level for exactly this logger
+ // in the properties. If no such level exists the level needs to be
+ // searched along the hirachy. So if there is a new logger 'foo.blah.blub'
+ // and an existing parent logger 'foo' the properties 'foo.blah.blub.level'
+ // and 'foo.blah.level' need to be checked. If both do not exist in the
+ // properties the level of the new logger is set to 'null' (i.e. it uses the
+ // level of its parent 'foo').
+ Level logLevel = logger.getLevel();
+ String searchName = name;
+ String parentName = parent != null ? parent.getName() : "";
+ while (logLevel == null && ! searchName.equals(parentName))
+ {
+ logLevel = getLevelProperty(searchName + ".level", logLevel);
+ int index = searchName.lastIndexOf('.');
+ if(index > -1)
+ searchName = searchName.substring(0,index);
+ else
+ searchName = "";
+ }
+ logger.setLevel(logLevel);
+
+ /* It can happen that existing loggers should be children of
+ * the newly added logger. For example, assume that there
+ * already exist loggers under the names "", "foo", and "foo.bar.baz".
+ * When adding "foo.bar", the logger "foo.bar.baz" should change
+ * its parent to "foo.bar".
+ */
+ for (Iterator iter = loggers.keySet().iterator(); iter.hasNext();)
+ {
+ Logger possChild = (Logger) ((WeakReference) loggers.get(iter.next()))
+ .get();
+ if ((possChild == null) || (possChild == logger)
+ || (possChild.getParent() != parent))
+ continue;
+
+ if (! possChild.getName().startsWith(name))
+ continue;
+
+ if (possChild.getName().charAt(name.length()) != '.')
+ continue;
+
+ possChild.setParent(logger);
+ }
+
+ return true;
+ }
+
+ /**
+ * Finds the closest ancestor for a logger among the currently
+ * registered ones. For example, if the currently registered
+ * loggers have the names "", "foo", and "foo.bar", the result for
+ * "foo.bar.baz" will be the logger whose name is "foo.bar".
+ *
+ * @param child a logger for whose name no logger has been
+ * registered.
+ *
+ * @return the closest ancestor for <code>child</code>,
+ * or <code>null</code> if <code>child</code>
+ * is the root logger.
+ *
+ * @throws NullPointerException if <code>child</code>
+ * is <code>null</code>.
+ */
+ private synchronized Logger findAncestor(Logger child)
+ {
+ String childName = child.getName();
+ int childNameLength = childName.length();
+ Logger best = Logger.root;
+ int bestNameLength = 0;
+
+ Logger cand;
+ int candNameLength;
+
+ if (child == Logger.root)
+ return null;
+
+ for (String candName : loggers.keySet())
+ {
+ candNameLength = candName.length();
+
+ if (candNameLength > bestNameLength
+ && childNameLength > candNameLength
+ && childName.startsWith(candName)
+ && childName.charAt(candNameLength) == '.')
+ {
+ cand = loggers.get(candName).get();
+ if ((cand == null) || (cand == child))
+ continue;
+
+ bestNameLength = candName.length();
+ best = cand;
+ }
+ }
+
+ return best;
+ }
+
+ /**
+ * Returns a Logger given its name.
+ *
+ * @param name the name of the logger.
+ *
+ * @return a named Logger, or <code>null</code> if there is no
+ * logger with that name.
+ *
+ * @throw java.lang.NullPointerException if <code>name</code>
+ * is <code>null</code>.
+ */
+ public synchronized Logger getLogger(String name)
+ {
+ WeakReference<Logger> ref;
+
+ /* Throw a NullPointerException if name is null. */
+ name.getClass();
+
+ ref = loggers.get(name);
+ if (ref != null)
+ return ref.get();
+ else
+ return null;
+ }
+
+ /**
+ * Returns an Enumeration of currently registered Logger names.
+ * Since other threads can register loggers at any time, the
+ * result could be different any time this method is called.
+ *
+ * @return an Enumeration with the names of the currently
+ * registered Loggers.
+ */
+ public synchronized Enumeration<String> getLoggerNames()
+ {
+ return Collections.enumeration(loggers.keySet());
+ }
+
+ /**
+ * Resets the logging configuration by removing all handlers for
+ * registered named loggers and setting their level to <code>null</code>.
+ * The level of the root logger will be set to <code>Level.INFO</code>.
+ *
+ * @throws SecurityException if a security manager exists and
+ * the caller is not granted the permission to control
+ * the logging infrastructure.
+ */
+ public synchronized void reset() throws SecurityException
+ {
+ /* Throw a SecurityException if the caller does not have the
+ * permission to control the logging infrastructure.
+ */
+ checkAccess();
+
+ properties = new Properties();
+
+ Iterator<WeakReference<Logger>> iter = loggers.values().iterator();
+ while (iter.hasNext())
+ {
+ WeakReference<Logger> ref;
+ Logger logger;
+
+ ref = iter.next();
+ if (ref != null)
+ {
+ logger = ref.get();
+
+ if (logger == null)
+ iter.remove();
+ else if (logger != Logger.root)
+ {
+ logger.resetLogger();
+ logger.setLevel(null);
+ }
+ }
+ }
+
+ Logger.root.setLevel(Level.INFO);
+ Logger.root.resetLogger();
+ }
+
+ /**
+ * Configures the logging framework by reading a configuration file.
+ * The name and location of this file are specified by the system
+ * property <code>java.util.logging.config.file</code>. If this
+ * property is not set, the URL
+ * "{gnu.classpath.home.url}/logging.properties" is taken, where
+ * "{gnu.classpath.home.url}" stands for the value of the system
+ * property <code>gnu.classpath.home.url</code>.
+ *
+ * <p>The task of configuring the framework is then delegated to
+ * {@link #readConfiguration(java.io.InputStream)}, which will
+ * notify registered listeners after having read the properties.
+ *
+ * @throws SecurityException if a security manager exists and
+ * the caller is not granted the permission to control
+ * the logging infrastructure, or if the caller is
+ * not granted the permission to read the configuration
+ * file.
+ *
+ * @throws IOException if there is a problem reading in the
+ * configuration file.
+ */
+ public synchronized void readConfiguration()
+ throws IOException, SecurityException
+ {
+ String path;
+ InputStream inputStream;
+
+ path = System.getProperty("java.util.logging.config.file");
+ if ((path == null) || (path.length() == 0))
+ {
+ String url = (System.getProperty("gnu.classpath.home.url")
+ + "/logging.properties");
+ try
+ {
+ inputStream = new URL(url).openStream();
+ }
+ catch (Exception e)
+ {
+ inputStream=null;
+ }
+
+ // If no config file could be found use a default configuration.
+ if(inputStream == null)
+ {
+ String defaultConfig = "handlers = java.util.logging.ConsoleHandler \n"
+ + ".level=INFO \n";
+ inputStream = new ByteArrayInputStream(defaultConfig.getBytes());
+ }
+ }
+ else
+ inputStream = new java.io.FileInputStream(path);
+
+ try
+ {
+ readConfiguration(inputStream);
+ }
+ finally
+ {
+ // Close the stream in order to save
+ // resources such as file descriptors.
+ inputStream.close();
+ }
+ }
+
+ public synchronized void readConfiguration(InputStream inputStream)
+ throws IOException, SecurityException
+ {
+ Properties newProperties;
+ Enumeration keys;
+
+ checkAccess();
+ newProperties = new Properties();
+ newProperties.load(inputStream);
+ reset();
+ this.properties = newProperties;
+ keys = newProperties.propertyNames();
+
+ while (keys.hasMoreElements())
+ {
+ String key = ((String) keys.nextElement()).trim();
+ String value = newProperties.getProperty(key);
+
+ if (value == null)
+ continue;
+
+ value = value.trim();
+
+ if ("handlers".equals(key))
+ {
+ // In Java 5 and earlier this was specified to be
+ // whitespace-separated, but in reality it also accepted
+ // commas (tomcat relied on this), and in Java 6 the
+ // documentation was updated to fit the implementation.
+ StringTokenizer tokenizer = new StringTokenizer(value,
+ " \t\n\r\f,");
+ while (tokenizer.hasMoreTokens())
+ {
+ String handlerName = tokenizer.nextToken();
+ Handler handler = (Handler)
+ createInstance(handlerName, Handler.class, key);
+ // Tomcat also relies on the implementation ignoring
+ // items in 'handlers' which are not class names.
+ if (handler != null)
+ Logger.root.addHandler(handler);
+ }
+ }
+
+ if (key.endsWith(".level"))
+ {
+ String loggerName = key.substring(0, key.length() - 6);
+ Logger logger = getLogger(loggerName);
+
+ if (logger == null)
+ {
+ logger = Logger.getLogger(loggerName);
+ addLogger(logger);
+ }
+ Level level = null;
+ try
+ {
+ level = Level.parse(value);
+ }
+ catch (IllegalArgumentException e)
+ {
+ warn("bad level \'" + value + "\'", e);
+ }
+ if (level != null)
+ {
+ logger.setLevel(level);
+ }
+ continue;
+ }
+ }
+
+ /* The API specification does not talk about the
+ * property name that is distributed with the
+ * PropertyChangeEvent. With test code, it could
+ * be determined that the Sun J2SE 1.4 reference
+ * implementation uses null for the property name.
+ */
+ pcs.firePropertyChange(null, null, null);
+ }
+
+ /**
+ * Returns the value of a configuration property as a String.
+ */
+ public synchronized String getProperty(String name)
+ {
+ if (properties != null)
+ return properties.getProperty(name);
+ else
+ return null;
+ }
+
+ /**
+ * Returns the value of a configuration property as an integer.
+ * This function is a helper used by the Classpath implementation
+ * of java.util.logging, it is <em>not</em> specified in the
+ * logging API.
+ *
+ * @param name the name of the configuration property.
+ *
+ * @param defaultValue the value that will be returned if the
+ * property is not defined, or if its value is not an integer
+ * number.
+ */
+ static int getIntProperty(String name, int defaultValue)
+ {
+ try
+ {
+ return Integer.parseInt(getLogManager().getProperty(name));
+ }
+ catch (Exception ex)
+ {
+ return defaultValue;
+ }
+ }
+
+ /**
+ * Returns the value of a configuration property as an integer,
+ * provided it is inside the acceptable range.
+ * This function is a helper used by the Classpath implementation
+ * of java.util.logging, it is <em>not</em> specified in the
+ * logging API.
+ *
+ * @param name the name of the configuration property.
+ *
+ * @param minValue the lowest acceptable value.
+ *
+ * @param maxValue the highest acceptable value.
+ *
+ * @param defaultValue the value that will be returned if the
+ * property is not defined, or if its value is not an integer
+ * number, or if it is less than the minimum value,
+ * or if it is greater than the maximum value.
+ */
+ static int getIntPropertyClamped(String name, int defaultValue,
+ int minValue, int maxValue)
+ {
+ int val = getIntProperty(name, defaultValue);
+ if ((val < minValue) || (val > maxValue))
+ val = defaultValue;
+ return val;
+ }
+
+ /**
+ * Returns the value of a configuration property as a boolean.
+ * This function is a helper used by the Classpath implementation
+ * of java.util.logging, it is <em>not</em> specified in the
+ * logging API.
+ *
+ * @param name the name of the configuration property.
+ *
+ * @param defaultValue the value that will be returned if the
+ * property is not defined, or if its value is neither
+ * <code>"true"</code> nor <code>"false"</code>.
+ */
+ static boolean getBooleanProperty(String name, boolean defaultValue)
+ {
+ try
+ {
+ return (Boolean.valueOf(getLogManager().getProperty(name))).booleanValue();
+ }
+ catch (Exception ex)
+ {
+ return defaultValue;
+ }
+ }
+
+ /**
+ * Returns the value of a configuration property as a Level.
+ * This function is a helper used by the Classpath implementation
+ * of java.util.logging, it is <em>not</em> specified in the
+ * logging API.
+ *
+ * @param propertyName the name of the configuration property.
+ *
+ * @param defaultValue the value that will be returned if the
+ * property is not defined, or if
+ * {@link Level#parse(java.lang.String)} does not like
+ * the property value.
+ */
+ static Level getLevelProperty(String propertyName, Level defaultValue)
+ {
+ try
+ {
+ String value = getLogManager().getProperty(propertyName);
+ if (value != null)
+ return Level.parse(getLogManager().getProperty(propertyName));
+ else
+ return defaultValue;
+ }
+ catch (Exception ex)
+ {
+ return defaultValue;
+ }
+ }
+
+ /**
+ * Returns the value of a configuration property as a Class.
+ * This function is a helper used by the Classpath implementation
+ * of java.util.logging, it is <em>not</em> specified in the
+ * logging API.
+ *
+ * @param propertyName the name of the configuration property.
+ *
+ * @param defaultValue the value that will be returned if the
+ * property is not defined, or if it does not specify
+ * the name of a loadable class.
+ */
+ static final Class getClassProperty(String propertyName, Class defaultValue)
+ {
+ String propertyValue = logManager.getProperty(propertyName);
+
+ if (propertyValue != null)
+ try
+ {
+ return locateClass(propertyValue);
+ }
+ catch (ClassNotFoundException e)
+ {
+ warn(propertyName + " = " + propertyValue, e);
+ }
+
+ return defaultValue;
+ }
+
+ static final Object getInstanceProperty(String propertyName, Class ofClass,
+ Class defaultClass)
+ {
+ Class klass = getClassProperty(propertyName, defaultClass);
+ if (klass == null)
+ return null;
+
+ try
+ {
+ Object obj = klass.newInstance();
+ if (ofClass.isInstance(obj))
+ return obj;
+ }
+ catch (InstantiationException e)
+ {
+ warn(propertyName + " = " + klass.getName(), e);
+ }
+ catch (IllegalAccessException e)
+ {
+ warn(propertyName + " = " + klass.getName(), e);
+ }
+
+ if (defaultClass == null)
+ return null;
+
+ try
+ {
+ return defaultClass.newInstance();
+ }
+ catch (java.lang.InstantiationException ex)
+ {
+ throw new RuntimeException(ex.getMessage());
+ }
+ catch (java.lang.IllegalAccessException ex)
+ {
+ throw new RuntimeException(ex.getMessage());
+ }
+ }
+
+ /**
+ * An instance of <code>LoggingPermission("control")</code>
+ * that is shared between calls to <code>checkAccess()</code>.
+ */
+ private static final LoggingPermission controlPermission = new LoggingPermission("control",
+ null);
+
+ /**
+ * Checks whether the current security context allows changing
+ * the configuration of the logging framework. For the security
+ * context to be trusted, it has to be granted
+ * a LoggingPermission("control").
+ *
+ * @throws SecurityException if a security manager exists and
+ * the caller is not granted the permission to control
+ * the logging infrastructure.
+ */
+ public void checkAccess() throws SecurityException
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null)
+ sm.checkPermission(controlPermission);
+ }
+
+ /**
+ * Creates a new instance of a class specified by name and verifies
+ * that it is an instance (or subclass of) a given type.
+ *
+ * @param className the name of the class of which a new instance
+ * should be created.
+ *
+ * @param type the object created must be an instance of
+ * <code>type</code> or any subclass of <code>type</code>
+ *
+ * @param property the system property to reference in error
+ * messages
+ *
+ * @return the new instance, or <code>null</code> if
+ * <code>className</code> is <code>null</code>, if no class
+ * with that name could be found, if there was an error
+ * loading that class, or if the constructor of the class
+ * has thrown an exception.
+ */
+ private static final Object createInstance(String className, Class type,
+ String property)
+ {
+ Class klass = null;
+
+ if ((className == null) || (className.length() == 0))
+ return null;
+
+ try
+ {
+ klass = locateClass(className);
+ if (type.isAssignableFrom(klass))
+ return klass.newInstance();
+ warn(property, className, "not an instance of " + type.getName());
+ }
+ catch (ClassNotFoundException e)
+ {
+ warn(property, className, "class not found", e);
+ }
+ catch (IllegalAccessException e)
+ {
+ warn(property, className, "illegal access", e);
+ }
+ catch (InstantiationException e)
+ {
+ warn(property, className, e);
+ }
+ catch (java.lang.LinkageError e)
+ {
+ warn(property, className, "linkage error", e);
+ }
+
+ return null;
+ }
+
+ private static final void warn(String property, String klass, Throwable t)
+ {
+ warn(property, klass, null, t);
+ }
+
+ private static final void warn(String property, String klass, String msg)
+ {
+ warn(property, klass, msg, null);
+ }
+
+ private static final void warn(String property, String klass, String msg,
+ Throwable t)
+ {
+ warn("error instantiating '" + klass + "' referenced by " + property +
+ (msg == null ? "" : ", " + msg), t);
+ }
+
+ /**
+ * All debug warnings go through this method.
+ */
+
+ private static final void warn(String msg, Throwable t)
+ {
+ System.err.println("WARNING: " + msg);
+ if (t != null)
+ t.printStackTrace(System.err);
+ }
+
+ /**
+ * Locates a class by first checking the system class loader and
+ * then checking the context class loader.
+ *
+ * @param name the fully qualified name of the Class to locate
+ * @return Class the located Class
+ */
+
+ private static Class locateClass(String name) throws ClassNotFoundException
+ {
+ // GCJ LOCAL
+ // Unfortunately this can be called during bootstrap when
+ // Thread.currentThread() will return null.
+ // See bug #27658
+ Thread t = Thread.currentThread();
+ ClassLoader loader = (t == null) ? null : t.getContextClassLoader();
+ try
+ {
+ return Class.forName(name, true, loader);
+ }
+ catch (ClassNotFoundException e)
+ {
+ loader = ClassLoader.getSystemClassLoader();
+ return Class.forName(name, true, loader);
+ }
+ }
+
+ /**
+ * Return the logging bean. There is a single logging bean per
+ * VM instance.
+ * @since 1.5
+ */
+ public static synchronized LoggingMXBean getLoggingMXBean()
+ {
+ if (loggingBean == null)
+ {
+ loggingBean = new LoggingMXBean()
+ {
+ public String getLoggerLevel(String logger)
+ {
+ LogManager mgr = getLogManager();
+ Logger l = mgr.getLogger(logger);
+ if (l == null)
+ return null;
+ Level lev = l.getLevel();
+ if (lev == null)
+ return "";
+ return lev.getName();
+ }
+
+ public List getLoggerNames()
+ {
+ LogManager mgr = getLogManager();
+ // This is inefficient, but perhaps better for maintenance.
+ return Collections.list(mgr.getLoggerNames());
+ }
+
+ public String getParentLoggerName(String logger)
+ {
+ LogManager mgr = getLogManager();
+ Logger l = mgr.getLogger(logger);
+ if (l == null)
+ return null;
+ l = l.getParent();
+ if (l == null)
+ return "";
+ return l.getName();
+ }
+
+ public void setLoggerLevel(String logger, String level)
+ {
+ LogManager mgr = getLogManager();
+ Logger l = mgr.getLogger(logger);
+ if (l == null)
+ throw new IllegalArgumentException("no logger named " + logger);
+ Level newLevel;
+ if (level == null)
+ newLevel = null;
+ else
+ newLevel = Level.parse(level);
+ l.setLevel(newLevel);
+ }
+ };
+ }
+ return loggingBean;
+ }
+}
diff --git a/libjava/java/util/logging/LogRecord.h b/libjava/java/util/logging/LogRecord.h
new file mode 100644
index 000000000..445415909
--- /dev/null
+++ b/libjava/java/util/logging/LogRecord.h
@@ -0,0 +1,70 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_logging_LogRecord__
+#define __java_util_logging_LogRecord__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::logging::LogRecord : public ::java::lang::Object
+{
+
+public:
+ LogRecord(::java::util::logging::Level *, ::java::lang::String *);
+private:
+ void readObject(::java::io::ObjectInputStream *);
+ void writeObject(::java::io::ObjectOutputStream *);
+public:
+ virtual ::java::lang::String * getLoggerName();
+ virtual void setLoggerName(::java::lang::String *);
+ virtual ::java::util::ResourceBundle * getResourceBundle();
+ virtual void setResourceBundle(::java::util::ResourceBundle *);
+ virtual ::java::lang::String * getResourceBundleName();
+ virtual void setResourceBundleName(::java::lang::String *);
+ virtual ::java::util::logging::Level * getLevel();
+ virtual void setLevel(::java::util::logging::Level *);
+private:
+ static jlong allocateSeqNum();
+public:
+ virtual jlong getSequenceNumber();
+ virtual void setSequenceNumber(jlong);
+ virtual ::java::lang::String * getSourceClassName();
+ virtual void setSourceClassName(::java::lang::String *);
+ virtual ::java::lang::String * getSourceMethodName();
+ virtual void setSourceMethodName(::java::lang::String *);
+ virtual ::java::lang::String * getMessage();
+ virtual void setMessage(::java::lang::String *);
+ virtual JArray< ::java::lang::Object * > * getParameters();
+ virtual void setParameters(JArray< ::java::lang::Object * > *);
+ virtual jint getThreadID();
+ virtual void setThreadID(jint);
+ virtual jlong getMillis();
+ virtual void setMillis(jlong);
+ virtual ::java::lang::Throwable * getThrown();
+ virtual void setThrown(::java::lang::Throwable *);
+private:
+ ::java::util::logging::Level * __attribute__((aligned(__alignof__( ::java::lang::Object)))) level;
+ jlong sequenceNumber;
+ ::java::lang::String * sourceClassName;
+ ::java::lang::String * sourceMethodName;
+ ::java::lang::String * message;
+ jint threadID;
+ jlong millis;
+ ::java::lang::Throwable * thrown;
+ ::java::lang::String * loggerName;
+ ::java::lang::String * resourceBundleName;
+ JArray< ::java::lang::Object * > * parameters;
+ ::java::util::ResourceBundle * bundle;
+public: // actually package-private
+ static const jlong serialVersionUID = 5372048053134512534LL;
+private:
+ static jlong lastSeqNum;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_logging_LogRecord__
diff --git a/libjava/java/util/logging/Logger$1.h b/libjava/java/util/logging/Logger$1.h
new file mode 100644
index 000000000..69189e73b
--- /dev/null
+++ b/libjava/java/util/logging/Logger$1.h
@@ -0,0 +1,21 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_logging_Logger$1__
+#define __java_util_logging_Logger$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::logging::Logger$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Logger$1();
+public:
+ virtual ::java::lang::Object * run();
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_logging_Logger$1__
diff --git a/libjava/java/util/logging/Logger.h b/libjava/java/util/logging/Logger.h
new file mode 100644
index 000000000..c73a8d3c8
--- /dev/null
+++ b/libjava/java/util/logging/Logger.h
@@ -0,0 +1,90 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_logging_Logger__
+#define __java_util_logging_Logger__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::logging::Logger : public ::java::lang::Object
+{
+
+public: // actually protected
+ Logger(::java::lang::String *, ::java::lang::String *);
+public:
+ static ::java::util::logging::Logger * getLogger(::java::lang::String *);
+ static ::java::util::logging::Logger * getLogger(::java::lang::String *, ::java::lang::String *);
+ static ::java::util::logging::Logger * getAnonymousLogger();
+ static ::java::util::logging::Logger * getAnonymousLogger(::java::lang::String *);
+ virtual ::java::lang::String * getResourceBundleName();
+ virtual ::java::util::ResourceBundle * getResourceBundle();
+ virtual ::java::util::logging::Level * getLevel();
+ virtual jboolean isLoggable(::java::util::logging::Level *);
+ virtual void setLevel(::java::util::logging::Level *);
+ virtual ::java::util::logging::Filter * getFilter();
+ virtual void setFilter(::java::util::logging::Filter *);
+ virtual ::java::lang::String * getName();
+ virtual void log(::java::util::logging::LogRecord *);
+ virtual void log(::java::util::logging::Level *, ::java::lang::String *);
+ virtual void log(::java::util::logging::Level *, ::java::lang::String *, ::java::lang::Object *);
+ virtual void log(::java::util::logging::Level *, ::java::lang::String *, JArray< ::java::lang::Object * > *);
+ virtual void log(::java::util::logging::Level *, ::java::lang::String *, ::java::lang::Throwable *);
+ virtual void logp(::java::util::logging::Level *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
+ virtual void logp(::java::util::logging::Level *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::Object *);
+private:
+ ::java::util::ResourceBundle * findResourceBundle();
+ void logImpl(::java::util::logging::Level *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::Object * > *);
+public:
+ virtual void logp(::java::util::logging::Level *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::Object * > *);
+ virtual void logp(::java::util::logging::Level *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::Throwable *);
+ virtual void logrb(::java::util::logging::Level *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
+ virtual void logrb(::java::util::logging::Level *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::Object *);
+ virtual void logrb(::java::util::logging::Level *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::Object * > *);
+ virtual void logrb(::java::util::logging::Level *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::Throwable *);
+ virtual void entering(::java::lang::String *, ::java::lang::String *);
+ virtual void entering(::java::lang::String *, ::java::lang::String *, ::java::lang::Object *);
+ virtual void entering(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::Object * > *);
+ virtual void exiting(::java::lang::String *, ::java::lang::String *);
+ virtual void exiting(::java::lang::String *, ::java::lang::String *, ::java::lang::Object *);
+ virtual void throwing(::java::lang::String *, ::java::lang::String *, ::java::lang::Throwable *);
+ virtual void severe(::java::lang::String *);
+ virtual void warning(::java::lang::String *);
+ virtual void info(::java::lang::String *);
+ virtual void config(::java::lang::String *);
+ virtual void fine(::java::lang::String *);
+ virtual void finer(::java::lang::String *);
+ virtual void finest(::java::lang::String *);
+ virtual void addHandler(::java::util::logging::Handler *);
+ virtual void removeHandler(::java::util::logging::Handler *);
+ virtual JArray< ::java::util::logging::Handler * > * getHandlers();
+ virtual jboolean getUseParentHandlers();
+ virtual void setUseParentHandlers(jboolean);
+ virtual ::java::util::logging::Logger * getParent();
+ virtual void setParent(::java::util::logging::Logger *);
+private:
+ ::java::lang::StackTraceElement * getCallerStackFrame();
+public: // actually package-private
+ virtual void resetLogger();
+ static ::java::util::logging::Logger * root;
+public:
+ static ::java::util::logging::Logger * global;
+private:
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name;
+ ::java::lang::String * resourceBundleName;
+ ::java::util::ResourceBundle * resourceBundle;
+ ::java::util::logging::Filter * filter;
+ ::java::util::List * handlerList;
+ JArray< ::java::util::logging::Handler * > * handlers;
+ jboolean anonymous;
+ jboolean useParentHandlers;
+ ::java::util::logging::Level * level;
+ ::java::util::logging::Logger * parent;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_logging_Logger__
diff --git a/libjava/java/util/logging/Logger.java b/libjava/java/util/logging/Logger.java
new file mode 100644
index 000000000..04f24d354
--- /dev/null
+++ b/libjava/java/util/logging/Logger.java
@@ -0,0 +1,1206 @@
+/* Logger.java -- a class for logging messages
+ Copyright (C) 2002, 2004, 2006, 2007 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.util.logging;
+
+import java.util.List;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
+/**
+ * A Logger is used for logging information about events. Usually, there
+ * is a seprate logger for each subsystem or component, although there
+ * is a shared instance for components that make only occasional use of
+ * the logging framework.
+ *
+ * <p>It is common to name a logger after the name of a corresponding
+ * Java package. Loggers are organized into a hierarchical namespace;
+ * for example, the logger <code>"org.gnu.foo"</code> is the
+ * <em>parent</em> of logger <code>"org.gnu.foo.bar"</code>.
+ *
+ * <p>A logger for a named subsystem can be obtained through {@link
+ * java.util.logging.Logger#getLogger(java.lang.String)}. However,
+ * only code which has been granted the permission to control the
+ * logging infrastructure will be allowed to customize that logger.
+ * Untrusted code can obtain a private, anonymous logger through
+ * {@link #getAnonymousLogger()} if it wants to perform any
+ * modifications to the logger.
+ *
+ * <p>FIXME: Write more documentation.
+ *
+ * @author Sascha Brawer (brawer@acm.org)
+ */
+public class Logger
+{
+
+ static final Logger root = new Logger("", null);
+
+ /**
+ * A logger provided to applications that make only occasional use
+ * of the logging framework, typically early prototypes. Serious
+ * products are supposed to create and use their own Loggers, so
+ * they can be controlled individually.
+ */
+ public static final Logger global;
+
+ static
+ {
+ // Our class might be initialized from an unprivileged context
+ global = (Logger) AccessController.doPrivileged
+ (new PrivilegedAction()
+ {
+ public Object run()
+ {
+ return getLogger("global");
+ }
+ });
+ }
+
+
+ /**
+ * The name of the Logger, or <code>null</code> if the logger is
+ * anonymous.
+ *
+ * <p>A previous version of the GNU Classpath implementation granted
+ * untrusted code the permission to control any logger whose name
+ * was null. However, test code revealed that the Sun J2SE 1.4
+ * reference implementation enforces the security control for any
+ * logger that was not created through getAnonymousLogger, even if
+ * it has a null name. Therefore, a separate flag {@link
+ * Logger#anonymous} was introduced.
+ */
+ private final String name;
+
+
+ /**
+ * The name of the resource bundle used for localization.
+ *
+ * <p>This variable cannot be declared as <code>final</code>
+ * because its value can change as a result of calling
+ * getLogger(String,String).
+ */
+ private String resourceBundleName;
+
+
+ /**
+ * The resource bundle used for localization.
+ *
+ * <p>This variable cannot be declared as <code>final</code>
+ * because its value can change as a result of calling
+ * getLogger(String,String).
+ */
+ private ResourceBundle resourceBundle;
+
+ private Filter filter;
+
+ private final List handlerList = new java.util.ArrayList(4);
+ private Handler[] handlers = new Handler[0];
+
+ /**
+ * Indicates whether or not this logger is anonymous. While
+ * a LoggingPermission is required for any modifications to
+ * a normal logger, untrusted code can obtain an anonymous logger
+ * and modify it according to its needs.
+ *
+ * <p>A previous version of the GNU Classpath implementation
+ * granted access to every logger whose name was null.
+ * However, test code revealed that the Sun J2SE 1.4 reference
+ * implementation enforces the security control for any logger
+ * that was not created through getAnonymousLogger, even
+ * if it has a null name.
+ */
+ private boolean anonymous;
+
+
+ private boolean useParentHandlers;
+
+ private Level level;
+
+ private Logger parent;
+
+ /**
+ * Constructs a Logger for a subsystem. Most applications do not
+ * need to create new Loggers explicitly; instead, they should call
+ * the static factory methods
+ * {@link #getLogger(java.lang.String,java.lang.String) getLogger}
+ * (with ResourceBundle for localization) or
+ * {@link #getLogger(java.lang.String) getLogger} (without
+ * ResourceBundle), respectively.
+ *
+ * @param name the name for the logger, for example "java.awt"
+ * or "com.foo.bar". The name should be based on
+ * the name of the package issuing log records
+ * and consist of dot-separated Java identifiers.
+ *
+ * @param resourceBundleName the name of a resource bundle
+ * for localizing messages, or <code>null</code>
+ * to indicate that messages do not need to be localized.
+ *
+ * @throws java.util.MissingResourceException if
+ * <code>resourceBundleName</code> is not <code>null</code>
+ * and no such bundle could be located.
+ */
+ protected Logger(String name, String resourceBundleName)
+ throws MissingResourceException
+ {
+ this.name = name;
+ this.resourceBundleName = resourceBundleName;
+
+ if (resourceBundleName == null)
+ resourceBundle = null;
+ else
+ resourceBundle = ResourceBundle.getBundle(resourceBundleName);
+
+ level = null;
+
+ /* This is null when the root logger is being constructed,
+ * and the root logger afterwards.
+ */
+ parent = root;
+
+ useParentHandlers = (parent != null);
+ }
+
+
+
+ /**
+ * Finds a registered logger for a subsystem, or creates one in
+ * case no logger has been registered yet.
+ *
+ * @param name the name for the logger, for example "java.awt"
+ * or "com.foo.bar". The name should be based on
+ * the name of the package issuing log records
+ * and consist of dot-separated Java identifiers.
+ *
+ * @throws IllegalArgumentException if a logger for the subsystem
+ * identified by <code>name</code> has already been created,
+ * but uses a a resource bundle for localizing messages.
+ *
+ * @throws NullPointerException if <code>name</code> is
+ * <code>null</code>.
+ *
+ * @return a logger for the subsystem specified by <code>name</code>
+ * that does not localize messages.
+ */
+ public static Logger getLogger(String name)
+ {
+ return getLogger(name, null);
+ }
+
+
+ /**
+ * Finds a registered logger for a subsystem, or creates one in case
+ * no logger has been registered yet.
+ *
+ * <p>If a logger with the specified name has already been
+ * registered, the behavior depends on the resource bundle that is
+ * currently associated with the existing logger.
+ *
+ * <ul><li>If the existing logger uses the same resource bundle as
+ * specified by <code>resourceBundleName</code>, the existing logger
+ * is returned.</li>
+ *
+ * <li>If the existing logger currently does not localize messages,
+ * the existing logger is modified to use the bundle specified by
+ * <code>resourceBundleName</code>. The existing logger is then
+ * returned. Therefore, all subsystems currently using this logger
+ * will produce localized messages from now on.</li>
+ *
+ * <li>If the existing logger already has an associated resource
+ * bundle, but a different one than specified by
+ * <code>resourceBundleName</code>, an
+ * <code>IllegalArgumentException</code> is thrown.</li></ul>
+ *
+ * @param name the name for the logger, for example "java.awt"
+ * or "org.gnu.foo". The name should be based on
+ * the name of the package issuing log records
+ * and consist of dot-separated Java identifiers.
+ *
+ * @param resourceBundleName the name of a resource bundle
+ * for localizing messages, or <code>null</code>
+ * to indicate that messages do not need to be localized.
+ *
+ * @return a logger for the subsystem specified by <code>name</code>.
+ *
+ * @throws java.util.MissingResourceException if
+ * <code>resourceBundleName</code> is not <code>null</code>
+ * and no such bundle could be located.
+ *
+ * @throws IllegalArgumentException if a logger for the subsystem
+ * identified by <code>name</code> has already been created,
+ * but uses a different resource bundle for localizing
+ * messages.
+ *
+ * @throws NullPointerException if <code>name</code> is
+ * <code>null</code>.
+ */
+ public static Logger getLogger(String name, String resourceBundleName)
+ {
+ LogManager lm = LogManager.getLogManager();
+ Logger result;
+
+ if (name == null)
+ throw new NullPointerException();
+
+ /* Without synchronized(lm), it could happen that another thread
+ * would create a logger between our calls to getLogger and
+ * addLogger. While addLogger would indicate this by returning
+ * false, we could not be sure that this other logger was still
+ * existing when we called getLogger a second time in order
+ * to retrieve it -- note that LogManager is only allowed to
+ * keep weak references to registered loggers, so Loggers
+ * can be garbage collected at any time in general, and between
+ * our call to addLogger and our second call go getLogger
+ * in particular.
+ *
+ * Of course, we assume here that LogManager.addLogger etc.
+ * are synchronizing on the global LogManager object. There
+ * is a comment in the implementation of LogManager.addLogger
+ * referring to this comment here, so that any change in
+ * the synchronization of LogManager will be reflected here.
+ */
+ synchronized (lm)
+ {
+ result = lm.getLogger(name);
+ if (result == null)
+ {
+ boolean couldBeAdded;
+
+ result = new Logger(name, resourceBundleName);
+ couldBeAdded = lm.addLogger(result);
+ if (!couldBeAdded)
+ throw new IllegalStateException("cannot register new logger");
+ }
+ else
+ {
+ /* The logger already exists. Make sure it uses
+ * the same resource bundle for localizing messages.
+ */
+ String existingBundleName = result.getResourceBundleName();
+
+ /* The Sun J2SE 1.4 reference implementation will return the
+ * registered logger object, even if it does not have a resource
+ * bundle associated with it. However, it seems to change the
+ * resourceBundle of the registered logger to the bundle
+ * whose name was passed to getLogger.
+ */
+ if ((existingBundleName == null) && (resourceBundleName != null))
+ {
+ /* If ResourceBundle.getBundle throws an exception, the
+ * existing logger will be unchanged. This would be
+ * different if the assignment to resourceBundleName
+ * came first.
+ */
+ result.resourceBundle = ResourceBundle.getBundle(resourceBundleName);
+ result.resourceBundleName = resourceBundleName;
+ return result;
+ }
+
+ if ((existingBundleName != resourceBundleName)
+ && ((existingBundleName == null)
+ || !existingBundleName.equals(resourceBundleName)))
+ {
+ throw new IllegalArgumentException();
+ }
+ }
+ }
+
+ return result;
+ }
+
+
+ /**
+ * Creates a new, unnamed logger. Unnamed loggers are not
+ * registered in the namespace of the LogManager, and no special
+ * security permission is required for changing their state.
+ * Therefore, untrusted applets are able to modify their private
+ * logger instance obtained through this method.
+ *
+ * <p>The parent of the newly created logger will the the root
+ * logger, from which the level threshold and the handlers are
+ * inherited.
+ */
+ public static Logger getAnonymousLogger()
+ {
+ return getAnonymousLogger(null);
+ }
+
+
+ /**
+ * Creates a new, unnamed logger. Unnamed loggers are not
+ * registered in the namespace of the LogManager, and no special
+ * security permission is required for changing their state.
+ * Therefore, untrusted applets are able to modify their private
+ * logger instance obtained through this method.
+ *
+ * <p>The parent of the newly created logger will the the root
+ * logger, from which the level threshold and the handlers are
+ * inherited.
+ *
+ * @param resourceBundleName the name of a resource bundle
+ * for localizing messages, or <code>null</code>
+ * to indicate that messages do not need to be localized.
+ *
+ * @throws java.util.MissingResourceException if
+ * <code>resourceBundleName</code> is not <code>null</code>
+ * and no such bundle could be located.
+ */
+ public static Logger getAnonymousLogger(String resourceBundleName)
+ throws MissingResourceException
+ {
+ Logger result;
+
+ result = new Logger(null, resourceBundleName);
+ result.anonymous = true;
+ return result;
+ }
+
+
+ /**
+ * Returns the name of the resource bundle that is being used for
+ * localizing messages.
+ *
+ * @return the name of the resource bundle used for localizing messages,
+ * or <code>null</code> if the parent's resource bundle
+ * is used for this purpose.
+ */
+ public synchronized String getResourceBundleName()
+ {
+ return resourceBundleName;
+ }
+
+
+ /**
+ * Returns the resource bundle that is being used for localizing
+ * messages.
+ *
+ * @return the resource bundle used for localizing messages,
+ * or <code>null</code> if the parent's resource bundle
+ * is used for this purpose.
+ */
+ public synchronized ResourceBundle getResourceBundle()
+ {
+ return resourceBundle;
+ }
+
+
+ /**
+ * Returns the severity level threshold for this <code>Handler</code>.
+ * All log records with a lower severity level will be discarded;
+ * a log record of the same or a higher level will be published
+ * unless an installed <code>Filter</code> decides to discard it.
+ *
+ * @return the severity level below which all log messages will be
+ * discarded, or <code>null</code> if the logger inherits
+ * the threshold from its parent.
+ */
+ public synchronized Level getLevel()
+ {
+ return level;
+ }
+
+
+ /**
+ * Returns whether or not a message of the specified level
+ * would be logged by this logger.
+ *
+ * @throws NullPointerException if <code>level</code>
+ * is <code>null</code>.
+ */
+ public synchronized boolean isLoggable(Level level)
+ {
+ if (this.level != null)
+ return this.level.intValue() <= level.intValue();
+
+ if (parent != null)
+ return parent.isLoggable(level);
+ else
+ return false;
+ }
+
+
+ /**
+ * Sets the severity level threshold for this <code>Handler</code>.
+ * All log records with a lower severity level will be discarded
+ * immediately. A log record of the same or a higher level will be
+ * published unless an installed <code>Filter</code> decides to
+ * discard it.
+ *
+ * @param level the severity level below which all log messages
+ * will be discarded, or <code>null</code> to
+ * indicate that the logger should inherit the
+ * threshold from its parent.
+ *
+ * @throws SecurityException if this logger is not anonymous, a
+ * security manager exists, and the caller is not granted
+ * the permission to control the logging infrastructure by
+ * having LoggingPermission("control"). Untrusted code can
+ * obtain an anonymous logger through the static factory method
+ * {@link #getAnonymousLogger(java.lang.String) getAnonymousLogger}.
+ */
+ public synchronized void setLevel(Level level)
+ {
+ /* An application is allowed to control an anonymous logger
+ * without having the permission to control the logging
+ * infrastructure.
+ */
+ if (!anonymous)
+ LogManager.getLogManager().checkAccess();
+
+ this.level = level;
+ }
+
+
+ public synchronized Filter getFilter()
+ {
+ return filter;
+ }
+
+
+ /**
+ * @throws SecurityException if this logger is not anonymous, a
+ * security manager exists, and the caller is not granted
+ * the permission to control the logging infrastructure by
+ * having LoggingPermission("control"). Untrusted code can
+ * obtain an anonymous logger through the static factory method
+ * {@link #getAnonymousLogger(java.lang.String) getAnonymousLogger}.
+ */
+ public synchronized void setFilter(Filter filter)
+ throws SecurityException
+ {
+ /* An application is allowed to control an anonymous logger
+ * without having the permission to control the logging
+ * infrastructure.
+ */
+ if (!anonymous)
+ LogManager.getLogManager().checkAccess();
+
+ this.filter = filter;
+ }
+
+
+
+
+ /**
+ * Returns the name of this logger.
+ *
+ * @return the name of this logger, or <code>null</code> if
+ * the logger is anonymous.
+ */
+ public String getName()
+ {
+ /* Note that the name of a logger cannot be changed during
+ * its lifetime, so no synchronization is needed.
+ */
+ return name;
+ }
+
+
+ /**
+ * Passes a record to registered handlers, provided the record
+ * is considered as loggable both by {@link #isLoggable(Level)}
+ * and a possibly installed custom {@link #setFilter(Filter) filter}.
+ *
+ * <p>If the logger has been configured to use parent handlers,
+ * the record will be forwarded to the parent of this logger
+ * in addition to being processed by the handlers registered with
+ * this logger.
+ *
+ * <p>The other logging methods in this class are convenience methods
+ * that merely create a new LogRecord and pass it to this method.
+ * Therefore, subclasses usually just need to override this single
+ * method for customizing the logging behavior.
+ *
+ * @param record the log record to be inspected and possibly forwarded.
+ */
+ public synchronized void log(LogRecord record)
+ {
+ if (!isLoggable(record.getLevel()))
+ return;
+
+ if ((filter != null) && !filter.isLoggable(record))
+ return;
+
+ /* If no logger name has been set for the log record,
+ * use the name of this logger.
+ */
+ if (record.getLoggerName() == null)
+ record.setLoggerName(name);
+
+ /* Avoid that some other thread is changing the logger hierarchy
+ * while we are traversing it.
+ */
+ synchronized (LogManager.getLogManager())
+ {
+ Logger curLogger = this;
+
+ do
+ {
+ /* The Sun J2SE 1.4 reference implementation seems to call the
+ * filter only for the logger whose log method is called,
+ * never for any of its parents. Also, parent loggers publish
+ * log record whatever their level might be. This is pretty
+ * weird, but GNU Classpath tries to be as compatible as
+ * possible to the reference implementation.
+ */
+ for (int i = 0; i < curLogger.handlers.length; i++)
+ curLogger.handlers[i].publish(record);
+
+ if (curLogger.getUseParentHandlers() == false)
+ break;
+
+ curLogger = curLogger.getParent();
+ }
+ while (parent != null);
+ }
+ }
+
+
+ public void log(Level level, String message)
+ {
+ if (isLoggable(level))
+ log(level, message, (Object[]) null);
+ }
+
+
+ public synchronized void log(Level level,
+ String message,
+ Object param)
+ {
+ if (isLoggable(level))
+ {
+ StackTraceElement caller = getCallerStackFrame();
+ logp(level,
+ caller != null ? caller.getClassName() : "<unknown>",
+ caller != null ? caller.getMethodName() : "<unknown>",
+ message,
+ param);
+ }
+ }
+
+
+ public synchronized void log(Level level,
+ String message,
+ Object[] params)
+ {
+ if (isLoggable(level))
+ {
+ StackTraceElement caller = getCallerStackFrame();
+ logp(level,
+ caller != null ? caller.getClassName() : "<unknown>",
+ caller != null ? caller.getMethodName() : "<unknown>",
+ message,
+ params);
+ }
+ }
+
+
+ public synchronized void log(Level level,
+ String message,
+ Throwable thrown)
+ {
+ if (isLoggable(level))
+ {
+ StackTraceElement caller = getCallerStackFrame();
+ logp(level,
+ caller != null ? caller.getClassName() : "<unknown>",
+ caller != null ? caller.getMethodName() : "<unknown>",
+ message,
+ thrown);
+ }
+ }
+
+
+ public synchronized void logp(Level level,
+ String sourceClass,
+ String sourceMethod,
+ String message)
+ {
+ logp(level, sourceClass, sourceMethod, message,
+ (Object[]) null);
+ }
+
+
+ public synchronized void logp(Level level,
+ String sourceClass,
+ String sourceMethod,
+ String message,
+ Object param)
+ {
+ logp(level, sourceClass, sourceMethod, message,
+ new Object[] { param });
+ }
+
+
+ private synchronized ResourceBundle findResourceBundle()
+ {
+ if (resourceBundle != null)
+ return resourceBundle;
+
+ if (parent != null)
+ return parent.findResourceBundle();
+
+ return null;
+ }
+
+
+ private synchronized void logImpl(Level level,
+ String sourceClass,
+ String sourceMethod,
+ String message,
+ Object[] params)
+ {
+ LogRecord rec = new LogRecord(level, message);
+
+ rec.setResourceBundle(findResourceBundle());
+ rec.setSourceClassName(sourceClass);
+ rec.setSourceMethodName(sourceMethod);
+ rec.setParameters(params);
+
+ log(rec);
+ }
+
+
+ public synchronized void logp(Level level,
+ String sourceClass,
+ String sourceMethod,
+ String message,
+ Object[] params)
+ {
+ logImpl(level, sourceClass, sourceMethod, message, params);
+ }
+
+
+ public synchronized void logp(Level level,
+ String sourceClass,
+ String sourceMethod,
+ String message,
+ Throwable thrown)
+ {
+ LogRecord rec = new LogRecord(level, message);
+
+ rec.setResourceBundle(resourceBundle);
+ rec.setSourceClassName(sourceClass);
+ rec.setSourceMethodName(sourceMethod);
+ rec.setThrown(thrown);
+
+ log(rec);
+ }
+
+
+ public synchronized void logrb(Level level,
+ String sourceClass,
+ String sourceMethod,
+ String bundleName,
+ String message)
+ {
+ logrb(level, sourceClass, sourceMethod, bundleName,
+ message, (Object[]) null);
+ }
+
+
+ public synchronized void logrb(Level level,
+ String sourceClass,
+ String sourceMethod,
+ String bundleName,
+ String message,
+ Object param)
+ {
+ logrb(level, sourceClass, sourceMethod, bundleName,
+ message, new Object[] { param });
+ }
+
+
+ public synchronized void logrb(Level level,
+ String sourceClass,
+ String sourceMethod,
+ String bundleName,
+ String message,
+ Object[] params)
+ {
+ LogRecord rec = new LogRecord(level, message);
+
+ rec.setResourceBundleName(bundleName);
+ rec.setSourceClassName(sourceClass);
+ rec.setSourceMethodName(sourceMethod);
+ rec.setParameters(params);
+
+ log(rec);
+ }
+
+
+ public synchronized void logrb(Level level,
+ String sourceClass,
+ String sourceMethod,
+ String bundleName,
+ String message,
+ Throwable thrown)
+ {
+ LogRecord rec = new LogRecord(level, message);
+
+ rec.setResourceBundleName(bundleName);
+ rec.setSourceClassName(sourceClass);
+ rec.setSourceMethodName(sourceMethod);
+ rec.setThrown(thrown);
+
+ log(rec);
+ }
+
+
+ public synchronized void entering(String sourceClass,
+ String sourceMethod)
+ {
+ if (isLoggable(Level.FINER))
+ logp(Level.FINER, sourceClass, sourceMethod, "ENTRY");
+ }
+
+
+ public synchronized void entering(String sourceClass,
+ String sourceMethod,
+ Object param)
+ {
+ if (isLoggable(Level.FINER))
+ logp(Level.FINER, sourceClass, sourceMethod, "ENTRY {0}", param);
+ }
+
+
+ public synchronized void entering(String sourceClass,
+ String sourceMethod,
+ Object[] params)
+ {
+ if (isLoggable(Level.FINER))
+ {
+ StringBuffer buf = new StringBuffer(80);
+ buf.append("ENTRY");
+ for (int i = 0; i < params.length; i++)
+ {
+ buf.append(" {");
+ buf.append(i);
+ buf.append('}');
+ }
+
+ logp(Level.FINER, sourceClass, sourceMethod, buf.toString(), params);
+ }
+ }
+
+
+ public synchronized void exiting(String sourceClass,
+ String sourceMethod)
+ {
+ if (isLoggable(Level.FINER))
+ logp(Level.FINER, sourceClass, sourceMethod, "RETURN");
+ }
+
+
+ public synchronized void exiting(String sourceClass,
+ String sourceMethod,
+ Object result)
+ {
+ if (isLoggable(Level.FINER))
+ logp(Level.FINER, sourceClass, sourceMethod, "RETURN {0}", result);
+ }
+
+
+ public synchronized void throwing(String sourceClass,
+ String sourceMethod,
+ Throwable thrown)
+ {
+ if (isLoggable(Level.FINER))
+ logp(Level.FINER, sourceClass, sourceMethod, "THROW", thrown);
+ }
+
+
+ /**
+ * Logs a message with severity level SEVERE, indicating a serious
+ * failure that prevents normal program execution. Messages at this
+ * level should be understandable to an inexperienced, non-technical
+ * end user. Ideally, they explain in simple words what actions the
+ * user can take in order to resolve the problem.
+ *
+ * @see Level#SEVERE
+ *
+ * @param message the message text, also used as look-up key if the
+ * logger is localizing messages with a resource
+ * bundle. While it is possible to pass
+ * <code>null</code>, this is not recommended, since
+ * a logging message without text is unlikely to be
+ * helpful.
+ */
+ public synchronized void severe(String message)
+ {
+ if (isLoggable(Level.SEVERE))
+ log(Level.SEVERE, message);
+ }
+
+
+ /**
+ * Logs a message with severity level WARNING, indicating a
+ * potential problem that does not prevent normal program execution.
+ * Messages at this level should be understandable to an
+ * inexperienced, non-technical end user. Ideally, they explain in
+ * simple words what actions the user can take in order to resolve
+ * the problem.
+ *
+ * @see Level#WARNING
+ *
+ * @param message the message text, also used as look-up key if the
+ * logger is localizing messages with a resource
+ * bundle. While it is possible to pass
+ * <code>null</code>, this is not recommended, since
+ * a logging message without text is unlikely to be
+ * helpful.
+ */
+ public synchronized void warning(String message)
+ {
+ if (isLoggable(Level.WARNING))
+ log(Level.WARNING, message);
+ }
+
+
+ /**
+ * Logs a message with severity level INFO. {@link Level#INFO} is
+ * intended for purely informational messages that do not indicate
+ * error or warning situations. In the default logging
+ * configuration, INFO messages will be written to the system
+ * console. For this reason, the INFO level should be used only for
+ * messages that are important to end users and system
+ * administrators. Messages at this level should be understandable
+ * to an inexperienced, non-technical user.
+ *
+ * @param message the message text, also used as look-up key if the
+ * logger is localizing messages with a resource
+ * bundle. While it is possible to pass
+ * <code>null</code>, this is not recommended, since
+ * a logging message without text is unlikely to be
+ * helpful.
+ */
+ public synchronized void info(String message)
+ {
+ if (isLoggable(Level.INFO))
+ log(Level.INFO, message);
+ }
+
+
+ /**
+ * Logs a message with severity level CONFIG. {@link Level#CONFIG} is
+ * intended for static configuration messages, for example about the
+ * windowing environment, the operating system version, etc.
+ *
+ * @param message the message text, also used as look-up key if the
+ * logger is localizing messages with a resource bundle. While
+ * it is possible to pass <code>null</code>, this is not
+ * recommended, since a logging message without text is unlikely
+ * to be helpful.
+ */
+ public synchronized void config(String message)
+ {
+ if (isLoggable(Level.CONFIG))
+ log(Level.CONFIG, message);
+ }
+
+
+ /**
+ * Logs a message with severity level FINE. {@link Level#FINE} is
+ * intended for messages that are relevant for developers using
+ * the component generating log messages. Examples include minor,
+ * recoverable failures, or possible inefficiencies.
+ *
+ * @param message the message text, also used as look-up key if the
+ * logger is localizing messages with a resource
+ * bundle. While it is possible to pass
+ * <code>null</code>, this is not recommended, since
+ * a logging message without text is unlikely to be
+ * helpful.
+ */
+ public synchronized void fine(String message)
+ {
+ if (isLoggable(Level.FINE))
+ log(Level.FINE, message);
+ }
+
+
+ /**
+ * Logs a message with severity level FINER. {@link Level#FINER} is
+ * intended for rather detailed tracing, for example entering a
+ * method, returning from a method, or throwing an exception.
+ *
+ * @param message the message text, also used as look-up key if the
+ * logger is localizing messages with a resource
+ * bundle. While it is possible to pass
+ * <code>null</code>, this is not recommended, since
+ * a logging message without text is unlikely to be
+ * helpful.
+ */
+ public synchronized void finer(String message)
+ {
+ if (isLoggable(Level.FINER))
+ log(Level.FINER, message);
+ }
+
+
+ /**
+ * Logs a message with severity level FINEST. {@link Level#FINEST}
+ * is intended for highly detailed tracing, for example reaching a
+ * certain point inside the body of a method.
+ *
+ * @param message the message text, also used as look-up key if the
+ * logger is localizing messages with a resource
+ * bundle. While it is possible to pass
+ * <code>null</code>, this is not recommended, since
+ * a logging message without text is unlikely to be
+ * helpful.
+ */
+ public synchronized void finest(String message)
+ {
+ if (isLoggable(Level.FINEST))
+ log(Level.FINEST, message);
+ }
+
+
+ /**
+ * Adds a handler to the set of handlers that get notified
+ * when a log record is to be published.
+ *
+ * @param handler the handler to be added.
+ *
+ * @throws NullPointerException if <code>handler</code>
+ * is <code>null</code>.
+ *
+ * @throws SecurityException if this logger is not anonymous, a
+ * security manager exists, and the caller is not granted
+ * the permission to control the logging infrastructure by
+ * having LoggingPermission("control"). Untrusted code can
+ * obtain an anonymous logger through the static factory method
+ * {@link #getAnonymousLogger(java.lang.String) getAnonymousLogger}.
+ */
+ public synchronized void addHandler(Handler handler)
+ throws SecurityException
+ {
+ if (handler == null)
+ throw new NullPointerException();
+
+ /* An application is allowed to control an anonymous logger
+ * without having the permission to control the logging
+ * infrastructure.
+ */
+ if (!anonymous)
+ LogManager.getLogManager().checkAccess();
+
+ if (!handlerList.contains(handler))
+ {
+ handlerList.add(handler);
+ handlers = getHandlers();
+ }
+ }
+
+
+ /**
+ * Removes a handler from the set of handlers that get notified
+ * when a log record is to be published.
+ *
+ * @param handler the handler to be removed.
+ *
+ * @throws SecurityException if this logger is not anonymous, a
+ * security manager exists, and the caller is not granted the
+ * permission to control the logging infrastructure by having
+ * LoggingPermission("control"). Untrusted code can obtain an
+ * anonymous logger through the static factory method {@link
+ * #getAnonymousLogger(java.lang.String) getAnonymousLogger}.
+ *
+ * @throws NullPointerException if <code>handler</code>
+ * is <code>null</code>.
+ */
+ public synchronized void removeHandler(Handler handler)
+ throws SecurityException
+ {
+ /* An application is allowed to control an anonymous logger
+ * without having the permission to control the logging
+ * infrastructure.
+ */
+ if (!anonymous)
+ LogManager.getLogManager().checkAccess();
+
+ if (handler == null)
+ throw new NullPointerException();
+
+ handlerList.remove(handler);
+ handlers = getHandlers();
+ }
+
+
+ /**
+ * Returns the handlers currently registered for this Logger.
+ * When a log record has been deemed as being loggable,
+ * it will be passed to all registered handlers for
+ * publication. In addition, if the logger uses parent handlers
+ * (see {@link #getUseParentHandlers() getUseParentHandlers}
+ * and {@link #setUseParentHandlers(boolean) setUseParentHandlers},
+ * the log record will be passed to the parent's handlers.
+ */
+ public synchronized Handler[] getHandlers()
+ {
+ /* We cannot return our internal handlers array
+ * because we do not have any guarantee that the
+ * caller would not change the array entries.
+ */
+ return (Handler[]) handlerList.toArray(new Handler[handlerList.size()]);
+ }
+
+
+ /**
+ * Returns whether or not this Logger forwards log records to
+ * handlers registered for its parent loggers.
+ *
+ * @return <code>false</code> if this Logger sends log records
+ * merely to Handlers registered with itself;
+ * <code>true</code> if this Logger sends log records
+ * not only to Handlers registered with itself, but also
+ * to those Handlers registered with parent loggers.
+ */
+ public synchronized boolean getUseParentHandlers()
+ {
+ return useParentHandlers;
+ }
+
+
+ /**
+ * Sets whether or not this Logger forwards log records to
+ * handlers registered for its parent loggers.
+ *
+ * @param useParentHandlers <code>false</code> to let this
+ * Logger send log records merely to Handlers registered
+ * with itself; <code>true</code> to let this Logger
+ * send log records not only to Handlers registered
+ * with itself, but also to those Handlers registered with
+ * parent loggers.
+ *
+ * @throws SecurityException if this logger is not anonymous, a
+ * security manager exists, and the caller is not granted
+ * the permission to control the logging infrastructure by
+ * having LoggingPermission("control"). Untrusted code can
+ * obtain an anonymous logger through the static factory method
+ * {@link #getAnonymousLogger(java.lang.String) getAnonymousLogger}.
+ *
+ */
+ public synchronized void setUseParentHandlers(boolean useParentHandlers)
+ {
+ /* An application is allowed to control an anonymous logger
+ * without having the permission to control the logging
+ * infrastructure.
+ */
+ if (!anonymous)
+ LogManager.getLogManager().checkAccess();
+
+ this.useParentHandlers = useParentHandlers;
+ }
+
+
+ /**
+ * Returns the parent of this logger. By default, the parent is
+ * assigned by the LogManager by inspecting the logger's name.
+ *
+ * @return the parent of this logger (as detemined by the LogManager
+ * by inspecting logger names), the root logger if no other
+ * logger has a name which is a prefix of this logger's name, or
+ * <code>null</code> for the root logger.
+ */
+ public synchronized Logger getParent()
+ {
+ return parent;
+ }
+
+
+ /**
+ * Sets the parent of this logger. Usually, applications do not
+ * call this method directly. Instead, the LogManager will ensure
+ * that the tree of loggers reflects the hierarchical logger
+ * namespace. Basically, this method should not be public at all,
+ * but the GNU implementation follows the API specification.
+ *
+ * @throws NullPointerException if <code>parent</code> is
+ * <code>null</code>.
+ *
+ * @throws SecurityException if this logger is not anonymous, a
+ * security manager exists, and the caller is not granted
+ * the permission to control the logging infrastructure by
+ * having LoggingPermission("control"). Untrusted code can
+ * obtain an anonymous logger through the static factory method
+ * {@link #getAnonymousLogger(java.lang.String) getAnonymousLogger}.
+ */
+ public synchronized void setParent(Logger parent)
+ {
+ if (parent == null)
+ throw new NullPointerException();
+
+ if (this == root)
+ throw new IllegalArgumentException(
+ "the root logger can only have a null parent");
+
+ /* An application is allowed to control an anonymous logger
+ * without having the permission to control the logging
+ * infrastructure.
+ */
+ if (!anonymous)
+ LogManager.getLogManager().checkAccess();
+
+ this.parent = parent;
+ }
+
+ /**
+ * Gets the StackTraceElement of the first class that is not this class.
+ * That should be the initial caller of a logging method.
+ * @return caller of the initial logging method or null if unknown.
+ */
+ private native StackTraceElement getCallerStackFrame();
+
+ /**
+ * Reset and close handlers attached to this logger. This function is package
+ * private because it must only be avaiable to the LogManager.
+ */
+ void resetLogger()
+ {
+ for (int i = 0; i < handlers.length; i++)
+ {
+ handlers[i].close();
+ handlerList.remove(handlers[i]);
+ }
+ handlers = getHandlers();
+ }
+}
diff --git a/libjava/java/util/logging/LoggingMXBean.h b/libjava/java/util/logging/LoggingMXBean.h
new file mode 100644
index 000000000..4bac932e4
--- /dev/null
+++ b/libjava/java/util/logging/LoggingMXBean.h
@@ -0,0 +1,22 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_logging_LoggingMXBean__
+#define __java_util_logging_LoggingMXBean__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::logging::LoggingMXBean : public ::java::lang::Object
+{
+
+public:
+ virtual ::java::lang::String * getLoggerLevel(::java::lang::String *) = 0;
+ virtual ::java::util::List * getLoggerNames() = 0;
+ virtual ::java::lang::String * getParentLoggerName(::java::lang::String *) = 0;
+ virtual void setLoggerLevel(::java::lang::String *, ::java::lang::String *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_logging_LoggingMXBean__
diff --git a/libjava/java/util/logging/LoggingPermission.h b/libjava/java/util/logging/LoggingPermission.h
new file mode 100644
index 000000000..a3b803ac2
--- /dev/null
+++ b/libjava/java/util/logging/LoggingPermission.h
@@ -0,0 +1,22 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_logging_LoggingPermission__
+#define __java_util_logging_LoggingPermission__
+
+#pragma interface
+
+#include <java/security/BasicPermission.h>
+
+class java::util::logging::LoggingPermission : public ::java::security::BasicPermission
+{
+
+public:
+ LoggingPermission(::java::lang::String *, ::java::lang::String *);
+private:
+ static const jlong serialVersionUID = 63564341580231582LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_logging_LoggingPermission__
diff --git a/libjava/java/util/logging/MemoryHandler.h b/libjava/java/util/logging/MemoryHandler.h
new file mode 100644
index 000000000..4ce638af9
--- /dev/null
+++ b/libjava/java/util/logging/MemoryHandler.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_logging_MemoryHandler__
+#define __java_util_logging_MemoryHandler__
+
+#pragma interface
+
+#include <java/util/logging/Handler.h>
+#include <gcj/array.h>
+
+
+class java::util::logging::MemoryHandler : public ::java::util::logging::Handler
+{
+
+public:
+ MemoryHandler();
+ MemoryHandler(::java::util::logging::Handler *, jint, ::java::util::logging::Level *);
+ virtual void publish(::java::util::logging::LogRecord *);
+ virtual void push();
+ virtual void flush();
+ virtual void close();
+ virtual ::java::util::logging::Level * getPushLevel();
+ virtual void setPushLevel(::java::util::logging::Level *);
+private:
+ JArray< ::java::util::logging::LogRecord * > * __attribute__((aligned(__alignof__( ::java::util::logging::Handler)))) buffer;
+ jint position;
+ jint numPublished;
+ ::java::util::logging::Level * pushLevel;
+ ::java::util::logging::Handler * target;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_logging_MemoryHandler__
diff --git a/libjava/java/util/logging/SimpleFormatter.h b/libjava/java/util/logging/SimpleFormatter.h
new file mode 100644
index 000000000..6afece719
--- /dev/null
+++ b/libjava/java/util/logging/SimpleFormatter.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_logging_SimpleFormatter__
+#define __java_util_logging_SimpleFormatter__
+
+#pragma interface
+
+#include <java/util/logging/Formatter.h>
+extern "Java"
+{
+ namespace java
+ {
+ namespace text
+ {
+ class DateFormat;
+ }
+ }
+}
+
+class java::util::logging::SimpleFormatter : public ::java::util::logging::Formatter
+{
+
+public:
+ SimpleFormatter();
+ virtual ::java::lang::String * format(::java::util::logging::LogRecord *);
+private:
+ ::java::text::DateFormat * __attribute__((aligned(__alignof__( ::java::util::logging::Formatter)))) dateFormat;
+public: // actually package-private
+ static ::java::lang::String * lineSep;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_logging_SimpleFormatter__
diff --git a/libjava/java/util/logging/SocketHandler.h b/libjava/java/util/logging/SocketHandler.h
new file mode 100644
index 000000000..8286f1352
--- /dev/null
+++ b/libjava/java/util/logging/SocketHandler.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_logging_SocketHandler__
+#define __java_util_logging_SocketHandler__
+
+#pragma interface
+
+#include <java/util/logging/StreamHandler.h>
+
+class java::util::logging::SocketHandler : public ::java::util::logging::StreamHandler
+{
+
+public:
+ SocketHandler();
+ SocketHandler(::java::lang::String *, jint);
+private:
+ static jint getPortNumber();
+ static ::java::io::OutputStream * createSocket(::java::lang::String *, jint);
+public:
+ virtual void publish(::java::util::logging::LogRecord *);
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_logging_SocketHandler__
diff --git a/libjava/java/util/logging/StreamHandler.h b/libjava/java/util/logging/StreamHandler.h
new file mode 100644
index 000000000..11dca983f
--- /dev/null
+++ b/libjava/java/util/logging/StreamHandler.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_logging_StreamHandler__
+#define __java_util_logging_StreamHandler__
+
+#pragma interface
+
+#include <java/util/logging/Handler.h>
+
+class java::util::logging::StreamHandler : public ::java::util::logging::Handler
+{
+
+public:
+ StreamHandler();
+ StreamHandler(::java::io::OutputStream *, ::java::util::logging::Formatter *);
+public: // actually package-private
+ StreamHandler(::java::io::OutputStream *, ::java::lang::String *, ::java::util::logging::Level *, ::java::util::logging::Formatter *, ::java::lang::Class *);
+private:
+ void checkOpen();
+ void checkFresh();
+ void changeWriter(::java::io::OutputStream *, ::java::lang::String *);
+public:
+ virtual void setEncoding(::java::lang::String *);
+public: // actually protected
+ virtual void setOutputStream(::java::io::OutputStream *);
+public:
+ virtual void publish(::java::util::logging::LogRecord *);
+ virtual jboolean isLoggable(::java::util::logging::LogRecord *);
+ virtual void flush();
+ virtual void close();
+private:
+ ::java::io::OutputStream * __attribute__((aligned(__alignof__( ::java::util::logging::Handler)))) out;
+ ::java::io::Writer * writer;
+ jint streamState;
+ static const jint STATE_FRESH = 0;
+ static const jint STATE_PUBLISHED = 1;
+ static const jint STATE_CLOSED = 2;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_logging_StreamHandler__
diff --git a/libjava/java/util/logging/XMLFormatter.h b/libjava/java/util/logging/XMLFormatter.h
new file mode 100644
index 000000000..a5de35435
--- /dev/null
+++ b/libjava/java/util/logging/XMLFormatter.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_logging_XMLFormatter__
+#define __java_util_logging_XMLFormatter__
+
+#pragma interface
+
+#include <java/util/logging/Formatter.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace lang
+ {
+ class CPStringBuilder;
+ }
+ }
+ }
+ namespace java
+ {
+ namespace text
+ {
+ class SimpleDateFormat;
+ }
+ }
+}
+
+class java::util::logging::XMLFormatter : public ::java::util::logging::Formatter
+{
+
+public:
+ XMLFormatter();
+private:
+ static void appendTag(::gnu::java::lang::CPStringBuilder *, jint, ::java::lang::String *, ::java::lang::String *);
+ static void appendTag(::gnu::java::lang::CPStringBuilder *, jint, ::java::lang::String *, jlong);
+public:
+ virtual ::java::lang::String * format(::java::util::logging::LogRecord *);
+ virtual ::java::lang::String * getHead(::java::util::logging::Handler *);
+ virtual ::java::lang::String * getTail(::java::util::logging::Handler *);
+private:
+ static ::java::lang::String * lineSep;
+ ::java::text::SimpleDateFormat * __attribute__((aligned(__alignof__( ::java::util::logging::Formatter)))) iso8601;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_logging_XMLFormatter__
diff --git a/libjava/java/util/logging/natLogger.cc b/libjava/java/util/logging/natLogger.cc
new file mode 100644
index 000000000..5c68b1722
--- /dev/null
+++ b/libjava/java/util/logging/natLogger.cc
@@ -0,0 +1,49 @@
+// natLogger.cc - Native part of Logger class.
+
+/* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation
+
+ This Logger is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the Logger "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+#include <platform.h>
+
+#include <string.h>
+
+#pragma implementation "Logger.h"
+
+#include <gcj/cni.h>
+#include <jvm.h>
+#include <java-stack.h>
+
+#include <java/lang/Object.h>
+#include <java/lang/Class.h>
+#include <java/util/logging/Logger.h>
+#include <java/lang/StackTraceElement.h>
+#include <java/lang/ArrayIndexOutOfBoundsException.h>
+
+using namespace java::util::logging;
+
+java::lang::StackTraceElement*
+java::util::logging::Logger::getCallerStackFrame ()
+{
+ jclass klass = NULL;
+ _Jv_Method *meth = NULL;
+ _Jv_StackTrace::GetCallerInfo (&Logger::class$, &klass, &meth);
+
+ jstring meth_name = NULL;
+ jstring klass_name = NULL;
+ if (klass != NULL)
+ klass_name = klass->getName();
+ if (meth != NULL)
+ meth_name = _Jv_NewStringUtf8Const (meth->name);
+
+ java::lang::StackTraceElement *e
+ = new java::lang::StackTraceElement
+ (JvNewStringUTF (""), 0, klass_name, meth_name, false);
+
+ return e;
+}
diff --git a/libjava/java/util/natVMTimeZone.cc b/libjava/java/util/natVMTimeZone.cc
new file mode 100644
index 000000000..d45ebf978
--- /dev/null
+++ b/libjava/java/util/natVMTimeZone.cc
@@ -0,0 +1,145 @@
+// natVMTimeZone.cc -- Native side of VMTimeZone class.
+
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006
+ Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+#include <platform.h>
+
+#include <gcj/cni.h>
+#include <jvm.h>
+
+#include <java/util/VMTimeZone.h>
+#include <java/lang/Character.h>
+#include <java/lang/Integer.h>
+
+#include <stdio.h>
+
+#if TIME_WITH_SYS_TIME
+# include <sys/time.h>
+# include <time.h>
+#else
+# if HAVE_SYS_TIME_H
+# include <sys/time.h>
+# else
+# include <time.h>
+# endif
+#endif
+
+#include <string.h>
+
+/**
+ * This method returns a time zone id string which is in the form
+ * (standard zone name) or (standard zone name)(GMT offset) or
+ * (standard zone name)(GMT offset)(daylight time zone name). The
+ * GMT offset can be in seconds, or where it is evenly divisible by
+ * 3600, then it can be in hours. The offset must be the time to
+ * add to the local time to get GMT. If a offset is given and the
+ * time zone observes daylight saving then the (daylight time zone
+ * name) must also be given (otherwise it is assumed the time zone
+ * does not observe any daylight savings).
+ * <p>
+ * The result of this method is given to getDefaultTimeZone(String)
+ * which tries to map the time zone id to a known TimeZone. See
+ * that method on how the returned String is mapped to a real
+ * TimeZone object.
+ */
+jstring
+java::util::VMTimeZone::getSystemTimeZoneId()
+{
+ struct tm tim;
+#if !defined(HAVE_LOCALTIME_R) || !defined(_POSIX_PTHREAD_SEMANTICS)
+ struct tm *lt_tim;
+#endif
+#ifdef HAVE_TM_ZONE
+ int month;
+#endif
+ time_t current_time;
+ long tzoffset;
+ const char *tz1, *tz2;
+ char *tzid;
+
+ time(&current_time);
+#if defined(HAVE_LOCALTIME_R) && defined(_POSIX_PTHREAD_SEMANTICS)
+ localtime_r(&current_time, &tim);
+#else
+ /* Fall back on non-thread safe localtime. */
+ lt_tim = localtime(&current_time);
+ memcpy(&tim, lt_tim, sizeof (struct tm));
+#endif
+ mktime(&tim);
+
+#ifdef HAVE_TM_ZONE
+ /* We will cycle through the months to make sure we hit dst. */
+ month = tim.tm_mon;
+ tz1 = tz2 = NULL;
+ while (tz1 == NULL || tz2 == NULL)
+ {
+ if (tim.tm_isdst > 0)
+ tz2 = tim.tm_zone;
+ else if (tz1 == NULL)
+ {
+ tz1 = tim.tm_zone;
+ month = tim.tm_mon;
+ }
+
+ if (tz1 == NULL || tz2 == NULL)
+ {
+ tim.tm_mon++;
+ tim.tm_mon %= 12;
+ }
+
+ if (tim.tm_mon == month && tz2 == NULL)
+ tz2 = "";
+ else
+ mktime(&tim);
+ }
+ /* We want to make sure the tm struct we use later on is not dst. */
+ tim.tm_mon = month;
+ mktime(&tim);
+#elif defined (HAVE_TZNAME)
+ /* If dst is never used, tzname[1] is the empty string. */
+ tzset();
+ tz1 = tzname[0];
+ tz2 = tzname[1];
+#else
+ /* Some targets have no concept of timezones. Assume GMT without dst. */
+ tz1 = "GMT";
+ tz2 = "";
+#endif
+
+#ifdef STRUCT_TM_HAS_GMTOFF
+ /* tm_gmtoff is the number of seconds that you must add to GMT to get
+ local time, we need the number of seconds to add to the local time
+ to get GMT. */
+ tzoffset = -1L * tim.tm_gmtoff;
+#elif HAVE_UNDERSCORE_TIMEZONE
+ tzoffset = _timezone;
+#elif HAVE_TIMEZONE
+ /* timezone is secs WEST of UTC. */
+ tzoffset = timezone;
+#else
+ /* FIXME: there must be another global if neither tm_gmtoff nor timezone
+ is available, esp. if tzname is valid.
+ Richard Earnshaw <rearnsha@arm.com> has suggested using difftime to
+ calculate between gmtime and localtime (and accounting for possible
+ daylight savings time) as an alternative. */
+ tzoffset = 0L;
+#endif
+
+ if ((tzoffset % 3600) == 0)
+ tzoffset = tzoffset / 3600;
+
+ tzid = (char*) _Jv_Malloc (strlen(tz1) + strlen(tz2) + 6);
+ sprintf(tzid, "%s%ld%s", tz1, tzoffset, tz2);
+ jstring retval = JvNewStringUTF (tzid);
+ _Jv_Free (tzid);
+
+ return retval;
+}
diff --git a/libjava/java/util/prefs/AbstractPreferences$1.h b/libjava/java/util/prefs/AbstractPreferences$1.h
new file mode 100644
index 000000000..8e3bb1221
--- /dev/null
+++ b/libjava/java/util/prefs/AbstractPreferences$1.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_prefs_AbstractPreferences$1__
+#define __java_util_prefs_AbstractPreferences$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::prefs::AbstractPreferences$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ AbstractPreferences$1(::java::util::prefs::AbstractPreferences *, ::java::util::prefs::PreferenceChangeListener *, ::java::util::prefs::PreferenceChangeEvent *);
+public:
+ virtual void run();
+public: // actually package-private
+ ::java::util::prefs::AbstractPreferences * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+private:
+ ::java::util::prefs::PreferenceChangeListener * val$listener;
+ ::java::util::prefs::PreferenceChangeEvent * val$event;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_prefs_AbstractPreferences$1__
diff --git a/libjava/java/util/prefs/AbstractPreferences$2.h b/libjava/java/util/prefs/AbstractPreferences$2.h
new file mode 100644
index 000000000..7729ccfdb
--- /dev/null
+++ b/libjava/java/util/prefs/AbstractPreferences$2.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_prefs_AbstractPreferences$2__
+#define __java_util_prefs_AbstractPreferences$2__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::prefs::AbstractPreferences$2 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ AbstractPreferences$2(::java::util::prefs::AbstractPreferences *, jboolean, ::java::util::prefs::NodeChangeListener *, ::java::util::prefs::NodeChangeEvent *);
+public:
+ virtual void run();
+public: // actually package-private
+ ::java::util::prefs::AbstractPreferences * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+private:
+ jboolean val$added;
+ ::java::util::prefs::NodeChangeListener * val$listener;
+ ::java::util::prefs::NodeChangeEvent * val$event;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_prefs_AbstractPreferences$2__
diff --git a/libjava/java/util/prefs/AbstractPreferences.h b/libjava/java/util/prefs/AbstractPreferences.h
new file mode 100644
index 000000000..a4e3a028a
--- /dev/null
+++ b/libjava/java/util/prefs/AbstractPreferences.h
@@ -0,0 +1,106 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_prefs_AbstractPreferences__
+#define __java_util_prefs_AbstractPreferences__
+
+#pragma interface
+
+#include <java/util/prefs/Preferences.h>
+#include <gcj/array.h>
+
+
+class java::util::prefs::AbstractPreferences : public ::java::util::prefs::Preferences
+{
+
+public: // actually protected
+ AbstractPreferences(::java::util::prefs::AbstractPreferences *, ::java::lang::String *);
+public:
+ virtual ::java::lang::String * absolutePath();
+private:
+ ::java::lang::String * path();
+public:
+ virtual jboolean isUserNode();
+ virtual ::java::lang::String * name();
+ virtual ::java::lang::String * toString();
+public: // actually protected
+ virtual JArray< ::java::util::prefs::AbstractPreferences * > * cachedChildren();
+public:
+ virtual JArray< ::java::lang::String * > * childrenNames();
+ virtual ::java::util::prefs::Preferences * node(::java::lang::String *);
+private:
+ ::java::util::prefs::Preferences * getNode(::java::lang::String *);
+public:
+ virtual jboolean nodeExists(::java::lang::String *);
+private:
+ jboolean existsNode(::java::lang::String *);
+public: // actually protected
+ virtual ::java::util::prefs::AbstractPreferences * getChild(::java::lang::String *);
+ virtual jboolean isRemoved();
+public:
+ virtual ::java::util::prefs::Preferences * parent();
+ virtual void exportNode(::java::io::OutputStream *);
+ virtual void exportSubtree(::java::io::OutputStream *);
+ virtual JArray< ::java::lang::String * > * keys();
+ virtual ::java::lang::String * get(::java::lang::String *, ::java::lang::String *);
+ virtual jboolean getBoolean(::java::lang::String *, jboolean);
+ virtual JArray< jbyte > * getByteArray(::java::lang::String *, JArray< jbyte > *);
+private:
+ static JArray< jbyte > * decode64(::java::lang::String *);
+public:
+ virtual jdouble getDouble(::java::lang::String *, jdouble);
+ virtual jfloat getFloat(::java::lang::String *, jfloat);
+ virtual jint getInt(::java::lang::String *, jint);
+ virtual jlong getLong(::java::lang::String *, jlong);
+ virtual void put(::java::lang::String *, ::java::lang::String *);
+ virtual void putBoolean(::java::lang::String *, jboolean);
+ virtual void putByteArray(::java::lang::String *, JArray< jbyte > *);
+private:
+ static ::java::lang::String * encode64(JArray< jbyte > *);
+public:
+ virtual void putDouble(::java::lang::String *, jdouble);
+ virtual void putFloat(::java::lang::String *, jfloat);
+ virtual void putInt(::java::lang::String *, jint);
+ virtual void putLong(::java::lang::String *, jlong);
+ virtual void remove(::java::lang::String *);
+ virtual void clear();
+ virtual void flush();
+ virtual void sync();
+private:
+ void flushNode(jboolean);
+public:
+ virtual void removeNode();
+private:
+ void purge();
+public:
+ virtual void addNodeChangeListener(::java::util::prefs::NodeChangeListener *);
+ virtual void addPreferenceChangeListener(::java::util::prefs::PreferenceChangeListener *);
+ virtual void removeNodeChangeListener(::java::util::prefs::NodeChangeListener *);
+ virtual void removePreferenceChangeListener(::java::util::prefs::PreferenceChangeListener *);
+private:
+ void fire(::java::util::prefs::PreferenceChangeEvent *);
+ void fire(::java::util::prefs::NodeChangeEvent *, jboolean);
+public: // actually protected
+ virtual JArray< ::java::lang::String * > * childrenNamesSpi() = 0;
+ virtual ::java::util::prefs::AbstractPreferences * childSpi(::java::lang::String *) = 0;
+ virtual JArray< ::java::lang::String * > * keysSpi() = 0;
+ virtual ::java::lang::String * getSpi(::java::lang::String *) = 0;
+ virtual void putSpi(::java::lang::String *, ::java::lang::String *) = 0;
+ virtual void removeSpi(::java::lang::String *) = 0;
+ virtual void flushSpi() = 0;
+ virtual void syncSpi() = 0;
+ virtual void removeNodeSpi() = 0;
+ ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::util::prefs::Preferences)))) lock;
+ jboolean newNode;
+private:
+ ::java::util::prefs::AbstractPreferences * parent__;
+ ::java::lang::String * name__;
+ jboolean removed;
+ ::java::util::HashMap * childCache;
+ ::java::util::ArrayList * nodeListeners;
+ ::java::util::ArrayList * preferenceListeners;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_prefs_AbstractPreferences__
diff --git a/libjava/java/util/prefs/BackingStoreException.h b/libjava/java/util/prefs/BackingStoreException.h
new file mode 100644
index 000000000..a68513852
--- /dev/null
+++ b/libjava/java/util/prefs/BackingStoreException.h
@@ -0,0 +1,26 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_prefs_BackingStoreException__
+#define __java_util_prefs_BackingStoreException__
+
+#pragma interface
+
+#include <java/lang/Exception.h>
+
+class java::util::prefs::BackingStoreException : public ::java::lang::Exception
+{
+
+public:
+ BackingStoreException(::java::lang::String *);
+ BackingStoreException(::java::lang::Throwable *);
+private:
+ void writeObject(::java::io::ObjectOutputStream *);
+ void readObject(::java::io::ObjectInputStream *);
+public: // actually package-private
+ static const jlong serialVersionUID = 859796500401108469LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_prefs_BackingStoreException__
diff --git a/libjava/java/util/prefs/InvalidPreferencesFormatException.h b/libjava/java/util/prefs/InvalidPreferencesFormatException.h
new file mode 100644
index 000000000..dd81f5dc0
--- /dev/null
+++ b/libjava/java/util/prefs/InvalidPreferencesFormatException.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_prefs_InvalidPreferencesFormatException__
+#define __java_util_prefs_InvalidPreferencesFormatException__
+
+#pragma interface
+
+#include <java/lang/Exception.h>
+
+class java::util::prefs::InvalidPreferencesFormatException : public ::java::lang::Exception
+{
+
+public:
+ InvalidPreferencesFormatException(::java::lang::String *);
+ InvalidPreferencesFormatException(::java::lang::Throwable *);
+ InvalidPreferencesFormatException(::java::lang::String *, ::java::lang::Throwable *);
+private:
+ void writeObject(::java::io::ObjectOutputStream *);
+ void readObject(::java::io::ObjectInputStream *);
+public: // actually package-private
+ static const jlong serialVersionUID = -791715184232119669LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_prefs_InvalidPreferencesFormatException__
diff --git a/libjava/java/util/prefs/NodeChangeEvent.h b/libjava/java/util/prefs/NodeChangeEvent.h
new file mode 100644
index 000000000..7a51b708b
--- /dev/null
+++ b/libjava/java/util/prefs/NodeChangeEvent.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_prefs_NodeChangeEvent__
+#define __java_util_prefs_NodeChangeEvent__
+
+#pragma interface
+
+#include <java/util/EventObject.h>
+
+class java::util::prefs::NodeChangeEvent : public ::java::util::EventObject
+{
+
+public:
+ NodeChangeEvent(::java::util::prefs::Preferences *, ::java::util::prefs::Preferences *);
+ virtual ::java::util::prefs::Preferences * getParent();
+ virtual ::java::util::prefs::Preferences * getChild();
+private:
+ void readObject(::java::io::ObjectInputStream *);
+ void writeObject(::java::io::ObjectOutputStream *);
+ static const jlong serialVersionUID = 8068949086596572957LL;
+ ::java::util::prefs::Preferences * __attribute__((aligned(__alignof__( ::java::util::EventObject)))) child;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_prefs_NodeChangeEvent__
diff --git a/libjava/java/util/prefs/NodeChangeListener.h b/libjava/java/util/prefs/NodeChangeListener.h
new file mode 100644
index 000000000..2ad05d6e1
--- /dev/null
+++ b/libjava/java/util/prefs/NodeChangeListener.h
@@ -0,0 +1,20 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_prefs_NodeChangeListener__
+#define __java_util_prefs_NodeChangeListener__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::prefs::NodeChangeListener : public ::java::lang::Object
+{
+
+public:
+ virtual void childAdded(::java::util::prefs::NodeChangeEvent *) = 0;
+ virtual void childRemoved(::java::util::prefs::NodeChangeEvent *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_prefs_NodeChangeListener__
diff --git a/libjava/java/util/prefs/PreferenceChangeEvent.h b/libjava/java/util/prefs/PreferenceChangeEvent.h
new file mode 100644
index 000000000..790a957d2
--- /dev/null
+++ b/libjava/java/util/prefs/PreferenceChangeEvent.h
@@ -0,0 +1,29 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_prefs_PreferenceChangeEvent__
+#define __java_util_prefs_PreferenceChangeEvent__
+
+#pragma interface
+
+#include <java/util/EventObject.h>
+
+class java::util::prefs::PreferenceChangeEvent : public ::java::util::EventObject
+{
+
+public:
+ PreferenceChangeEvent(::java::util::prefs::Preferences *, ::java::lang::String *, ::java::lang::String *);
+ virtual ::java::util::prefs::Preferences * getNode();
+ virtual ::java::lang::String * getKey();
+ virtual ::java::lang::String * getNewValue();
+private:
+ void readObject(::java::io::ObjectInputStream *);
+ void writeObject(::java::io::ObjectOutputStream *);
+ static const jlong serialVersionUID = 793724513368024975LL;
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::util::EventObject)))) key;
+ ::java::lang::String * newValue;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_prefs_PreferenceChangeEvent__
diff --git a/libjava/java/util/prefs/PreferenceChangeListener.h b/libjava/java/util/prefs/PreferenceChangeListener.h
new file mode 100644
index 000000000..d450a31b7
--- /dev/null
+++ b/libjava/java/util/prefs/PreferenceChangeListener.h
@@ -0,0 +1,19 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_prefs_PreferenceChangeListener__
+#define __java_util_prefs_PreferenceChangeListener__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::prefs::PreferenceChangeListener : public ::java::lang::Object
+{
+
+public:
+ virtual void preferenceChange(::java::util::prefs::PreferenceChangeEvent *) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_prefs_PreferenceChangeListener__
diff --git a/libjava/java/util/prefs/Preferences$1.h b/libjava/java/util/prefs/Preferences$1.h
new file mode 100644
index 000000000..1d61c4f1e
--- /dev/null
+++ b/libjava/java/util/prefs/Preferences$1.h
@@ -0,0 +1,22 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_prefs_Preferences$1__
+#define __java_util_prefs_Preferences$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::prefs::Preferences$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Preferences$1();
+public:
+ virtual ::java::util::prefs::PreferencesFactory * Preferences$1$run();
+ virtual ::java::lang::Object * run();
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_prefs_Preferences$1__
diff --git a/libjava/java/util/prefs/Preferences.h b/libjava/java/util/prefs/Preferences.h
new file mode 100644
index 000000000..b19a03445
--- /dev/null
+++ b/libjava/java/util/prefs/Preferences.h
@@ -0,0 +1,85 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_prefs_Preferences__
+#define __java_util_prefs_Preferences__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace java
+ {
+ namespace security
+ {
+ class Permission;
+ }
+ }
+}
+
+class java::util::prefs::Preferences : public ::java::lang::Object
+{
+
+public: // actually protected
+ Preferences();
+public:
+ static ::java::util::prefs::Preferences * systemRoot();
+ static ::java::util::prefs::Preferences * userRoot();
+private:
+ static ::java::util::prefs::PreferencesFactory * getFactory();
+public:
+ static ::java::util::prefs::Preferences * systemNodeForPackage(::java::lang::Class *);
+ static ::java::util::prefs::Preferences * userNodeForPackage(::java::lang::Class *);
+private:
+ static ::java::util::prefs::Preferences * nodeForPackage(::java::lang::Class *, ::java::util::prefs::Preferences *);
+public:
+ static void importPreferences(::java::io::InputStream *);
+ virtual ::java::lang::String * absolutePath() = 0;
+ virtual jboolean isUserNode() = 0;
+ virtual ::java::lang::String * name() = 0;
+ virtual ::java::lang::String * toString() = 0;
+ virtual JArray< ::java::lang::String * > * childrenNames() = 0;
+ virtual ::java::util::prefs::Preferences * node(::java::lang::String *) = 0;
+ virtual jboolean nodeExists(::java::lang::String *) = 0;
+ virtual ::java::util::prefs::Preferences * parent() = 0;
+ virtual void exportNode(::java::io::OutputStream *) = 0;
+ virtual void exportSubtree(::java::io::OutputStream *) = 0;
+ virtual JArray< ::java::lang::String * > * keys() = 0;
+ virtual ::java::lang::String * get(::java::lang::String *, ::java::lang::String *) = 0;
+ virtual jboolean getBoolean(::java::lang::String *, jboolean) = 0;
+ virtual JArray< jbyte > * getByteArray(::java::lang::String *, JArray< jbyte > *) = 0;
+ virtual jdouble getDouble(::java::lang::String *, jdouble) = 0;
+ virtual jfloat getFloat(::java::lang::String *, jfloat) = 0;
+ virtual jint getInt(::java::lang::String *, jint) = 0;
+ virtual jlong getLong(::java::lang::String *, jlong) = 0;
+ virtual void put(::java::lang::String *, ::java::lang::String *) = 0;
+ virtual void putBoolean(::java::lang::String *, jboolean) = 0;
+ virtual void putByteArray(::java::lang::String *, JArray< jbyte > *) = 0;
+ virtual void putDouble(::java::lang::String *, jdouble) = 0;
+ virtual void putFloat(::java::lang::String *, jfloat) = 0;
+ virtual void putInt(::java::lang::String *, jint) = 0;
+ virtual void putLong(::java::lang::String *, jlong) = 0;
+ virtual void remove(::java::lang::String *) = 0;
+ virtual void clear() = 0;
+ virtual void flush() = 0;
+ virtual void sync() = 0;
+ virtual void removeNode() = 0;
+ virtual void addNodeChangeListener(::java::util::prefs::NodeChangeListener *) = 0;
+ virtual void addPreferenceChangeListener(::java::util::prefs::PreferenceChangeListener *) = 0;
+ virtual void removeNodeChangeListener(::java::util::prefs::NodeChangeListener *) = 0;
+ virtual void removePreferenceChangeListener(::java::util::prefs::PreferenceChangeListener *) = 0;
+private:
+ static ::java::lang::String * defaultFactoryClass;
+ static ::java::security::Permission * prefsPermission;
+ static ::java::util::prefs::PreferencesFactory * factory;
+public:
+ static const jint MAX_NAME_LENGTH = 80;
+ static const jint MAX_KEY_LENGTH = 80;
+ static const jint MAX_VALUE_LENGTH = 8192;
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_prefs_Preferences__
diff --git a/libjava/java/util/prefs/PreferencesFactory.h b/libjava/java/util/prefs/PreferencesFactory.h
new file mode 100644
index 000000000..40207d480
--- /dev/null
+++ b/libjava/java/util/prefs/PreferencesFactory.h
@@ -0,0 +1,20 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_prefs_PreferencesFactory__
+#define __java_util_prefs_PreferencesFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::prefs::PreferencesFactory : public ::java::lang::Object
+{
+
+public:
+ virtual ::java::util::prefs::Preferences * systemRoot() = 0;
+ virtual ::java::util::prefs::Preferences * userRoot() = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_prefs_PreferencesFactory__
diff --git a/libjava/java/util/regex/MatchResult.h b/libjava/java/util/regex/MatchResult.h
new file mode 100644
index 000000000..6b6acf8ab
--- /dev/null
+++ b/libjava/java/util/regex/MatchResult.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_regex_MatchResult__
+#define __java_util_regex_MatchResult__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::regex::MatchResult : public ::java::lang::Object
+{
+
+public:
+ virtual jint end() = 0;
+ virtual jint end(jint) = 0;
+ virtual ::java::lang::String * group() = 0;
+ virtual ::java::lang::String * group(jint) = 0;
+ virtual jint groupCount() = 0;
+ virtual jint start() = 0;
+ virtual jint start(jint) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_regex_MatchResult__
diff --git a/libjava/java/util/regex/Matcher.h b/libjava/java/util/regex/Matcher.h
new file mode 100644
index 000000000..74230ef51
--- /dev/null
+++ b/libjava/java/util/regex/Matcher.h
@@ -0,0 +1,80 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_regex_Matcher__
+#define __java_util_regex_Matcher__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class CharIndexed;
+ class REMatch;
+ }
+ }
+ }
+ }
+}
+
+class java::util::regex::Matcher : public ::java::lang::Object
+{
+
+public: // actually package-private
+ Matcher(::java::util::regex::Pattern *, ::java::lang::CharSequence *);
+public:
+ ::java::util::regex::Matcher * appendReplacement(::java::lang::StringBuffer *, ::java::lang::String *);
+ ::java::lang::StringBuffer * appendTail(::java::lang::StringBuffer *);
+ jint end();
+ jint end(jint);
+ jboolean find();
+ jboolean find(jint);
+ ::java::lang::String * group();
+ ::java::lang::String * group(jint);
+ ::java::lang::String * replaceFirst(::java::lang::String *);
+ ::java::lang::String * replaceAll(::java::lang::String *);
+ jint groupCount();
+ jboolean lookingAt();
+ jboolean matches();
+ ::java::util::regex::Pattern * pattern();
+ ::java::util::regex::Matcher * reset();
+ ::java::util::regex::Matcher * reset(::java::lang::CharSequence *);
+ jint start();
+ jint start(jint);
+ jboolean hitEnd();
+ ::java::lang::String * toString();
+private:
+ void assertMatchOp();
+public:
+ ::java::util::regex::Matcher * region(jint, jint);
+ jint regionStart();
+ jint regionEnd();
+ jboolean hasTransparentBounds();
+ ::java::util::regex::Matcher * useTransparentBounds(jboolean);
+ jboolean hasAnchoringBounds();
+ ::java::util::regex::Matcher * useAnchoringBounds(jboolean);
+ ::java::util::regex::MatchResult * toMatchResult();
+private:
+ ::java::util::regex::Pattern * __attribute__((aligned(__alignof__( ::java::lang::Object)))) pattern__;
+ ::java::lang::CharSequence * input;
+ ::gnu::java::util::regex::CharIndexed * inputCharIndexed;
+ jint position;
+ jint appendPosition;
+ ::gnu::java::util::regex::REMatch * match;
+ jint regionStart__;
+ jint regionEnd__;
+ jboolean transparentBounds;
+ jint anchoringBounds;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_regex_Matcher__
diff --git a/libjava/java/util/regex/Pattern.h b/libjava/java/util/regex/Pattern.h
new file mode 100644
index 000000000..267cafdc0
--- /dev/null
+++ b/libjava/java/util/regex/Pattern.h
@@ -0,0 +1,63 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_regex_Pattern__
+#define __java_util_regex_Pattern__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace util
+ {
+ namespace regex
+ {
+ class RE;
+ }
+ }
+ }
+ }
+}
+
+class java::util::regex::Pattern : public ::java::lang::Object
+{
+
+ Pattern(::java::lang::String *, jint);
+public: // actually package-private
+ ::gnu::java::util::regex::RE * getRE();
+public:
+ static ::java::util::regex::Pattern * compile(::java::lang::String *);
+ static ::java::util::regex::Pattern * compile(::java::lang::String *, jint);
+ jint flags();
+ static jboolean matches(::java::lang::String *, ::java::lang::CharSequence *);
+ ::java::util::regex::Matcher * matcher(::java::lang::CharSequence *);
+ JArray< ::java::lang::String * > * split(::java::lang::CharSequence *);
+ JArray< ::java::lang::String * > * split(::java::lang::CharSequence *, jint);
+ ::java::lang::String * pattern();
+ ::java::lang::String * toString();
+private:
+ static const jlong serialVersionUID = 5073258162644648461LL;
+public:
+ static const jint CANON_EQ = 128;
+ static const jint CASE_INSENSITIVE = 2;
+ static const jint COMMENTS = 4;
+ static const jint DOTALL = 32;
+ static const jint MULTILINE = 8;
+ static const jint UNICODE_CASE = 64;
+ static const jint UNIX_LINES = 1;
+private:
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) regex;
+ jint flags__;
+ ::gnu::java::util::regex::RE * re;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_regex_Pattern__
diff --git a/libjava/java/util/regex/PatternSyntaxException.h b/libjava/java/util/regex/PatternSyntaxException.h
new file mode 100644
index 000000000..670549a6a
--- /dev/null
+++ b/libjava/java/util/regex/PatternSyntaxException.h
@@ -0,0 +1,29 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_regex_PatternSyntaxException__
+#define __java_util_regex_PatternSyntaxException__
+
+#pragma interface
+
+#include <java/lang/IllegalArgumentException.h>
+
+class java::util::regex::PatternSyntaxException : public ::java::lang::IllegalArgumentException
+{
+
+public:
+ PatternSyntaxException(::java::lang::String *, ::java::lang::String *, jint);
+ virtual ::java::lang::String * getDescription();
+ virtual ::java::lang::String * getPattern();
+ virtual jint getIndex();
+ virtual ::java::lang::String * getMessage();
+private:
+ static const jlong serialVersionUID = -3864639126226059218LL;
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::IllegalArgumentException)))) desc;
+ ::java::lang::String * pattern;
+ jint index;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_regex_PatternSyntaxException__
diff --git a/libjava/java/util/spi/CurrencyNameProvider.h b/libjava/java/util/spi/CurrencyNameProvider.h
new file mode 100644
index 000000000..1375c1574
--- /dev/null
+++ b/libjava/java/util/spi/CurrencyNameProvider.h
@@ -0,0 +1,21 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_spi_CurrencyNameProvider__
+#define __java_util_spi_CurrencyNameProvider__
+
+#pragma interface
+
+#include <java/util/spi/LocaleServiceProvider.h>
+
+class java::util::spi::CurrencyNameProvider : public ::java::util::spi::LocaleServiceProvider
+{
+
+public: // actually protected
+ CurrencyNameProvider();
+public:
+ virtual ::java::lang::String * getSymbol(::java::lang::String *, ::java::util::Locale *) = 0;
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_spi_CurrencyNameProvider__
diff --git a/libjava/java/util/spi/LocaleNameProvider.h b/libjava/java/util/spi/LocaleNameProvider.h
new file mode 100644
index 000000000..d4194c529
--- /dev/null
+++ b/libjava/java/util/spi/LocaleNameProvider.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_spi_LocaleNameProvider__
+#define __java_util_spi_LocaleNameProvider__
+
+#pragma interface
+
+#include <java/util/spi/LocaleServiceProvider.h>
+
+class java::util::spi::LocaleNameProvider : public ::java::util::spi::LocaleServiceProvider
+{
+
+public: // actually protected
+ LocaleNameProvider();
+public:
+ virtual ::java::lang::String * getDisplayCountry(::java::lang::String *, ::java::util::Locale *) = 0;
+ virtual ::java::lang::String * getDisplayLanguage(::java::lang::String *, ::java::util::Locale *) = 0;
+ virtual ::java::lang::String * getDisplayVariant(::java::lang::String *, ::java::util::Locale *) = 0;
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_spi_LocaleNameProvider__
diff --git a/libjava/java/util/spi/LocaleServiceProvider.h b/libjava/java/util/spi/LocaleServiceProvider.h
new file mode 100644
index 000000000..69cc23170
--- /dev/null
+++ b/libjava/java/util/spi/LocaleServiceProvider.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_spi_LocaleServiceProvider__
+#define __java_util_spi_LocaleServiceProvider__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::spi::LocaleServiceProvider : public ::java::lang::Object
+{
+
+public: // actually protected
+ LocaleServiceProvider();
+public:
+ virtual JArray< ::java::util::Locale * > * getAvailableLocales() = 0;
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_spi_LocaleServiceProvider__
diff --git a/libjava/java/util/spi/TimeZoneNameProvider.h b/libjava/java/util/spi/TimeZoneNameProvider.h
new file mode 100644
index 000000000..8e4309312
--- /dev/null
+++ b/libjava/java/util/spi/TimeZoneNameProvider.h
@@ -0,0 +1,21 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_spi_TimeZoneNameProvider__
+#define __java_util_spi_TimeZoneNameProvider__
+
+#pragma interface
+
+#include <java/util/spi/LocaleServiceProvider.h>
+
+class java::util::spi::TimeZoneNameProvider : public ::java::util::spi::LocaleServiceProvider
+{
+
+public: // actually protected
+ TimeZoneNameProvider();
+public:
+ virtual ::java::lang::String * getDisplayName(::java::lang::String *, jboolean, jint, ::java::util::Locale *) = 0;
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_spi_TimeZoneNameProvider__
diff --git a/libjava/java/util/zip/Adler32.h b/libjava/java/util/zip/Adler32.h
new file mode 100644
index 000000000..ebd8e33cf
--- /dev/null
+++ b/libjava/java/util/zip/Adler32.h
@@ -0,0 +1,30 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_zip_Adler32__
+#define __java_util_zip_Adler32__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::zip::Adler32 : public ::java::lang::Object
+{
+
+public:
+ Adler32();
+ virtual void reset();
+ virtual void update(jint);
+ virtual void update(JArray< jbyte > *);
+ virtual void update(JArray< jbyte > *, jint, jint);
+ virtual jlong getValue();
+private:
+ static const jint BASE = 65521;
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) checksum;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_zip_Adler32__
diff --git a/libjava/java/util/zip/CRC32.h b/libjava/java/util/zip/CRC32.h
new file mode 100644
index 000000000..af515fc99
--- /dev/null
+++ b/libjava/java/util/zip/CRC32.h
@@ -0,0 +1,33 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_zip_CRC32__
+#define __java_util_zip_CRC32__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::zip::CRC32 : public ::java::lang::Object
+{
+
+public:
+ CRC32();
+private:
+ static JArray< jint > * make_crc_table();
+public:
+ virtual jlong getValue();
+ virtual void reset();
+ virtual void update(jint);
+ virtual void update(JArray< jbyte > *, jint, jint);
+ virtual void update(JArray< jbyte > *);
+private:
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) crc;
+ static JArray< jint > * crc_table;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_zip_CRC32__
diff --git a/libjava/java/util/zip/CheckedInputStream.h b/libjava/java/util/zip/CheckedInputStream.h
new file mode 100644
index 000000000..d9e80abe9
--- /dev/null
+++ b/libjava/java/util/zip/CheckedInputStream.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_zip_CheckedInputStream__
+#define __java_util_zip_CheckedInputStream__
+
+#pragma interface
+
+#include <java/io/FilterInputStream.h>
+#include <gcj/array.h>
+
+
+class java::util::zip::CheckedInputStream : public ::java::io::FilterInputStream
+{
+
+public:
+ CheckedInputStream(::java::io::InputStream *, ::java::util::zip::Checksum *);
+ virtual ::java::util::zip::Checksum * getChecksum();
+ virtual jint read();
+ virtual jint read(JArray< jbyte > *, jint, jint);
+ virtual jlong skip(jlong);
+private:
+ ::java::util::zip::Checksum * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) sum;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_zip_CheckedInputStream__
diff --git a/libjava/java/util/zip/CheckedOutputStream.h b/libjava/java/util/zip/CheckedOutputStream.h
new file mode 100644
index 000000000..5cf53c9f2
--- /dev/null
+++ b/libjava/java/util/zip/CheckedOutputStream.h
@@ -0,0 +1,27 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_zip_CheckedOutputStream__
+#define __java_util_zip_CheckedOutputStream__
+
+#pragma interface
+
+#include <java/io/FilterOutputStream.h>
+#include <gcj/array.h>
+
+
+class java::util::zip::CheckedOutputStream : public ::java::io::FilterOutputStream
+{
+
+public:
+ CheckedOutputStream(::java::io::OutputStream *, ::java::util::zip::Checksum *);
+ virtual ::java::util::zip::Checksum * getChecksum();
+ virtual void write(jint);
+ virtual void write(JArray< jbyte > *, jint, jint);
+private:
+ ::java::util::zip::Checksum * __attribute__((aligned(__alignof__( ::java::io::FilterOutputStream)))) sum;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_zip_CheckedOutputStream__
diff --git a/libjava/java/util/zip/Checksum.h b/libjava/java/util/zip/Checksum.h
new file mode 100644
index 000000000..66ab907c8
--- /dev/null
+++ b/libjava/java/util/zip/Checksum.h
@@ -0,0 +1,24 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_zip_Checksum__
+#define __java_util_zip_Checksum__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::zip::Checksum : public ::java::lang::Object
+{
+
+public:
+ virtual jlong getValue() = 0;
+ virtual void reset() = 0;
+ virtual void update(jint) = 0;
+ virtual void update(JArray< jbyte > *, jint, jint) = 0;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_zip_Checksum__
diff --git a/libjava/java/util/zip/DataFormatException.h b/libjava/java/util/zip/DataFormatException.h
new file mode 100644
index 000000000..5ebfbcf4b
--- /dev/null
+++ b/libjava/java/util/zip/DataFormatException.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_zip_DataFormatException__
+#define __java_util_zip_DataFormatException__
+
+#pragma interface
+
+#include <java/lang/Exception.h>
+
+class java::util::zip::DataFormatException : public ::java::lang::Exception
+{
+
+public:
+ DataFormatException();
+ DataFormatException(::java::lang::String *);
+private:
+ static const jlong serialVersionUID = 2219632870893641452LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_zip_DataFormatException__
diff --git a/libjava/java/util/zip/Deflater.h b/libjava/java/util/zip/Deflater.h
new file mode 100644
index 000000000..61d21899f
--- /dev/null
+++ b/libjava/java/util/zip/Deflater.h
@@ -0,0 +1,76 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_zip_Deflater__
+#define __java_util_zip_Deflater__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace gcj
+ {
+ class RawData;
+ }
+ }
+}
+
+class java::util::zip::Deflater : public ::java::lang::Object
+{
+
+public:
+ Deflater();
+ Deflater(jint);
+ Deflater(jint, jboolean);
+private:
+ void init(jint, jboolean);
+ void update();
+public:
+ virtual void reset();
+ virtual void end();
+ virtual jint getAdler();
+ virtual jint getTotalIn();
+ virtual jlong getBytesRead();
+ virtual jint getTotalOut();
+ virtual jlong getBytesWritten();
+public: // actually protected
+ virtual void finalize();
+public:
+ virtual void finish();
+ virtual jboolean finished();
+ virtual jboolean needsInput();
+ virtual void setInput(JArray< jbyte > *);
+ virtual void setInput(JArray< jbyte > *, jint, jint);
+ virtual void setLevel(jint);
+ virtual void setStrategy(jint);
+ virtual jint deflate(JArray< jbyte > *);
+ virtual jint deflate(JArray< jbyte > *, jint, jint);
+ virtual void setDictionary(JArray< jbyte > *);
+ virtual void setDictionary(JArray< jbyte > *, jint, jint);
+public: // actually package-private
+ virtual void flush();
+public:
+ static const jint BEST_COMPRESSION = 9;
+ static const jint BEST_SPEED = 1;
+ static const jint DEFAULT_COMPRESSION = -1;
+ static const jint NO_COMPRESSION = 0;
+ static const jint DEFAULT_STRATEGY = 0;
+ static const jint FILTERED = 1;
+ static const jint HUFFMAN_ONLY = 2;
+ static const jint DEFLATED = 8;
+private:
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) level;
+ jint strategy;
+ ::gnu::gcj::RawData * zstream;
+ jboolean is_finished;
+ jint flush_flag;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_zip_Deflater__
diff --git a/libjava/java/util/zip/Deflater.java b/libjava/java/util/zip/Deflater.java
new file mode 100644
index 000000000..47383ab4b
--- /dev/null
+++ b/libjava/java/util/zip/Deflater.java
@@ -0,0 +1,354 @@
+/* Deflater.java - Compress a data stream
+ Copyright (C) 1999, 2000, 2001, 2004, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package java.util.zip;
+
+import gnu.gcj.RawData;
+
+/**
+ * This is the Deflater class. The deflater class compresses input
+ * with the deflate algorithm described in RFC 1951. It has several
+ * compression levels and three different strategies described below.
+ *
+ * This class is <i>not</i> thread safe. This is inherent in the API, due
+ * to the split of deflate and setInput.
+ *
+ * @author Jochen Hoenicke
+ * @author Tom Tromey
+ */
+public class Deflater
+{
+ /**
+ * The best and slowest compression level. This tries to find very
+ * long and distant string repetitions.
+ */
+ public static final int BEST_COMPRESSION = 9;
+ /**
+ * The worst but fastest compression level.
+ */
+ public static final int BEST_SPEED = 1;
+ /**
+ * The default compression level.
+ */
+ public static final int DEFAULT_COMPRESSION = -1;
+ /**
+ * This level won't compress at all but output uncompressed blocks.
+ */
+ public static final int NO_COMPRESSION = 0;
+
+ /**
+ * The default strategy.
+ */
+ public static final int DEFAULT_STRATEGY = 0;
+ /**
+ * This strategy will only allow longer string repetitions. It is
+ * useful for random data with a small character set.
+ */
+ public static final int FILTERED = 1;
+
+ /**
+ * This strategy will not look for string repetitions at all. It
+ * only encodes with Huffman trees (which means, that more common
+ * characters get a smaller encoding.
+ */
+ public static final int HUFFMAN_ONLY = 2;
+
+ /**
+ * The compression method. This is the only method supported so far.
+ * There is no need to use this constant at all.
+ */
+ public static final int DEFLATED = 8;
+
+ /** Compression level. */
+ private int level;
+
+ /** Compression strategy. */
+ private int strategy;
+
+ /** The zlib stream. */
+ private RawData zstream;
+
+ /** True if finished. */
+ private boolean is_finished;
+
+ /** `Flush' flag to pass to next call to deflate. */
+ private int flush_flag;
+
+ /**
+ * Creates a new deflater with default compression level.
+ */
+ public Deflater()
+ {
+ this(DEFAULT_COMPRESSION, false);
+ }
+
+ /**
+ * Creates a new deflater with given compression level.
+ * @param lvl the compression level, a value between NO_COMPRESSION
+ * and BEST_COMPRESSION, or DEFAULT_COMPRESSION.
+ * @exception IllegalArgumentException if lvl is out of range.
+ */
+ public Deflater(int lvl)
+ {
+ this(lvl, false);
+ }
+
+ /**
+ * Creates a new deflater with given compression level.
+ * @param lvl the compression level, a value between NO_COMPRESSION
+ * and BEST_COMPRESSION.
+ * @param nowrap true, iff we should suppress the deflate header at the
+ * beginning and the adler checksum at the end of the output. This is
+ * useful for the GZIP format.
+ * @exception IllegalArgumentException if lvl is out of range.
+ */
+ public Deflater(int lvl, boolean noHeader)
+ {
+ this.strategy = DEFAULT_STRATEGY;
+ init(lvl, noHeader);
+ setLevel(lvl);
+ }
+
+ private native void init(int level, boolean noHeader);
+
+ private native void update();
+
+ /**
+ * Resets the deflater. The deflater acts afterwards as if it was
+ * just created with the same compression level and strategy as it
+ * had before.
+ */
+ public native void reset();
+
+ /**
+ * Frees all objects allocated by the compressor. There's no
+ * reason to call this, since you can just rely on garbage
+ * collection. Exists only for compatibility against Sun's JDK,
+ * where the compressor allocates native memory.
+ * If you call any method (even reset) afterwards the behaviour is
+ * <i>undefined</i>.
+ * @deprecated Just clear all references to deflater instead.
+ */
+ public native void end();
+
+ /**
+ * Gets the current adler checksum of the data that was processed so
+ * far.
+ */
+ public native int getAdler();
+
+ /**
+ * Gets the number of input bytes processed so far.
+ */
+ @Deprecated
+ public int getTotalIn()
+ {
+ return (int) getBytesRead();
+ }
+
+ /**
+ * Gets the number of input bytes processed so far.
+ * @since 1.5
+ */
+ public native long getBytesRead();
+
+ /**
+ * Gets the number of output bytes so far.
+ */
+ @Deprecated
+ public int getTotalOut()
+ {
+ return (int) getBytesWritten();
+ }
+
+ /**
+ * Gets the number of output bytes so far.
+ * @since 1.5
+ */
+ public native long getBytesWritten();
+
+ /**
+ * Finalizes this object.
+ */
+ protected void finalize()
+ {
+ end();
+ }
+
+ /**
+ * Finishes the deflater with the current input block. It is an error
+ * to give more input after this method was called. This method must
+ * be called to force all bytes to be flushed.
+ */
+ public native void finish();
+
+ /**
+ * Returns true iff the stream was finished and no more output bytes
+ * are available.
+ */
+ public synchronized boolean finished()
+ {
+ return is_finished;
+ }
+
+ /**
+ * Returns true, if the input buffer is empty.
+ * You should then call setInput(). <br>
+ *
+ * <em>NOTE</em>: This method can also return true when the stream
+ * was finished.
+ */
+ public native boolean needsInput();
+
+ /**
+ * Sets the data which should be compressed next. This should be only
+ * called when needsInput indicates that more input is needed.
+ * If you call setInput when needsInput() returns false, the
+ * previous input that is still pending will be thrown away.
+ * The given byte array should not be changed, before needsInput() returns
+ * true again.
+ * This call is equivalent to <code>setInput(input, 0, input.length)</code>.
+ * @param input the buffer containing the input data.
+ * @exception IllegalStateException if the buffer was finished() or ended().
+ */
+ public void setInput(byte[] input)
+ {
+ setInput(input, 0, input.length);
+ }
+
+ /**
+ * Sets the data which should be compressed next. This should be
+ * only called when needsInput indicates that more input is needed.
+ * The given byte array should not be changed, before needsInput() returns
+ * true again.
+ * @param input the buffer containing the input data.
+ * @param off the start of the data.
+ * @param len the length of the data.
+ * @exception IllegalStateException if the buffer was finished() or ended()
+ * or if previous input is still pending.
+ */
+ public native void setInput(byte[] input, int off, int len);
+
+ /**
+ * Sets the compression level. There is no guarantee of the exact
+ * position of the change, but if you call this when needsInput is
+ * true the change of compression level will occur somewhere near
+ * before the end of the so far given input.
+ * @param lvl the new compression level.
+ */
+ public synchronized void setLevel(int lvl)
+ {
+ if (lvl != -1 && (lvl < 0 || lvl > 9))
+ throw new IllegalArgumentException();
+ level = (lvl == -1) ? 6 : lvl;
+ update();
+ }
+
+ /**
+ * Sets the compression strategy. Strategy is one of
+ * DEFAULT_STRATEGY, HUFFMAN_ONLY and FILTERED. For the exact
+ * position where the strategy is changed, the same as for
+ * setLevel() applies.
+ * @param stgy the new compression strategy.
+ */
+ public synchronized void setStrategy(int stgy)
+ {
+ if (stgy != DEFAULT_STRATEGY && stgy != FILTERED
+ && stgy != HUFFMAN_ONLY)
+ throw new IllegalArgumentException();
+ strategy = stgy;
+ update();
+ }
+
+ /**
+ * Deflates the current input block to the given array. It returns
+ * the number of bytes compressed, or 0 if either
+ * needsInput() or finished() returns true or length is zero.
+ * @param output the buffer where to write the compressed data.
+ */
+ public int deflate(byte[] output)
+ {
+ return deflate(output, 0, output.length);
+ }
+
+ /**
+ * Deflates the current input block to the given array. It returns
+ * the number of bytes compressed, or 0 if either
+ * needsInput() or finished() returns true or length is zero.
+ * @param output the buffer where to write the compressed data.
+ * @param offset the offset into the output array.
+ * @param length the maximum number of bytes that may be written.
+ * @exception IllegalStateException if end() was called.
+ * @exception IndexOutOfBoundsException if offset and/or length
+ * don't match the array length.
+ */
+ public native int deflate(byte[] output, int off, int len);
+
+ /**
+ * Sets the dictionary which should be used in the deflate process.
+ * This call is equivalent to <code>setDictionary(dict, 0,
+ * dict.length)</code>.
+ * @param dict the dictionary.
+ * @exception IllegalStateException if setInput () or deflate ()
+ * were already called or another dictionary was already set.
+ */
+ public void setDictionary(byte[] dict)
+ {
+ setDictionary(dict, 0, dict.length);
+ }
+
+ /**
+ * Sets the dictionary which should be used in the deflate process.
+ * The dictionary should be a byte array containing strings that are
+ * likely to occur in the data which should be compressed. The
+ * dictionary is not stored in the compressed output, only a
+ * checksum. To decompress the output you need to supply the same
+ * dictionary again.
+ * @param dict the dictionary.
+ * @param offset an offset into the dictionary.
+ * @param length the length of the dictionary.
+ * @exception IllegalStateException if setInput () or deflate () were
+ * already called or another dictionary was already set.
+ */
+ public native void setDictionary(byte[] buf, int off, int len);
+
+ // Classpath's compression library supports flushing, but we
+ // don't. So this is a no-op here.
+ void flush()
+ {
+ }
+}
diff --git a/libjava/java/util/zip/DeflaterOutputStream.h b/libjava/java/util/zip/DeflaterOutputStream.h
new file mode 100644
index 000000000..307f364ad
--- /dev/null
+++ b/libjava/java/util/zip/DeflaterOutputStream.h
@@ -0,0 +1,34 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_zip_DeflaterOutputStream__
+#define __java_util_zip_DeflaterOutputStream__
+
+#pragma interface
+
+#include <java/io/FilterOutputStream.h>
+#include <gcj/array.h>
+
+
+class java::util::zip::DeflaterOutputStream : public ::java::io::FilterOutputStream
+{
+
+public: // actually protected
+ virtual void deflate();
+public:
+ DeflaterOutputStream(::java::io::OutputStream *);
+ DeflaterOutputStream(::java::io::OutputStream *, ::java::util::zip::Deflater *);
+ DeflaterOutputStream(::java::io::OutputStream *, ::java::util::zip::Deflater *, jint);
+ virtual void flush();
+ virtual void finish();
+ virtual void close();
+ virtual void write(jint);
+ virtual void write(JArray< jbyte > *, jint, jint);
+public: // actually protected
+ JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::io::FilterOutputStream)))) buf;
+ ::java::util::zip::Deflater * def;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_zip_DeflaterOutputStream__
diff --git a/libjava/java/util/zip/GZIPInputStream.h b/libjava/java/util/zip/GZIPInputStream.h
new file mode 100644
index 000000000..20777faba
--- /dev/null
+++ b/libjava/java/util/zip/GZIPInputStream.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_zip_GZIPInputStream__
+#define __java_util_zip_GZIPInputStream__
+
+#pragma interface
+
+#include <java/util/zip/InflaterInputStream.h>
+#include <gcj/array.h>
+
+
+class java::util::zip::GZIPInputStream : public ::java::util::zip::InflaterInputStream
+{
+
+public:
+ GZIPInputStream(::java::io::InputStream *);
+ GZIPInputStream(::java::io::InputStream *, jint);
+ virtual void close();
+ virtual jint read(JArray< jbyte > *, jint, jint);
+private:
+ void readHeader();
+ void readFooter();
+public:
+ static const jint GZIP_MAGIC = 35615;
+public: // actually package-private
+ static const jint FTEXT = 1;
+ static const jint FHCRC = 2;
+ static const jint FEXTRA = 4;
+ static const jint FNAME = 8;
+ static const jint FCOMMENT = 16;
+public: // actually protected
+ ::java::util::zip::CRC32 * __attribute__((aligned(__alignof__( ::java::util::zip::InflaterInputStream)))) crc;
+ jboolean eos;
+private:
+ jboolean readGZIPHeader;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_zip_GZIPInputStream__
diff --git a/libjava/java/util/zip/GZIPOutputStream.h b/libjava/java/util/zip/GZIPOutputStream.h
new file mode 100644
index 000000000..1680d8964
--- /dev/null
+++ b/libjava/java/util/zip/GZIPOutputStream.h
@@ -0,0 +1,28 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_zip_GZIPOutputStream__
+#define __java_util_zip_GZIPOutputStream__
+
+#pragma interface
+
+#include <java/util/zip/DeflaterOutputStream.h>
+#include <gcj/array.h>
+
+
+class java::util::zip::GZIPOutputStream : public ::java::util::zip::DeflaterOutputStream
+{
+
+public:
+ GZIPOutputStream(::java::io::OutputStream *);
+ GZIPOutputStream(::java::io::OutputStream *, jint);
+ virtual void write(JArray< jbyte > *, jint, jint);
+ virtual void close();
+ virtual void finish();
+public: // actually protected
+ ::java::util::zip::CRC32 * __attribute__((aligned(__alignof__( ::java::util::zip::DeflaterOutputStream)))) crc;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_zip_GZIPOutputStream__
diff --git a/libjava/java/util/zip/Inflater.h b/libjava/java/util/zip/Inflater.h
new file mode 100644
index 000000000..25ebdc6d6
--- /dev/null
+++ b/libjava/java/util/zip/Inflater.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_zip_Inflater__
+#define __java_util_zip_Inflater__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace gcj
+ {
+ class RawData;
+ }
+ }
+}
+
+class java::util::zip::Inflater : public ::java::lang::Object
+{
+
+public:
+ Inflater();
+ Inflater(jboolean);
+public: // actually protected
+ virtual void finalize();
+public:
+ virtual void end();
+ virtual jboolean finished();
+ virtual jint getAdler();
+ virtual jint getRemaining();
+ virtual jint getTotalIn();
+ virtual jint getTotalOut();
+ virtual jint inflate(JArray< jbyte > *);
+ virtual jint inflate(JArray< jbyte > *, jint, jint);
+private:
+ void init(jboolean);
+public:
+ virtual jboolean needsDictionary();
+ virtual jboolean needsInput();
+ virtual void reset();
+ virtual void setDictionary(JArray< jbyte > *);
+ virtual void setDictionary(JArray< jbyte > *, jint, jint);
+ virtual void setInput(JArray< jbyte > *);
+ virtual void setInput(JArray< jbyte > *, jint, jint);
+private:
+ ::gnu::gcj::RawData * __attribute__((aligned(__alignof__( ::java::lang::Object)))) zstream;
+ jboolean is_finished;
+ jboolean dict_needed;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_zip_Inflater__
diff --git a/libjava/java/util/zip/Inflater.java b/libjava/java/util/zip/Inflater.java
new file mode 100644
index 000000000..c51cde802
--- /dev/null
+++ b/libjava/java/util/zip/Inflater.java
@@ -0,0 +1,269 @@
+/* Inflater.java - Decompress a data stream
+ Copyright (C) 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package java.util.zip;
+
+import gnu.gcj.RawData;
+
+/* Written using on-line Java Platform 1.2 API Specification
+ * and JCL book.
+ * Believed complete and correct.
+ */
+
+/**
+ * Inflater is used to decompress data that has been compressed according
+ * to the "deflate" standard described in rfc1950.
+ *
+ * The usage is as following. First you have to set some input with
+ * <code>setInput()</code>, then inflate() it. If inflate doesn't
+ * inflate any bytes there may be three reasons:
+ * <ul>
+ * <li>needsInput() returns true because the input buffer is empty.
+ * You have to provide more input with <code>setInput()</code>.
+ * NOTE: needsInput() also returns true when, the stream is finished.
+ * </li>
+ * <li>needsDictionary() returns true, you have to provide a preset
+ * dictionary with <code>setDictionary()</code>.</li>
+ * <li>finished() returns true, the inflater has finished.</li>
+ * </ul>
+ * Once the first output byte is produced, a dictionary will not be
+ * needed at a later stage.
+ *
+ * @author John Leuner, Jochen Hoenicke
+ * @author Tom Tromey
+ * @date May 17, 1999
+ * @since JDK 1.1
+ */
+public class Inflater
+{
+ // The zlib stream.
+ private RawData zstream;
+
+ // True if finished.
+ private boolean is_finished;
+
+ // True if dictionary needed.
+ private boolean dict_needed;
+
+ /**
+ * Creates a new inflater.
+ */
+ public Inflater ()
+ {
+ this (false);
+ }
+
+ /**
+ * Creates a new inflater.
+ * @param nowrap true if no header and checksum field appears in the
+ * stream. This is used for GZIPed input. For compatibility with
+ * Sun JDK you should provide one byte of input more than needed in
+ * this case.
+ */
+ public Inflater (boolean noHeader)
+ {
+ init (noHeader);
+ }
+
+ /**
+ * Finalizes this object.
+ */
+ protected void finalize ()
+ {
+ end ();
+ }
+
+ /**
+ * Frees all objects allocated by the inflater. There's no reason
+ * to call this, since you can just rely on garbage collection (even
+ * for the Sun implementation). Exists only for compatibility
+ * with Sun's JDK, where the compressor allocates native memory.
+ * If you call any method (even reset) afterwards the behaviour is
+ * <i>undefined</i>.
+ * @deprecated Just clear all references to inflater instead.
+ */
+ public native void end ();
+
+ /**
+ * Returns true, if the inflater has finished. This means, that no
+ * input is needed and no output can be produced.
+ */
+ public synchronized boolean finished ()
+ {
+ return is_finished;
+ }
+
+ /**
+ * Gets the adler checksum. This is either the checksum of all
+ * uncompressed bytes returned by inflate(), or if needsDictionary()
+ * returns true (and thus no output was yet produced) this is the
+ * adler checksum of the expected dictionary.
+ * @returns the adler checksum.
+ */
+ public native int getAdler ();
+
+ /**
+ * Gets the number of unprocessed input. Useful, if the end of the
+ * stream is reached and you want to further process the bytes after
+ * the deflate stream.
+ * @return the number of bytes of the input which were not processed.
+ */
+ public native int getRemaining ();
+
+ /**
+ * Gets the total number of processed compressed input bytes.
+ * @return the total number of bytes of processed input bytes.
+ */
+ public native int getTotalIn ();
+
+ /**
+ * Gets the total number of output bytes returned by inflate().
+ * @return the total number of output bytes.
+ */
+ public native int getTotalOut ();
+
+ /**
+ * Inflates the compressed stream to the output buffer. If this
+ * returns 0, you should check, whether needsDictionary(),
+ * needsInput() or finished() returns true, to determine why no
+ * further output is produced.
+ * @param buffer the output buffer.
+ * @return the number of bytes written to the buffer, 0 if no further
+ * output can be produced.
+ * @exception DataFormatException if deflated stream is invalid.
+ * @exception IllegalArgumentException if buf has length 0.
+ */
+ public int inflate (byte[] buf) throws DataFormatException
+ {
+ return inflate (buf, 0, buf.length);
+ }
+
+ /**
+ * Inflates the compressed stream to the output buffer. If this
+ * returns 0, you should check, whether needsDictionary(),
+ * needsInput() or finished() returns true, to determine why no
+ * further output is produced.
+ * @param buffer the output buffer.
+ * @param off the offset into buffer where the output should start.
+ * @param len the maximum length of the output.
+ * @return the number of bytes written to the buffer, 0 if no further
+ * output can be produced.
+ * @exception DataFormatException if deflated stream is invalid.
+ * @exception IndexOutOfBoundsException if the off and/or len are wrong.
+ */
+ public native int inflate (byte[] buf, int off, int len)
+ throws DataFormatException;
+
+ private native void init (boolean noHeader);
+
+ /**
+ * Returns true, if a preset dictionary is needed to inflate the input.
+ */
+ public synchronized boolean needsDictionary ()
+ {
+ return dict_needed;
+ }
+
+ /**
+ * Returns true, if the input buffer is empty.
+ * You should then call setInput(). <br>
+ *
+ * <em>NOTE</em>: This method also returns true when the stream is finished.
+ */
+ public synchronized boolean needsInput ()
+ {
+ return getRemaining () == 0;
+ }
+
+ /**
+ * Resets the inflater so that a new stream can be decompressed. All
+ * pending input and output will be discarded.
+ */
+ public native void reset ();
+
+ /**
+ * Sets the preset dictionary. This should only be called, if
+ * needsDictionary() returns true and it should set the same
+ * dictionary, that was used for deflating. The getAdler()
+ * function returns the checksum of the dictionary needed.
+ * @param buffer the dictionary.
+ * @exception IllegalStateException if no dictionary is needed.
+ * @exception IllegalArgumentException if the dictionary checksum is
+ * wrong.
+ */
+ public void setDictionary (byte[] buf)
+ {
+ setDictionary (buf, 0, buf.length);
+ }
+
+ /**
+ * Sets the preset dictionary. This should only be called, if
+ * needsDictionary() returns true and it should set the same
+ * dictionary, that was used for deflating. The getAdler()
+ * function returns the checksum of the dictionary needed.
+ * @param buffer the dictionary.
+ * @param off the offset into buffer where the dictionary starts.
+ * @param len the length of the dictionary.
+ * @exception IllegalStateException if no dictionary is needed.
+ * @exception IllegalArgumentException if the dictionary checksum is
+ * wrong.
+ * @exception IndexOutOfBoundsException if the off and/or len are wrong.
+ */
+ public native void setDictionary (byte[] buf, int off, int len);
+
+ /**
+ * Sets the input. This should only be called, if needsInput()
+ * returns true.
+ * @param buffer the input.
+ * @exception IllegalStateException if no input is needed.
+ */
+ public void setInput (byte[] buf)
+ {
+ setInput (buf, 0, buf.length);
+ }
+
+ /**
+ * Sets the input. This should only be called, if needsInput()
+ * returns true.
+ * @param buffer the input.
+ * @param off the offset into buffer where the input starts.
+ * @param len the length of the input.
+ * @exception IllegalStateException if no input is needed.
+ * @exception IndexOutOfBoundsException if the off and/or len are wrong.
+ */
+ public native void setInput (byte[] buf, int off, int len);
+}
diff --git a/libjava/java/util/zip/InflaterInputStream.h b/libjava/java/util/zip/InflaterInputStream.h
new file mode 100644
index 000000000..b576c3646
--- /dev/null
+++ b/libjava/java/util/zip/InflaterInputStream.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_zip_InflaterInputStream__
+#define __java_util_zip_InflaterInputStream__
+
+#pragma interface
+
+#include <java/io/FilterInputStream.h>
+#include <gcj/array.h>
+
+
+class java::util::zip::InflaterInputStream : public ::java::io::FilterInputStream
+{
+
+public:
+ InflaterInputStream(::java::io::InputStream *);
+ InflaterInputStream(::java::io::InputStream *, ::java::util::zip::Inflater *);
+ InflaterInputStream(::java::io::InputStream *, ::java::util::zip::Inflater *, jint);
+ virtual jint available();
+ virtual void close();
+public: // actually protected
+ virtual void fill();
+public:
+ virtual jint read();
+ virtual jint read(JArray< jbyte > *, jint, jint);
+ virtual jlong skip(jlong);
+ virtual jboolean markSupported();
+ virtual void mark(jint);
+ virtual void reset();
+public: // actually protected
+ ::java::util::zip::Inflater * __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) inf;
+ JArray< jbyte > * buf;
+ jint len;
+private:
+ JArray< jbyte > * onebytebuffer;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_zip_InflaterInputStream__
diff --git a/libjava/java/util/zip/ZipConstants.h b/libjava/java/util/zip/ZipConstants.h
new file mode 100644
index 000000000..3cf795d7b
--- /dev/null
+++ b/libjava/java/util/zip/ZipConstants.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_zip_ZipConstants__
+#define __java_util_zip_ZipConstants__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::zip::ZipConstants : public ::java::lang::Object
+{
+
+public:
+ static const jint LOCHDR = 30;
+ static const jlong LOCSIG = 67324752LL;
+ static const jint LOCVER = 4;
+ static const jint LOCFLG = 6;
+ static const jint LOCHOW = 8;
+ static const jint LOCTIM = 10;
+ static const jint LOCCRC = 14;
+ static const jint LOCSIZ = 18;
+ static const jint LOCLEN = 22;
+ static const jint LOCNAM = 26;
+ static const jint LOCEXT = 28;
+ static const jlong EXTSIG = 134695760LL;
+ static const jint EXTHDR = 16;
+ static const jint EXTCRC = 4;
+ static const jint EXTSIZ = 8;
+ static const jint EXTLEN = 12;
+ static const jlong CENSIG = 33639248LL;
+ static const jint CENHDR = 46;
+ static const jint CENVEM = 4;
+ static const jint CENVER = 6;
+ static const jint CENFLG = 8;
+ static const jint CENHOW = 10;
+ static const jint CENTIM = 12;
+ static const jint CENCRC = 16;
+ static const jint CENSIZ = 20;
+ static const jint CENLEN = 24;
+ static const jint CENNAM = 28;
+ static const jint CENEXT = 30;
+ static const jint CENCOM = 32;
+ static const jint CENDSK = 34;
+ static const jint CENATT = 36;
+ static const jint CENATX = 38;
+ static const jint CENOFF = 42;
+ static const jlong ENDSIG = 101010256LL;
+ static const jint ENDHDR = 22;
+ static const jint ENDSUB = 8;
+ static const jint ENDTOT = 10;
+ static const jint ENDSIZ = 12;
+ static const jint ENDOFF = 16;
+ static const jint ENDCOM = 20;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __java_util_zip_ZipConstants__
diff --git a/libjava/java/util/zip/ZipEntry.h b/libjava/java/util/zip/ZipEntry.h
new file mode 100644
index 000000000..47cb903a8
--- /dev/null
+++ b/libjava/java/util/zip/ZipEntry.h
@@ -0,0 +1,72 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_zip_ZipEntry__
+#define __java_util_zip_ZipEntry__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+
+class java::util::zip::ZipEntry : public ::java::lang::Object
+{
+
+public:
+ ZipEntry(::java::lang::String *);
+ ZipEntry(::java::util::zip::ZipEntry *);
+public: // actually package-private
+ ZipEntry(::java::util::zip::ZipEntry *, ::java::lang::String *);
+ virtual void setDOSTime(jint);
+ virtual jint getDOSTime();
+public:
+ virtual ::java::lang::Object * clone();
+ virtual ::java::lang::String * getName();
+ virtual void setTime(jlong);
+ virtual jlong getTime();
+ virtual void setSize(jlong);
+ virtual jlong getSize();
+ virtual void setCompressedSize(jlong);
+ virtual jlong getCompressedSize();
+ virtual void setCrc(jlong);
+ virtual jlong getCrc();
+ virtual void setMethod(jint);
+ virtual jint getMethod();
+ virtual void setExtra(JArray< jbyte > *);
+private:
+ void parseExtra();
+public:
+ virtual JArray< jbyte > * getExtra();
+ virtual void setComment(::java::lang::String *);
+ virtual ::java::lang::String * getComment();
+ virtual jboolean isDirectory();
+ virtual ::java::lang::String * toString();
+ virtual jint hashCode();
+private:
+ static const jbyte KNOWN_SIZE = 1;
+ static const jbyte KNOWN_CSIZE = 2;
+ static const jbyte KNOWN_CRC = 4;
+ static const jbyte KNOWN_TIME = 8;
+ static const jbyte KNOWN_DOSTIME = 16;
+ static const jbyte KNOWN_EXTRA = 32;
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name;
+ jint size;
+ jlong compressedSize;
+ jint crc;
+ ::java::lang::String * comment;
+ jbyte method;
+ jbyte known;
+ jint dostime;
+ jlong time;
+ JArray< jbyte > * extra;
+public: // actually package-private
+ jint flags;
+ jint offset;
+public:
+ static const jint STORED = 0;
+ static const jint DEFLATED = 8;
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_zip_ZipEntry__
diff --git a/libjava/java/util/zip/ZipException.h b/libjava/java/util/zip/ZipException.h
new file mode 100644
index 000000000..3a7b1fc5e
--- /dev/null
+++ b/libjava/java/util/zip/ZipException.h
@@ -0,0 +1,23 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_zip_ZipException__
+#define __java_util_zip_ZipException__
+
+#pragma interface
+
+#include <java/io/IOException.h>
+
+class java::util::zip::ZipException : public ::java::io::IOException
+{
+
+public:
+ ZipException();
+ ZipException(::java::lang::String *);
+private:
+ static const jlong serialVersionUID = 8000196834066748623LL;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_zip_ZipException__
diff --git a/libjava/java/util/zip/ZipFile$1.h b/libjava/java/util/zip/ZipFile$1.h
new file mode 100644
index 000000000..d181256c2
--- /dev/null
+++ b/libjava/java/util/zip/ZipFile$1.h
@@ -0,0 +1,26 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_zip_ZipFile$1__
+#define __java_util_zip_ZipFile$1__
+
+#pragma interface
+
+#include <java/util/zip/InflaterInputStream.h>
+
+class java::util::zip::ZipFile$1 : public ::java::util::zip::InflaterInputStream
+{
+
+public: // actually package-private
+ ZipFile$1(::java::util::zip::ZipFile *, ::java::io::InputStream *, ::java::util::zip::Inflater *, jint);
+public:
+ virtual jint available();
+public: // actually package-private
+ ::java::util::zip::ZipFile * __attribute__((aligned(__alignof__( ::java::util::zip::InflaterInputStream)))) this$0;
+private:
+ jint val$sz;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_zip_ZipFile$1__
diff --git a/libjava/java/util/zip/ZipFile$PartialInputStream.h b/libjava/java/util/zip/ZipFile$PartialInputStream.h
new file mode 100644
index 000000000..f258f9f0c
--- /dev/null
+++ b/libjava/java/util/zip/ZipFile$PartialInputStream.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_zip_ZipFile$PartialInputStream__
+#define __java_util_zip_ZipFile$PartialInputStream__
+
+#pragma interface
+
+#include <java/io/InputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace java
+ {
+ namespace nio
+ {
+ namespace charset
+ {
+ class Charset;
+ class CharsetDecoder;
+ }
+ }
+ }
+}
+
+class java::util::zip::ZipFile$PartialInputStream : public ::java::io::InputStream
+{
+
+public:
+ ZipFile$PartialInputStream(::java::io::RandomAccessFile *, jint);
+public: // actually package-private
+ void setLength(jlong);
+private:
+ void fillBuffer();
+public:
+ jint available();
+ jint read();
+ jint read(JArray< jbyte > *, jint, jint);
+ jlong skip(jlong);
+public: // actually package-private
+ void seek(jlong);
+ void readFully(JArray< jbyte > *);
+ void readFully(JArray< jbyte > *, jint, jint);
+ jint readLeShort();
+ jint readLeInt();
+private:
+ ::java::lang::String * decodeChars(JArray< jbyte > *, jint, jint);
+public: // actually package-private
+ ::java::lang::String * readString(jint);
+public:
+ void addDummyByte();
+private:
+ static ::java::nio::charset::Charset * UTF8CHARSET;
+ ::java::nio::charset::CharsetDecoder * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) utf8Decoder;
+ ::java::io::RandomAccessFile * raf;
+ JArray< jbyte > * buffer;
+ jlong bufferOffset;
+ jint pos;
+ jlong end;
+ jint dummyByteCount;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_zip_ZipFile$PartialInputStream__
diff --git a/libjava/java/util/zip/ZipFile$ZipEntryEnumeration.h b/libjava/java/util/zip/ZipFile$ZipEntryEnumeration.h
new file mode 100644
index 000000000..f041ae04a
--- /dev/null
+++ b/libjava/java/util/zip/ZipFile$ZipEntryEnumeration.h
@@ -0,0 +1,25 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_zip_ZipFile$ZipEntryEnumeration__
+#define __java_util_zip_ZipFile$ZipEntryEnumeration__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::zip::ZipFile$ZipEntryEnumeration : public ::java::lang::Object
+{
+
+public:
+ ZipFile$ZipEntryEnumeration(::java::util::Iterator *);
+ virtual jboolean hasMoreElements();
+ virtual ::java::util::zip::ZipEntry * ZipFile$ZipEntryEnumeration$nextElement();
+ virtual ::java::lang::Object * nextElement();
+private:
+ ::java::util::Iterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) elements;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_zip_ZipFile$ZipEntryEnumeration__
diff --git a/libjava/java/util/zip/ZipFile.h b/libjava/java/util/zip/ZipFile.h
new file mode 100644
index 000000000..7c0f69ca2
--- /dev/null
+++ b/libjava/java/util/zip/ZipFile.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_zip_ZipFile__
+#define __java_util_zip_ZipFile__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::zip::ZipFile : public ::java::lang::Object
+{
+
+ ::java::io::RandomAccessFile * openFile(::java::lang::String *, ::java::io::File *);
+public:
+ ZipFile(::java::lang::String *);
+ ZipFile(::java::io::File *);
+ ZipFile(::java::io::File *, jint);
+private:
+ void checkZipFile();
+ void checkClosed();
+ void readEntries();
+public:
+ virtual void close();
+public: // actually protected
+ virtual void finalize();
+public:
+ virtual ::java::util::Enumeration * entries();
+private:
+ ::java::util::LinkedHashMap * getEntries();
+public:
+ virtual ::java::util::zip::ZipEntry * getEntry(::java::lang::String *);
+ virtual ::java::io::InputStream * getInputStream(::java::util::zip::ZipEntry *);
+ virtual ::java::lang::String * getName();
+ virtual jint size();
+ static const jint OPEN_READ = 1;
+ static const jint OPEN_DELETE = 4;
+public: // actually package-private
+ static const jint ENDNRD = 4;
+private:
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name;
+ ::java::io::RandomAccessFile * raf;
+ ::java::util::LinkedHashMap * entries__;
+ jboolean closed;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_zip_ZipFile__
diff --git a/libjava/java/util/zip/ZipInputStream.h b/libjava/java/util/zip/ZipInputStream.h
new file mode 100644
index 000000000..4a8439506
--- /dev/null
+++ b/libjava/java/util/zip/ZipInputStream.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_zip_ZipInputStream__
+#define __java_util_zip_ZipInputStream__
+
+#pragma interface
+
+#include <java/util/zip/InflaterInputStream.h>
+#include <gcj/array.h>
+
+
+class java::util::zip::ZipInputStream : public ::java::util::zip::InflaterInputStream
+{
+
+public:
+ ZipInputStream(::java::io::InputStream *);
+private:
+ void fillBuf();
+ jint readBuf(JArray< jbyte > *, jint, jint);
+ void readFully(JArray< jbyte > *);
+ jint readLeByte();
+ jint readLeShort();
+ jint readLeInt();
+public:
+ virtual ::java::util::zip::ZipEntry * getNextEntry();
+private:
+ void readDataDescr();
+public:
+ virtual void closeEntry();
+ virtual jint available();
+ virtual jint read();
+ virtual jint read(JArray< jbyte > *, jint, jint);
+ virtual void close();
+public: // actually protected
+ virtual ::java::util::zip::ZipEntry * createZipEntry(::java::lang::String *);
+private:
+ ::java::util::zip::CRC32 * __attribute__((aligned(__alignof__( ::java::util::zip::InflaterInputStream)))) crc;
+ ::java::util::zip::ZipEntry * entry;
+ jint csize;
+ jint size;
+ jint method;
+ jint flags;
+ jint avail;
+ jboolean entryAtEOF;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_zip_ZipInputStream__
diff --git a/libjava/java/util/zip/ZipOutputStream.h b/libjava/java/util/zip/ZipOutputStream.h
new file mode 100644
index 000000000..0de152efc
--- /dev/null
+++ b/libjava/java/util/zip/ZipOutputStream.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_zip_ZipOutputStream__
+#define __java_util_zip_ZipOutputStream__
+
+#pragma interface
+
+#include <java/util/zip/DeflaterOutputStream.h>
+#include <gcj/array.h>
+
+
+class java::util::zip::ZipOutputStream : public ::java::util::zip::DeflaterOutputStream
+{
+
+public:
+ ZipOutputStream(::java::io::OutputStream *);
+ virtual void setComment(::java::lang::String *);
+ virtual void setMethod(jint);
+ virtual void setLevel(jint);
+private:
+ void writeLeShort(jint);
+ void writeLeInt(jint);
+ void writeLeInt(jlong);
+public:
+ virtual void putNextEntry(::java::util::zip::ZipEntry *);
+ virtual void closeEntry();
+ virtual void write(JArray< jbyte > *, jint, jint);
+ virtual void finish();
+private:
+ ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::util::zip::DeflaterOutputStream)))) entries;
+ ::java::util::zip::CRC32 * crc;
+ ::java::util::zip::ZipEntry * curEntry;
+ jint curMethod;
+ jint size;
+ jint offset;
+ JArray< jbyte > * zipComment;
+ jint defaultMethod;
+ static const jint ZIP_STORED_VERSION = 10;
+ static const jint ZIP_DEFLATED_VERSION = 20;
+public:
+ static const jint STORED = 0;
+ static const jint DEFLATED = 8;
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_zip_ZipOutputStream__
diff --git a/libjava/java/util/zip/natDeflater.cc b/libjava/java/util/zip/natDeflater.cc
new file mode 100644
index 000000000..9ff172109
--- /dev/null
+++ b/libjava/java/util/zip/natDeflater.cc
@@ -0,0 +1,216 @@
+// natDeflater.cc - Implementation of Deflater native methods.
+
+/* Copyright (C) 1999, 2002, 2006 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+// Written by Tom Tromey <tromey@cygnus.com>
+
+#include <config.h>
+
+#include <zlib.h>
+#include <stdlib.h>
+
+#include <gcj/cni.h>
+#include <jvm.h>
+
+#include <java/util/zip/Deflater.h>
+#include <java/util/zip/DataFormatException.h>
+
+#include <java/lang/InternalError.h>
+#include <java/lang/NullPointerException.h>
+#include <java/lang/ArrayIndexOutOfBoundsException.h>
+
+extern void *_Jv_ZMalloc (void *, uInt nitems, uInt size);
+extern void _Jv_ZFree (void *, void *addr);
+
+
+
+jint
+java::util::zip::Deflater::deflate (jbyteArray buf, jint off, jint len)
+{
+ JvSynchronize sync (this);
+ z_streamp s = (z_streamp) zstream;
+
+ if (! buf)
+ throw new java::lang::NullPointerException;
+ if (off < 0 || len < 0 || off + len > buf->length)
+ throw new java::lang::ArrayIndexOutOfBoundsException;
+
+ if (len == 0)
+ return 0;
+
+ s->next_out = (Bytef *) (elements (buf) + off);
+ s->avail_out = len;
+
+ switch (::deflate (s, flush_flag))
+ {
+ case Z_STREAM_END:
+ is_finished = true;
+ if (s->avail_out == (unsigned int) len)
+ return -1;
+ break;
+
+ case Z_STREAM_ERROR:
+ case Z_BUF_ERROR:
+ // FIXME?
+ throw new java::lang::InternalError;
+ break;
+
+ case Z_OK:
+ break;
+ }
+
+ return len - s->avail_out;
+}
+
+void
+java::util::zip::Deflater::end ()
+{
+ JvSynchronize sync (this);
+ // Just ignore errors.
+ deflateEnd ((z_streamp) zstream);
+ _Jv_Free (zstream);
+ zstream = NULL;
+}
+
+void
+java::util::zip::Deflater::finish ()
+{
+ JvSynchronize sync (this);
+ flush_flag = Z_FINISH;
+}
+
+jint
+java::util::zip::Deflater::getAdler ()
+{
+ JvSynchronize sync (this);
+ z_streamp s = (z_streamp) zstream;
+ return s->adler;
+}
+
+jlong
+java::util::zip::Deflater::getBytesRead ()
+{
+ JvSynchronize sync (this);
+ z_streamp s = (z_streamp) zstream;
+ return s->total_in;
+}
+
+jlong
+java::util::zip::Deflater::getBytesWritten ()
+{
+ JvSynchronize sync (this);
+ z_streamp s = (z_streamp) zstream;
+ return s->total_out;
+}
+
+jboolean
+java::util::zip::Deflater::needsInput ()
+{
+ JvSynchronize sync (this);
+ z_streamp s = (z_streamp) zstream;
+ return s->avail_in == 0;
+}
+
+void
+java::util::zip::Deflater::reset ()
+{
+ JvSynchronize sync (this);
+ z_streamp s = (z_streamp) zstream;
+ // Just ignore errors.
+ deflateReset (s);
+ s->avail_in = 0;
+ flush_flag = 0;
+ is_finished = false;
+}
+
+void
+java::util::zip::Deflater::setDictionary (jbyteArray buf, jint off, jint len)
+{
+ JvSynchronize sync (this);
+ z_streamp s = (z_streamp) zstream;
+
+ if (! buf)
+ throw new java::lang::NullPointerException;
+ if (off < 0 || len < 0 || off + len > buf->length)
+ throw new java::lang::ArrayIndexOutOfBoundsException;
+
+ // Ignore errors.
+ deflateSetDictionary (s, (Bytef *) (elements (buf) + off), len);
+}
+
+void
+java::util::zip::Deflater::setInput (jbyteArray buf, jint off, jint len)
+{
+ JvSynchronize sync (this);
+ z_streamp s = (z_streamp) zstream;
+
+ if (! buf)
+ throw new java::lang::NullPointerException;
+ if (off < 0 || len < 0 || off + len > buf->length)
+ throw new java::lang::ArrayIndexOutOfBoundsException;
+
+ s->next_in = (Bytef *) (elements (buf) + off);
+ s->avail_in = len;
+}
+
+void
+java::util::zip::Deflater::update ()
+{
+ JvSynchronize sync (this);
+ z_streamp s = (z_streamp) zstream;
+
+ int strat = Z_DEFAULT_STRATEGY;
+ switch (strategy)
+ {
+ case DEFAULT_STRATEGY:
+ strat = Z_DEFAULT_STRATEGY;
+ break;
+ case FILTERED:
+ strat = Z_FILTERED;
+ break;
+ case HUFFMAN_ONLY:
+ strat = Z_HUFFMAN_ONLY;
+ break;
+ default:
+ JvFail ("unexpected strategy");
+ }
+
+ // Ignore errors.
+ deflateParams (s, level, strat);
+}
+
+void
+java::util::zip::Deflater::init (jint level, jboolean no_header)
+{
+ z_stream_s *stream = (z_stream_s *) _Jv_Malloc (sizeof (z_stream_s));
+ stream->next_in = Z_NULL;
+ stream->avail_in = 0;
+ stream->zalloc = _Jv_ZMalloc;
+ stream->zfree = _Jv_ZFree;
+ stream->opaque = NULL;
+
+ // Handle NO_HEADER using undocumented zlib feature.
+ int wbits = MAX_WBITS;
+ if (no_header)
+ wbits = - wbits;
+
+#define DEFAULT_MEM_LEVEL 8
+ if (deflateInit2 (stream, level, Z_DEFLATED, wbits,
+ DEFAULT_MEM_LEVEL, Z_DEFAULT_STRATEGY) != Z_OK)
+ {
+ jstring msg = NULL;
+ if (stream->msg != NULL)
+ msg = JvNewStringLatin1 (stream->msg);
+ throw new java::lang::InternalError (msg);
+ }
+
+ zstream = reinterpret_cast<gnu::gcj::RawData *> (stream);
+ is_finished = false;
+ flush_flag = 0;
+}
diff --git a/libjava/java/util/zip/natInflater.cc b/libjava/java/util/zip/natInflater.cc
new file mode 100644
index 000000000..69de6c335
--- /dev/null
+++ b/libjava/java/util/zip/natInflater.cc
@@ -0,0 +1,214 @@
+// natInflater.cc - Implementation of Inflater native methods.
+
+/* Copyright (C) 1999, 2002 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+// Written by Tom Tromey <tromey@cygnus.com>
+
+#include <config.h>
+
+#include <zlib.h>
+#include <stdlib.h>
+
+#include <gcj/cni.h>
+#include <jvm.h>
+
+#include <java/util/zip/Inflater.h>
+#include <java/util/zip/DataFormatException.h>
+
+#include <java/lang/InternalError.h>
+#include <java/lang/NullPointerException.h>
+#include <java/lang/ArrayIndexOutOfBoundsException.h>
+#include <java/lang/OutOfMemoryError.h>
+
+
+
+// A couple of helper functions used to interface with zlib's
+// allocation.
+
+void *
+_Jv_ZMalloc (void *, uInt nitems, uInt size)
+{
+ return _Jv_Malloc (nitems * size);
+}
+
+void
+_Jv_ZFree (void *, void *addr)
+{
+ _Jv_Free (addr);
+}
+
+
+
+void
+java::util::zip::Inflater::end ()
+{
+ JvSynchronize sync (this);
+ // Just ignore errors.
+ inflateEnd ((z_streamp) zstream);
+ _Jv_Free (zstream);
+ zstream = NULL;
+}
+
+jint
+java::util::zip::Inflater::getAdler ()
+{
+ JvSynchronize sync (this);
+ z_streamp s = (z_streamp) zstream;
+ return s->adler;
+}
+
+jint
+java::util::zip::Inflater::getRemaining ()
+{
+ JvSynchronize sync (this);
+ z_streamp s = (z_streamp) zstream;
+ return s->avail_in;
+}
+
+jint
+java::util::zip::Inflater::getTotalIn ()
+{
+ JvSynchronize sync (this);
+ z_streamp s = (z_streamp) zstream;
+ return s->total_in;
+}
+
+jint
+java::util::zip::Inflater::getTotalOut ()
+{
+ JvSynchronize sync (this);
+ z_streamp s = (z_streamp) zstream;
+ return s->total_out;
+}
+
+jint
+java::util::zip::Inflater::inflate (jbyteArray buf, jint off, jint len)
+{
+ JvSynchronize sync (this);
+ z_streamp s = (z_streamp) zstream;
+
+ if (! buf)
+ throw new java::lang::NullPointerException;
+ if (off < 0 || len < 0 || off + len > buf->length)
+ throw new java::lang::ArrayIndexOutOfBoundsException;
+
+ if (len == 0)
+ return 0;
+
+ s->next_out = (Bytef *) (elements (buf) + off);
+ s->avail_out = len;
+
+ switch (::inflate (s, Z_SYNC_FLUSH))
+ {
+ case Z_BUF_ERROR:
+ /* Using the no_header option, zlib requires an extra padding byte at the
+ end of the stream in order to successfully complete decompression (see
+ zlib/contrib/minizip/unzip.c). We don't do this, so can end up with a
+ Z_BUF_ERROR at the end of a stream when zlib has completed inflation
+ and there's no more input. Thats not a problem. */
+ if (s->avail_in != 0)
+ throw new java::lang::InternalError;
+ // Fall through.
+
+ case Z_STREAM_END:
+ is_finished = true;
+ if (s->avail_out == (unsigned int) len)
+ return -1;
+ break;
+
+ case Z_NEED_DICT:
+ dict_needed = true;
+ break;
+
+ case Z_DATA_ERROR:
+ throw new java::util::zip::DataFormatException
+ (s->msg == NULL ? NULL : JvNewStringLatin1 (s->msg));
+ break;
+
+ case Z_MEM_ERROR:
+ throw new java::lang::OutOfMemoryError;
+ break;
+
+ case Z_OK:
+ break;
+ }
+
+ return len - s->avail_out;
+}
+
+void
+java::util::zip::Inflater::reset ()
+{
+ JvSynchronize sync (this);
+ z_streamp s = (z_streamp) zstream;
+ // Just ignore errors.
+ inflateReset (s);
+ s->avail_in = 0;
+ is_finished = false;
+ dict_needed = false;
+}
+
+void
+java::util::zip::Inflater::setDictionary (jbyteArray buf, jint off, jint len)
+{
+ JvSynchronize sync (this);
+ z_streamp s = (z_streamp) zstream;
+
+ if (! buf)
+ throw new java::lang::NullPointerException;
+ if (off < 0 || len < 0 || off + len > buf->length)
+ throw new java::lang::ArrayIndexOutOfBoundsException;
+
+ // Ignore errors.
+ inflateSetDictionary (s, (Bytef *) (elements (buf) + off), len);
+ dict_needed = false;
+}
+
+void
+java::util::zip::Inflater::setInput (jbyteArray buf, jint off, jint len)
+{
+ JvSynchronize sync (this);
+ z_streamp s = (z_streamp) zstream;
+
+ if (! buf)
+ throw new java::lang::NullPointerException;
+ if (off < 0 || len < 0 || off + len > buf->length)
+ throw new java::lang::ArrayIndexOutOfBoundsException;
+
+ s->next_in = (Bytef *) (elements (buf) + off);
+ s->avail_in = len;
+}
+
+void
+java::util::zip::Inflater::init (jboolean no_header)
+{
+ z_stream_s *stream = (z_stream_s *) _Jv_Malloc (sizeof (z_stream_s));
+ stream->next_in = Z_NULL;
+ stream->avail_in = 0;
+ stream->zalloc = _Jv_ZMalloc;
+ stream->zfree = _Jv_ZFree;
+ stream->opaque = NULL;
+
+ // Handle NO_HEADER using undocumented zlib feature.
+ int wbits = MAX_WBITS;
+ if (no_header)
+ wbits = - wbits;
+
+ if (inflateInit2 (stream, wbits) != Z_OK)
+ {
+ jstring msg = NULL;
+ if (stream->msg != NULL)
+ msg = JvNewStringLatin1 (stream->msg);
+ throw new java::lang::InternalError (msg);
+ }
+
+ zstream = reinterpret_cast<gnu::gcj::RawData *> (stream);
+ is_finished = false;
+ dict_needed = false;
+}