org.mozilla.javascript.Context.hasFeature()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 JavaScript  
字(9.5k)|赞(0)|评价(0)|浏览(114)

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

Context.hasFeature介绍

[英]Controls certain aspects of script semantics. Should be overwritten to alter default behavior.

The default implementation calls ContextFactory#hasFeature(Context cx,int featureIndex)that allows to customize Context behavior without introducing Context subclasses. ContextFactory documentation gives an example of hasFeature implementation.
[中]控制脚本语义的某些方面。应被覆盖以更改默认行为。
默认实现调用ContextFactory#hasFeature(Context cx,int featureIndex),它允许自定义上下文行为,而无需引入上下文子类。ContextFactory文档提供了一个hasFeature实现的示例。

代码示例

代码示例来源:origin: rhino/js

private static void reportWarning(Context cx, String messageId, String arg)
{
  if (cx.hasFeature(Context.FEATURE_STRICT_MODE)) {
    String msg = ScriptRuntime.getMessage1(messageId, arg);
    Context.reportWarning(msg);
  }
}

代码示例来源:origin: com.github.tntim96/rhino

private static void reportWarning(Context cx, String messageId, String arg)
{
  if (cx.hasFeature(Context.FEATURE_STRICT_MODE)) {
    String msg = ScriptRuntime.getMessage1(messageId, arg);
    Context.reportWarning(msg);
  }
}

代码示例来源:origin: geogebra/geogebra

private static void reportWarning(Context cx, String messageId, String arg)
{
  if (cx.hasFeature(Context.FEATURE_STRICT_MODE)) {
    String msg = ScriptRuntime.getMessage1(messageId, arg);
    Context.reportWarning(msg);
  }
}

代码示例来源:origin: ro.isdc.wro4j/rhino

private static void reportWarning(Context cx, String messageId, String arg)
{
  if (cx.hasFeature(Context.FEATURE_STRICT_MODE)) {
    String msg = ScriptRuntime.getMessage1(messageId, arg);
    Context.reportWarning(msg);
  }
}

代码示例来源:origin: com.sun.phobos/phobos-rhino

private static void reportWarning(Context cx, String messageId, String arg)
{
  if (cx.hasFeature(Context.FEATURE_STRICT_MODE)) {
    String msg = ScriptRuntime.getMessage1(messageId, arg);
    Context.reportWarning(msg);
  }
}

代码示例来源:origin: io.apigee/rhino

private static void reportWarning(Context cx, String messageId, String arg)
{
  if (cx.hasFeature(Context.FEATURE_STRICT_MODE)) {
    String msg = ScriptRuntime.getMessage1(messageId, arg);
    Context.reportWarning(msg);
  }
}

代码示例来源:origin: rhino/js

static Ref createSpecial(Context cx, Object object, String name)
{
  Scriptable target = ScriptRuntime.toObjectOrNull(cx, object);
  if (target == null) {
    throw ScriptRuntime.undefReadError(object, name);
  }
  int type;
  if (name.equals("__proto__")) {
    type = SPECIAL_PROTO;
  } else if (name.equals("__parent__")) {
    type = SPECIAL_PARENT;
  } else {
    throw new IllegalArgumentException(name);
  }
  if (!cx.hasFeature(Context.FEATURE_PARENT_PROTO_PROPERTIES)) {
    // Clear special after checking for valid name!
    type = SPECIAL_NONE;
  }
  return new SpecialRef(target, type, name);
}

代码示例来源:origin: geogebra/geogebra

static Ref createSpecial(Context cx, Scriptable scope, Object object,
             String name)
{
  Scriptable target = ScriptRuntime.toObjectOrNull(cx, object, scope);
  if (target == null) {
    throw ScriptRuntime.undefReadError(object, name);
  }
  int type;
  if (name.equals("__proto__")) {
    type = SPECIAL_PROTO;
  } else if (name.equals("__parent__")) {
    type = SPECIAL_PARENT;
  } else {
    throw new IllegalArgumentException(name);
  }
  if (!cx.hasFeature(Context.FEATURE_PARENT_PROTO_PROPERTIES)) {
    // Clear special after checking for valid name!
    type = SPECIAL_NONE;
  }
  return new SpecialRef(target, type, name);
}

