@Signature(@Arg("name")) public Memory getPackage(Environment env, Memory... args) { PackageManager packageManager = this.environment.getPackageManager(); if (packageManager.has(args[0].toString())) { Package aPackage = packageManager.tryFind(args[0].toString(), env.trace()); if (aPackage == null) { return Memory.NULL; } return ObjectMemory.valueOf(new WrapPackage(env, aPackage)); } else { return Memory.NULL; } }
public Environment(Environment parent, OutputStream output) { this(parent.scope, parent.defaultBuffer.getOutput()); configuration.putAll(parent.configuration); //constants.putAll(parent.constants); classMap.putAll(parent.classMap); for (ClassEntity e : classMap.values()) { try { e.initEnvironment(this); } catch (Throwable throwable) { throw new RuntimeException(throwable); } } functionMap.putAll(parent.functionMap); constantMap.putAll(parent.constantMap); moduleManager.apply(parent.moduleManager); packageManager.apply(parent.packageManager); }
@Signature public Memory getPackages(Environment env, Memory... args) { PackageManager packageManager = this.environment.getPackageManager(); ArrayMemory result = new ArrayMemory(); for (String name : packageManager.names()) { result.add(new WrapPackage(env, packageManager.fetch(name))); } return result.toConstant(); }
this.packageManager = new PackageManager(this); for (String packageName : packageNames) { if (aPackage == null) { aPackage = getPackageManager().fetch(packageName); Package aPackage2 = getPackageManager().fetch(packageName);
Package aPackage = packageManager.tryFind(use.getName().toName(), use.toTraceInfo(analyzer.getContext()));
@Signature public void unregister(Environment env) { if (loader == null) { env.exception("PackageLoader is not registered"); } env.getPackageManager().unregisterLoader(loader); loader = null; }
@Signature(@Arg("name")) public Memory hasPackage(Environment env, Memory... args) { return TrueMemory.valueOf(this.environment.getPackageManager().has(args[0].toString())); }
@Signature public void register(Environment env) { if (loader == null) { env.getPackageManager().registerLoader(_getPackageLoader(env)); } else { env.exception("PackageLoader is already registered"); } }
@Signature({ @Arg("name"), @Arg(value = "package", nativeType = WrapPackage.class) }) public Memory setPackage(Environment env, Memory... args) { PackageManager packageManager = this.environment.getPackageManager(); packageManager.set(args[0].toString(), args[1].toObject(WrapPackage.class).getPackage()); return Memory.NULL; }