Package kawa.standard

Class ImportFromLibrary

  • All Implemented Interfaces:
    gnu.kawa.format.Printable, Named

    public class ImportFromLibrary
    extends Syntax
    Implement R6RS import form. This actually only implements simplified import; we assumes it has been simplified by import macro defined in syntax.scm.
    • Field Detail

      • classPrefixPath

        public static java.lang.String[] classPrefixPath
      • searchPath

        public static final java.lang.ThreadLocal<java.util.List<java.lang.CharSequence>> searchPath
      • exceptSymbol

        public static final SimpleSymbol exceptSymbol
      • librarySymbol

        public static final SimpleSymbol librarySymbol
      • prefixSymbol

        public static final SimpleSymbol prefixSymbol
      • renameSymbol

        public static final SimpleSymbol renameSymbol
    • Constructor Detail

      • ImportFromLibrary

        public ImportFromLibrary()
    • Method Detail

      • checkSrfi

        public static java.lang.String checkSrfi​(java.lang.String lname,
                                                 Translator tr)
      • handleImport

        public static boolean handleImport​(java.lang.String implicitSource,
                                           java.lang.String explicitSource,
                                           java.lang.String requestedClass,
                                           ScopeExp defs,
                                           Translator tr,
                                           require.DeclSetMapper mapper)
        Do the actual work of importing a module.
        Parameters:
        implicitSource - Source name inferred from library name, with '/' as separator. Does not include a file extension.
        explicitSource - If non-null, an exlicitly specified source file name.
      • libraryExists

        public boolean libraryExists​(java.lang.Object list,
                                     Translator tr)
        Check if library (in r7rs import syntax) exists.
        Returns:
        if library exists: class name of (existing) library class, or the special BUILTIN value; otherwise null.
      • getImportSearchPath

        public static java.util.List<java.lang.CharSequence> getImportSearchPath()