代码示例来源:origin: ro.isdc.wro4j/rhino

static Ref createSpecial(Context cx, Object object, String name)
{
  Scriptable target = ScriptRuntime.toObjectOrNull(cx, object);
  if (target == null) {
    throw ScriptRuntime.undefReadError(object, name);
  }
  int type;
  if (name.equals("__proto__")) {
    type = SPECIAL_PROTO;
  } else if (name.equals("__parent__")) {
    type = SPECIAL_PARENT;
  } else {
    throw new IllegalArgumentException(name);
  }
  if (!cx.hasFeature(Context.FEATURE_PARENT_PROTO_PROPERTIES)) {
    // Clear special after checking for valid name!
    type = SPECIAL_NONE;
  }
  return new SpecialRef(target, type, name);
}

代码示例来源:origin: ro.isdc.wro4j/rhino

public static Object getObjectProp(Scriptable obj, String property,
                  Context cx)
{
  Object result = ScriptableObject.getProperty(obj, property);
  if (result == Scriptable.NOT_FOUND) {
    if (cx.hasFeature(Context.FEATURE_STRICT_MODE)) {
      Context.reportWarning(ScriptRuntime.getMessage1(
        "msg.ref.undefined.prop", property));
    }
    result = Undefined.instance;
  }
  return result;
}

代码示例来源:origin: com.github.tntim96/rhino

public static Object getObjectProp(Scriptable obj, String property,
                  Context cx)
{
  Object result = ScriptableObject.getProperty(obj, property);
  if (result == Scriptable.NOT_FOUND) {
    if (cx.hasFeature(Context.FEATURE_STRICT_MODE)) {
      Context.reportWarning(ScriptRuntime.getMessage1(
        "msg.ref.undefined.prop", property));
    }
    result = Undefined.instance;
  }
  return result;
}

代码示例来源:origin: geogebra/geogebra

public static Object getObjectProp(Scriptable obj, String property,
                  Context cx)
{
  Object result = ScriptableObject.getProperty(obj, property);
  if (result == Scriptable.NOT_FOUND) {
    if (cx.hasFeature(Context.FEATURE_STRICT_MODE)) {
      Context.reportWarning(ScriptRuntime.getMessage1(
        "msg.ref.undefined.prop", property));
    }
    result = Undefined.instance;
  }
  return result;
}

代码示例来源:origin: io.apigee/rhino

public static Object getObjectProp(Scriptable obj, String property,
                  Context cx)
{
  Object result = ScriptableObject.getProperty(obj, property);
  if (result == Scriptable.NOT_FOUND) {
    if (cx.hasFeature(Context.FEATURE_STRICT_MODE)) {
      Context.reportWarning(ScriptRuntime.getMessage1(
        "msg.ref.undefined.prop", property));
    }
    result = Undefined.instance;
  }
  return result;
}

代码示例来源:origin: rhino/js

JavaMembers(Scriptable scope, Class<?> cl, boolean includeProtected)
{
  try {
    Context cx = ContextFactory.getGlobal().enterContext();
    ClassShutter shutter = cx.getClassShutter();
    if (shutter != null && !shutter.visibleToScripts(cl.getName())) {
      throw Context.reportRuntimeError1("msg.access.prohibited",
                       cl.getName());
    }
    this.includePrivate = cx.hasFeature(
      Context.FEATURE_ENHANCED_JAVA_ACCESS);
    this.members = new HashMap<String,Object>();
    this.staticMembers = new HashMap<String,Object>();
    this.cl = cl;
    reflect(scope, includeProtected);
  } finally {
    Context.exit();
  }
}

代码示例来源:origin: io.apigee/rhino

JavaMembers(Scriptable scope, Class<?> cl, boolean includeProtected)
{
  try {
    Context cx = ContextFactory.getGlobal().enterContext();
    ClassShutter shutter = cx.getClassShutter();
    if (shutter != null && !shutter.visibleToScripts(cl.getName())) {
      throw Context.reportRuntimeError1("msg.access.prohibited",
                       cl.getName());
    }
    this.members = new HashMap<String,Object>();
    this.staticMembers = new HashMap<String,Object>();
    this.cl = cl;
    boolean includePrivate = cx.hasFeature(
        Context.FEATURE_ENHANCED_JAVA_ACCESS);
    reflect(scope, includeProtected, includePrivate);
  } finally {
    Context.exit();
  }
}

