public Package fetch(String name) { Package aPackage = packages.get(name); if (aPackage == null) { synchronized (packages) { aPackage = packages.get(name); if (aPackage != null) return aPackage; packages.put(name, aPackage = new Package()); } } return aPackage; }
public void apply(PackageManager parent) { for (Map.Entry<String, Package> packageEntry : parent.packages.entrySet()) { this.packages.put(packageEntry.getKey(), packageEntry.getValue().duplicate()); } }
aPackage.addClass(ReflectionUtils.getClassName(aClass)); aPackage.addFunction(functionSpec.getName()); aPackage.addConstant(constant.name); for (String s : aPackage.getClasses()) aPackage2.addClass(s); for (String s : aPackage.getFunctions()) aPackage2.addFunction(s); for (String s : aPackage.getConstants()) aPackage2.addConstant(s);
for (String cls : aPackage.getClasses()) { FulledNameToken nameToken = FulledNameToken.valueOf(StringUtils.split(cls, Information.NAMESPACE_SEP_CHAR)); for (String s : aPackage.getFunctions()) { FulledNameToken nameToken = FulledNameToken.valueOf(StringUtils.split(s, Information.NAMESPACE_SEP_CHAR)); for (String s : aPackage.getConstants()) { FulledNameToken nameToken = FulledNameToken.valueOf(StringUtils.split(s, Information.NAMESPACE_SEP_CHAR));
String name = args[0].toString(); String packageUrl = "JPHP-INF/packages/" + name; Package pkg = new Package(); switch (type) { case 1: pkg.addClass(line); break; case 2: pkg.addFunction(line); break; case 3: pkg.addConstant(line); break;
@Signature(@Arg("name")) public Memory addFunction(Environment env, Memory... args) { return pkg.addFunction(args[0].toString()) ? Memory.TRUE : Memory.FALSE; }
@Signature(@Arg("name")) public Memory addClass(Environment env, Memory... args) { return pkg.addClass(args[0].toString()) ? Memory.TRUE : Memory.FALSE; }
@Signature(@Arg("name")) public Memory addConstant(Environment env, Memory... args) { return pkg.addConstant(args[0].toString()) ? Memory.TRUE : Memory.FALSE; }
@Signature(@Arg("name")) public Memory hasClass(Environment env, Memory... args) { return pkg.hasClass(args[0].toString()) ? Memory.TRUE : Memory.FALSE; }
@Signature(@Arg("name")) public Memory hasConstant(Environment env, Memory... args) { return pkg.hasConstant(args[0].toString()) ? Memory.TRUE : Memory.FALSE; }
@Signature(@Arg(value = "names", type = HintType.ARRAY)) public Memory addFunctions(Environment env, Memory... args) { for (Memory one : args[0].toValue(ArrayMemory.class)) { pkg.addFunction(one.toString()); } return Memory.NULL; }
@Signature(@Arg(value = "names", type = HintType.ARRAY)) public Memory addClasses(Environment env, Memory... args) { for (Memory one : args[0].toValue(ArrayMemory.class)) { pkg.addClass(one.toString()); } return Memory.NULL; }
@Signature(@Arg(value = "names", type = HintType.ARRAY)) public Memory addConstants(Environment env, Memory... args) { for (Memory one : args[0].toValue(ArrayMemory.class)) { pkg.addConstant(one.toString()); } return Memory.NULL; } }
public Package duplicate() { Package aPackage = new Package(); aPackage.classes = new HashSet<>(classes); aPackage.functions = new HashSet<>(functions); aPackage.constants = new HashSet<>(constants); return aPackage; }
@Signature public Memory __construct(Environment env, Memory... args) { pkg = new Package(); return Memory.NULL; }