Package kawa.standard
Class ImportFromLibrary
- java.lang.Object
-
- kawa.lang.Syntax
-
- kawa.standard.ImportFromLibrary
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String[]classPrefixPathstatic SimpleSymbolclassSymbolstatic SimpleSymbolexceptSymbolstatic ImportFromLibraryinstancestatic SimpleSymbollibrarySymbolstatic SimpleSymbolonlySymbolstatic SimpleSymbolprefixSymbolstatic SimpleSymbolrenameSymbolstatic java.lang.ThreadLocal<java.util.List<java.lang.CharSequence>>searchPath
-
Constructor Summary
Constructors Constructor Description ImportFromLibrary()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.lang.StringcheckSrfi(java.lang.String lname, Translator tr)static java.util.List<java.lang.CharSequence>getImportSearchPath()static booleanhandleImport(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.booleanlibraryExists(java.lang.Object list, Translator tr)Check if library (in r7rs import syntax) exists.ExpressionrewriteForm(Pair form, Translator tr)voidscanForm(Pair st, ScopeExp defs, Translator tr)
-
-
-
Field Detail
-
instance
public static final ImportFromLibrary instance
-
classPrefixPath
public static java.lang.String[] classPrefixPath
-
searchPath
public static final java.lang.ThreadLocal<java.util.List<java.lang.CharSequence>> searchPath
-
classSymbol
public static final SimpleSymbol classSymbol
-
exceptSymbol
public static final SimpleSymbol exceptSymbol
-
librarySymbol
public static final SimpleSymbol librarySymbol
-
onlySymbol
public static final SimpleSymbol onlySymbol
-
prefixSymbol
public static final SimpleSymbol prefixSymbol
-
renameSymbol
public static final SimpleSymbol renameSymbol
-
-
Method Detail
-
scanForm
public void scanForm(Pair st, ScopeExp defs, Translator tr)
-
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.
-
rewriteForm
public Expression rewriteForm(Pair form, Translator tr)
- Overrides:
rewriteFormin classSyntax
-
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()
-
-