php.runtime.env.Environment.getModuleManager()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(3.5k)|赞(0)|评价(0)|浏览(121)

本文整理了Java中php.runtime.env.Environment.getModuleManager()方法的一些代码示例,展示了Environment.getModuleManager()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Environment.getModuleManager()方法的具体详情如下:
包路径:php.runtime.env.Environment
类名称:Environment
方法名:getModuleManager

Environment.getModuleManager介绍

暂无

代码示例

代码示例来源:origin: jphp-group/jphp

protected ModuleEntity fetchClass(Environment env, String fileName, boolean compiled) throws Throwable {
    return env.getModuleManager().fetchTemporaryModule("res://" + fileName, compiled);
  }
}

代码示例来源:origin: jphp-group/jphp

public ModuleEntity loadFrom(String file) throws Throwable {
  return environment.getModuleManager().fetchModule(file);
}

代码示例来源:origin: jphp-group/jphp

private ModuleEntity compileFile(File path, File destinationDirectory, File destinationResDirectory) {
  try {
    ModuleEntity entity = env.getModuleManager().fetchModule(path.getPath());
    saveModuleClasses(entity, destinationDirectory, destinationResDirectory);
    return entity;
  } catch (Throwable throwable) {
    throw new RuntimeException(throwable);
  }
}

代码示例来源:origin: jphp-group/jphp

public ModuleEntity module() {
  if (callStackTop <= 0) {
    return null;
  }
  return env.getModuleManager().findModule(peekCall(0).trace);
}

代码示例来源:origin: jphp-group/jphp

public ModuleEntity module(int depth) {
  CallStackItem stackItem = peekCall(depth);
  if (stackItem != null) {
    return env.getModuleManager().findModule(stackItem.trace);
  }
  return null;
}

代码示例来源:origin: jphp-group/jphp

public static Memory get_included_files(Environment env){
  return ArrayMemory.ofStringCollection(env.getModuleManager().getCachedPaths());
}

代码示例来源:origin: jphp-group/jphp

private static Memory typeHintArg(Environment env, TraceInfo trace, ParameterEntity param,
                 Memory arg, int i, String originClassName, String originMethodName, String staticClassName) {
  if (!param.checkTypeHinting(env, arg, staticClassName)) {
    ModuleEntity module = env.getModuleManager().findModule(trace);
    Memory memory = param.applyTypeHinting(env, arg, module != null && module.isStrictTypes());
    if (memory != null) {
      return memory;
    } else {
      invalidType(env, trace, param, i + 1, arg, originClassName, originMethodName);
    }
  }
  return arg;
}

代码示例来源:origin: jphp-group/jphp

@Signature(@Arg("path"))
public Memory findModule(Environment env,  Memory... args) throws Throwable {
  ModuleManager moduleManager = this.environment.getModuleManager();
  boolean hasModule = moduleManager.hasModule(args[0].toString());
  if (hasModule) {
    return ObjectMemory.valueOf(new WrapModule(env, moduleManager.fetchModule(args[0].toString())));
  }
  return Memory.NULL;
}

代码示例来源:origin: jphp-group/jphp

ModuleEntity fetchModule = environment.getModuleManager().fetchModule(include);

代码示例来源:origin: jphp-group/jphp

public static Memory checkReturnType(Environment env, TraceInfo trace, Memory result, Function<String> callName,
                   TypeChecker typeChecker, boolean nullable) {
  if (typeChecker == null) {
    return result;
  }
  if (!typeChecker.check(env, result, nullable, null)) {
    ModuleEntity module = env.getModuleManager().findModule(trace);
    Memory newReturn = typeChecker.apply(
        env, result, nullable, module != null && module.isStrictTypes()
    );
    if (newReturn == null) {
      String given = result.isObject()
          ? result.toValue(ObjectMemory.class).getReflection().getName()
          : result.getRealType().toString();
      env.exception(
          trace,
          BaseTypeError.class,
          Messages.ERR_RETURN_TYPE_INVALID.fetch(callName.call(), typeChecker.getHumanString(), given)
      );
      return null;
    } else {
      return newReturn;
    }
  }
  return result;
}

代码示例来源:origin: jphp-group/jphp

environment.getScope().addUserModule(module);
environment.registerModule(module);
environment.getModuleManager().addModule(context.getFileName(), module);

相关文章