代码示例来源:origin: geogebra/geogebra

JavaMembers(Scriptable scope, Class<?> cl, boolean includeProtected)
{
  try {
    Context cx = ContextFactory.getGlobal().enterContext();
    ClassShutter shutter = cx.getClassShutter();
    if (shutter != null && !shutter.visibleToScripts(cl.getName())) {
      throw Context.reportRuntimeError1("msg.access.prohibited",
                       cl.getName());
    }
    this.members = new HashMap<String,Object>();
    this.staticMembers = new HashMap<String,Object>();
    this.cl = cl;
    boolean includePrivate = cx.hasFeature(
        Context.FEATURE_ENHANCED_JAVA_ACCESS);
    reflect(scope, includeProtected, includePrivate);
  } finally {
    Context.exit();
  }
}

代码示例来源:origin: com.sun.phobos/phobos-rhino

public static Object getObjectProp(Scriptable obj, String property,
                  Context cx)
{
  if (obj instanceof XMLObject) {
    XMLObject xmlObject = (XMLObject)obj;
    return xmlObject.ecmaGet(cx, property);
  }
  Object result = ScriptableObject.getProperty(obj, property);
  if (result == Scriptable.NOT_FOUND) {
    if (cx.hasFeature(Context.FEATURE_STRICT_MODE)) {
      Context.reportWarning(ScriptRuntime.getMessage1(
          "msg.ref.undefined.prop", property));
    }
    result = Undefined.instance;
  }
  return result;
}

代码示例来源:origin: rhino/js

/**
 * Report a warning using the error reporter for the current thread.
 *
 * @param message the warning message to report
 * @param sourceName a string describing the source, such as a filename
 * @param lineno the starting line number
 * @param lineSource the text of the line (may be null)
 * @param lineOffset the offset into lineSource where problem was detected
 * @see org.mozilla.javascript.ErrorReporter
 */
public static void reportWarning(String message, String sourceName,
                 int lineno, String lineSource,
                 int lineOffset)
{
  Context cx = Context.getContext();
  if (cx.hasFeature(FEATURE_WARNING_AS_ERROR))
    reportError(message, sourceName, lineno, lineSource, lineOffset);
  else
    cx.getErrorReporter().warning(message, sourceName, lineno,
                   lineSource, lineOffset);
}

代码示例来源:origin: com.github.tntim96/rhino

/**
 * Report a warning using the error reporter for the current thread.
 *
 * @param message the warning message to report
 * @param sourceName a string describing the source, such as a filename
 * @param lineno the starting line number
 * @param lineSource the text of the line (may be null)
 * @param lineOffset the offset into lineSource where problem was detected
 * @see org.mozilla.javascript.ErrorReporter
 */
public static void reportWarning(String message, String sourceName,
                 int lineno, String lineSource,
                 int lineOffset)
{
  Context cx = Context.getContext();
  if (cx.hasFeature(FEATURE_WARNING_AS_ERROR))
    reportError(message, sourceName, lineno, lineSource, lineOffset);
  else
    cx.getErrorReporter().warning(message, sourceName, lineno,
                   lineSource, lineOffset);
}

代码示例来源:origin: rhino/js

public static Object getObjectProp(Scriptable obj, String property,
                  Context cx)
{
  if (obj instanceof XMLObject) {
    // TODO: Change XMLObject to just use Scriptable interface
    // to avoid paying cost of instanceof check on *every property
    // lookup* !
    XMLObject xmlObject = (XMLObject)obj;
    return xmlObject.ecmaGet(cx, property);
  }
  Object result = ScriptableObject.getProperty(obj, property);
  if (result == Scriptable.NOT_FOUND) {
    if (cx.hasFeature(Context.FEATURE_STRICT_MODE)) {
      Context.reportWarning(ScriptRuntime.getMessage1(
        "msg.ref.undefined.prop", property));
    }
    result = Undefined.instance;
  }
  return result;
}

相关文章

微信公众号

Context类方法