Class GosuClassLoader

    • Constructor Detail

      • GosuClassLoader

        public GosuClassLoader​(java.lang.ClassLoader parent)
    • Method Detail

      • init

        private void init()
      • getLoader

        public java.lang.ClassLoader getLoader()
      • loadClass

        public java.lang.Class loadClass​(java.lang.String strName)
                                  throws java.lang.ClassNotFoundException
        Specified by:
        loadClass in interface IGosuClassLoader
        Throws:
        java.lang.ClassNotFoundException
      • findClass

        public java.lang.Class<?> findClass​(java.lang.String strName)
                                     throws java.lang.ClassNotFoundException
        Specified by:
        findClass in interface IGosuClassLoader
        Throws:
        java.lang.ClassNotFoundException
      • defineClass

        public java.lang.Class defineClass​(ICompilableTypeInternal gsClass,
                                           boolean useSingleServingLoader)
                                    throws java.lang.ClassNotFoundException
        Throws:
        java.lang.ClassNotFoundException
      • hasDiscreteNamespace

        boolean hasDiscreteNamespace​(java.lang.String namespace)
      • getDiscreteNamespaceLoader

        DiscreteClassLoader getDiscreteNamespaceLoader​(java.lang.String namespace)
      • isLoaderUnloaded

        public boolean isLoaderUnloaded​(java.lang.String namespace)
      • isEnclosingTypeInSingleServingLoader

        private boolean isEnclosingTypeInSingleServingLoader​(ICompilableTypeInternal gsClass)
      • findOrDefineClass

        private java.lang.Class findOrDefineClass​(ICompilableTypeInternal gsClass)
                                           throws java.lang.ClassNotFoundException
        Throws:
        java.lang.ClassNotFoundException
      • defineClassInLoader

        private java.lang.Class defineClassInLoader​(ICompilableTypeInternal gsClass,
                                                    boolean forceSingleServingLoader)
      • isOldStyleGosuAnnotationExpression

        private boolean isOldStyleGosuAnnotationExpression​(ICompilableTypeInternal gsClass)
      • compileClass

        private static byte[] compileClass​(ICompilableType type,
                                           boolean debug)
      • isThrowawayProgram

        private boolean isThrowawayProgram​(ICompilableType gsClass)
      • defineClass

        public java.lang.Class defineClass​(java.lang.String name,
                                           byte[] bytes)
        Specified by:
        defineClass in interface IGosuClassLoader