#
# Tutorial config file.  Configures the name space to export most of the java
# system classes, the JanosVM classes, and a couple of classes used by the
# tutorial which need to be shared.
#
# 
# Copyright (c) 2000, 2001, 2002 The University of Utah and the Flux Group.
# All rights reserved.
# 
# Permission to use, copy, modify, and distribute this file
# for any purpose with or without restriction is hereby granted.
# 


%begin namespace-resource
  
  %begin classgroup kernel

    # Primitive types
    boolean
    byte
    char
    double
    float
    int
    long
    short
    void

    java/lang/Object
    kaffe/util/Ptr
    java/lang/Class
    java/lang/ClassLoader

    java/lang/Boolean
    java/lang/Byte
    java/lang/Character
    java/lang/Double
    java/lang/Float
    java/lang/Integer
    java/lang/Long
    java/lang/Short
    java/lang/String
    java/lang/StringBuffer
    java/lang/Void

    java/lang/Package
    
    # Interfaces
    java/lang/Cloneable
    java/lang/Comparable
    java/lang/Runnable

    # Reflection
    java/lang/reflect/Array
    java/lang/reflect/Constructor
    java/lang/reflect/Field
    java/lang/reflect/Member
    java/lang/reflect/Method
    java/lang/reflect/Modifier
    
    # Exceptions/Errors
    java/lang/Throwable
    java/lang/Error
    java/lang/Exception
    
    java/lang/ArithmeticException
    java/lang/ArrayIndexOutOfBoundsException
    java/lang/ArrayStoreException
    java/lang/ClassCastException
    java/lang/ClassNotFoundException
    java/lang/CloneNotSupportedException
    java/lang/IllegalAccessException
    java/lang/IllegalArgumentException
    java/lang/IllegalMonitorStateException
    java/lang/IllegalStateException
    java/lang/IllegalThreadStateException
    java/lang/IndexOutOfBoundsException
    java/lang/InstantiationException
    java/lang/InterruptedException
    java/lang/NegativeArraySizeException
    java/lang/NoSuchFieldException
    java/lang/NoSuchMethodException
    java/lang/NullPointerException
    java/lang/NumberFormatException
    java/lang/RuntimeException
    java/lang/SecurityException
    java/lang/StringIndexOutOfBoundsException
    java/lang/UnsupportedOperationException
    java/lang/reflect/InvocationTargetException
    
    java/lang/AbstractMethodError
    java/lang/ClassCircularityError
    java/lang/ClassFormatError
    java/lang/ExceptionInInitializerError
    java/lang/IllegalAccessError
    java/lang/IncompatibleClassChangeError
    java/lang/InstantiationError
    java/lang/InternalError
    java/lang/LinkageError
    java/lang/NoClassDefFoundError
    java/lang/NoSuchFieldError
    java/lang/NoSuchMethodError
    java/lang/OutOfMemoryError
    java/lang/StackOverflowError
    java/lang/UnknownError
    java/lang/UnsatisfiedLinkError
    java/lang/VerifyError
    java/lang/VirtualMachineError

    kaffe/util/NotImplemented

    # Other
    java/lang/Runtime  # XXX
    java/lang/Process  # XXX
    java/lang/System  # XXX
    java/lang/ThreadLocal
    java/lang/InheritableThreadLocal
    java/lang/Thread
    java/lang/ThreadGroup
    java/lang/ThreadObjectHolder
    java/lang/Thread$Sleeper
    java/lang/Thread$Suspender

    # Util
    java/util/AbstractCollection
    java/util/AbstractList
    java/util/AbstractListIterator
    java/util/AbstractMap
    java/util/AbstractMapEntry
    java/util/AbstractMapEntrySet
    java/util/AbstractSequentialList
    java/util/AbstractSet
    java/util/ArrayList
    java/util/Arrays
    java/util/Arrays$DefCmp
    java/util/BitSet
    java/util/Calendar
    java/util/Collection
    java/util/Collections
    java/util/Comparator
    java/util/ConcurrentModificationException
    java/util/Date
    java/util/Dictionary
    java/util/EmptyStackException
    java/util/Enumeration
    java/util/EventListener
    java/util/EventObject
    java/util/GregorianCalendar
    java/util/HashMap
    java/util/HashMap$Entry
    java/util/HashSet
    java/util/Hashtable
    java/util/Iterator
    java/util/LinkedList
    java/util/LinkedListIterator
    java/util/List
    java/util/ListIterator
    java/util/Locale
    java/util/Map
    java/util/Map$Entry
    java/util/MissingResourceException
    java/util/NoSuchElementException
    java/util/Observable
    java/util/Observer
    java/util/Properties
    java/util/Random
    java/util/Set
    java/util/SimpleTimeZone
    java/util/SortedMap
    java/util/SortedSet
    java/util/Stack
    java/util/StringTokenizer
    java/util/TimeZone
    java/util/Timer
    java/util/TimerTask
    java/util/TooManyListenersException
    java/util/TreeMap
    java/util/TreeSet
    java/util/Vector
    
    kaffe/io/CharToByteConverter
    kaffe/io/CharToByteDefault
    kaffe/io/ByteToCharConverter
    kaffe/io/ByteToCharDefault
    
    java/io/PrintStream
    java/io/PrintWriter
    java/io/FileFilter
    java/io/FilenameFilter
    java/io/FileDescriptor
    java/io/Reader
    java/io/StreamTokenizer
    java/io/InputStream
    java/io/InputStreamReader
    java/io/OutputStream
    java/io/OutputStreamWriter
    java/io/IOException
    java/io/EOFException
    java/io/FileNotFoundException
    java/io/Writer

    java/lang/SecurityManager
    java/security/Security
    java/security/Provider
    java/security/Permission
    java/security/MessageDigest

    java/net/InetAddress
    
    kaffe/management/XProfiler
    
    # JanosVM interfaces
    edu/utah/janosvm/sys/ConfigFile
    edu/utah/janosvm/sys/CrossTeamCloneable
    edu/utah/janosvm/sys/DeadTeamException
    edu/utah/janosvm/sys/DuplicateExportException
    edu/utah/janosvm/sys/Exportable
    edu/utah/janosvm/sys/ExportManager
    edu/utah/janosvm/sys/ExportManager$ImportEnumerator
    edu/utah/janosvm/sys/Importable
    edu/utah/janosvm/sys/List
    edu/utah/janosvm/sys/ListNode
    edu/utah/janosvm/sys/ManagedExportable
    edu/utah/janosvm/sys/NoSuchExportException
    edu/utah/janosvm/sys/PersistentExport
    edu/utah/janosvm/sys/PortAuthority
    edu/utah/janosvm/sys/ReservationOverflowError
    edu/utah/janosvm/sys/SegmentationFaultError
    edu/utah/janosvm/sys/Team
    edu/utah/janosvm/sys/TeamList
    edu/utah/janosvm/sys/TeamEvent
    edu/utah/janosvm/sys/TeamHandle
    edu/utah/janosvm/sys/TeamListHandler
    edu/utah/janosvm/sys/TeamReservation
    edu/utah/janosvm/sys/TemporaryExport
    edu/utah/janosvm/sys/VMInstance

    edu/utah/janosvm/resources/ClassPathSpec
    edu/utah/janosvm/resources/ClassPathResource
    edu/utah/janosvm/resources/ClassGroupNotFoundException
    edu/utah/janosvm/resources/ConfigSpec
    edu/utah/janosvm/resources/DuplicateResourceSpecException
    edu/utah/janosvm/resources/GCPolicy
    edu/utah/janosvm/resources/InvalidClassGroupException
    edu/utah/janosvm/resources/ResourceSpec
    edu/utah/janosvm/resources/ResourceSpecException
    edu/utah/janosvm/resources/MemoryResource
    edu/utah/janosvm/resources/MemorySpec
    edu/utah/janosvm/resources/NameSpaceSpec
    edu/utah/janosvm/resources/NameSpaceResource
    edu/utah/janosvm/resources/NameSpaceGroup
    edu/utah/janosvm/resources/NativeSpec
    edu/utah/janosvm/resources/StdioSpec

    edu/utah/janosvm/kit/comm/amiga/Facsimile
    edu/utah/janosvm/kit/comm/amiga/FaxPort
    edu/utah/janosvm/kit/comm/amiga/FaxPortBackEnd
    edu/utah/janosvm/kit/comm/amiga/FaxPortHandle
    edu/utah/janosvm/kit/comm/amiga/Message
    edu/utah/janosvm/kit/comm/amiga/MsgPort
    edu/utah/janosvm/kit/comm/amiga/OutOfSignalsError
    edu/utah/janosvm/kit/comm/amiga/SignalDispatcher
    edu/utah/janosvm/kit/comm/amiga/SignalHandler
    edu/utah/janosvm/kit/comm/amiga/SignalSet
    
    edu/utah/janosvm/kit/management/team/TeamListMessenger
    edu/utah/janosvm/kit/management/team/TeamListMessage
    
    java/io/File
    java/io/FileInputStream

    # Networking
    java/net/BindException
    java/net/ConnectException
    java/net/ContentHandler
    java/net/ContentHandlerFactory
    java/net/DatagramPacket
    java/net/DatagramSocket
    java/net/DatagramSocketImpl
    java/net/DatagramSocketImplFactory
    java/net/FileNameMap
    java/net/HttpURLConnection
    java/net/InetAddressImpl
    java/net/JarURLConnection
    java/net/MalformedURLException
    java/net/MulticastSocket
    java/net/NetPermission
    java/net/NoRouteToHostException
    java/net/PlainDatagramSocketImpl
    java/net/PlainSocketImpl
    java/net/ProtocolException
    java/net/ServerSocket
    java/net/Socket
    java/net/SocketException
    java/net/SocketImpl
    java/net/SocketImplFactory
    java/net/SocketInputStream
    java/net/SocketOptions
    java/net/SocketOutputStream
    java/net/URL
    java/net/URLClassLoader
    java/net/URLConnection
    java/net/URLDecoder
    java/net/URLEncoder
    java/net/URLStreamHandler
    java/net/URLStreamHandlerFactory
    java/net/UnknownHostException
    java/net/UnknownServiceException

    java/util/jar/JarFile
    java/util/jar/Manifest
    java/util/jar/JarEntry
    java/util/jar/Attributes
    java/util/jar/Attributes$Name
    
    java/security/PermissionCollection
    java/security/CodeSource

    java/util/zip/ZipEntry
    
    %end

  %begin classgroup tutorial-hello
    
    # >> LOOK HERE << Tutorial classes
    HelloBackEnd

    %end
    
  %end

%begin namespace default
  kernel identity
  %end