Returns true if any extensions have been imported in the current model.
Returns true if any extensions have been imported in the current model.
Instructs any extensions which haven't been re-imported during the current compile to shut down.
Instructs any extensions which haven't been re-imported during the current compile to shut down. Should be called during each full re-compile.
See the top of org.nlogo.workspace.ExtensionManager
for full details.
Loads the extension contained in the jar at jarPath.
Loads the extension contained in the jar at jarPath.
the ErrorSource to use when a CompilerException needs to be thrown.
uses java.
uses java.lang.Iterable for easy access from Java
Returns the identifier "name" by its imported implementation, if any, or null if not.
Returns the identifier "name" by its imported implementation, if any, or null if not.
Instructs any loaded extensions to unload.
Instructs any loaded extensions to unload. Should be called previous to a new model load.
the stored object
During compilation, we reach the extensions [ .
During compilation, we reach the extensions [ ... ] block. When that happens, the compiler tells the ExtensionManager that it needs to forget what extensions are in the extensions [ ... ] block, by calling this method.
The compiler will then call the importExtension method for each extension in the block. Among other things, this lets the ExtensionManager know each extension that is "live", or currently in the block, so that its primitives are available for use elsewhere in the model.
See the top of org.nlogo.workspace.ExtensionManager
for full details.
Stores an object for the extension that can be retrieved in runOnce if the extension is loaded again.
Stores an object for the extension that can be retrieved in runOnce if the extension is loaded again. This is useful if the extension has initialization it needs to perform that should only happen once, even if the extension is loaded multiple times.
the object to be stored