• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java LinkLogic类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中jdk.nashorn.internal.objects.annotations.SpecializedFunction.LinkLogic的典型用法代码示例。如果您正苦于以下问题:Java LinkLogic类的具体用法?Java LinkLogic怎么用?Java LinkLogic使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



LinkLogic类属于jdk.nashorn.internal.objects.annotations.SpecializedFunction包,在下文中一共展示了LinkLogic类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: getLinkLogic

import jdk.nashorn.internal.objects.annotations.SpecializedFunction.LinkLogic; //导入依赖的package包/类
/**
 * Some receivers are primitive, in that case, according to the Spec we create a new
 * native object per callsite with the wrap filter. We can only apply optimistic builtins
 * if there is no per instance state saved for these wrapped objects (e.g. currently NativeStrings),
 * otherwise we can't create optimistic versions
 *
 * @param self            receiver
 * @param linkLogicClass  linkLogicClass, or null if no link logic exists
 * @return link logic instance, or null if one could not be constructed for this receiver
 */
private static LinkLogic getLinkLogic(final Object self, final Class<? extends LinkLogic> linkLogicClass) {
    if (linkLogicClass == null) {
        return LinkLogic.EMPTY_INSTANCE; //always OK to link this, specialization but without special linking logic
    }

    if (!Context.getContextTrusted().getEnv()._optimistic_types) {
        return null; //if optimistic types are off, optimistic builtins are too
    }

    final Object wrappedSelf = wrapFilter(self);
    if (wrappedSelf instanceof OptimisticBuiltins) {
        if (wrappedSelf != self && ((OptimisticBuiltins)wrappedSelf).hasPerInstanceAssumptions()) {
            return null; //pessimistic - we created a wrapped object different from the primitive, but the assumptions have instance state
        }
        return ((OptimisticBuiltins)wrappedSelf).getLinkLogic(linkLogicClass);
    }
    return null;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:29,代码来源:ScriptFunction.java


示例2: toString

import jdk.nashorn.internal.objects.annotations.SpecializedFunction.LinkLogic; //导入依赖的package包/类
@Override
public String toString() {
    final StringBuilder sb = new StringBuilder();
    final Class<? extends LinkLogic> linkLogicClass = getLinkLogicClass();

    sb.append("[invokerType=").
        append(invoker.type()).
        append(" ctor=").
        append(constructor).
        append(" weight=").
        append(weight()).
        append(" linkLogic=").
        append(linkLogicClass != null ? linkLogicClass.getSimpleName() : "none");

    return sb.toString();
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:17,代码来源:CompiledFunction.java


示例3: getLinkLogic

import jdk.nashorn.internal.objects.annotations.SpecializedFunction.LinkLogic; //导入依赖的package包/类
/**
 * Some receivers are primitive, in that case, according to the Spec we
 * create a new native object per callsite with the wrap filter. We can only
 * apply optimistic builtins if there is no per instance state saved for
 * these wrapped objects (e.g. currently NativeStrings), otherwise we can't
 * create optimistic versions
 *
 * @param self receiver
 * @param linkLogicClass linkLogicClass, or null if no link logic exists
 * @return link logic instance, or null if one could not be constructed for
 * this receiver
 */
private static LinkLogic getLinkLogic(final Object self, final Class<? extends LinkLogic> linkLogicClass) {
    if (linkLogicClass == null) {
        return LinkLogic.EMPTY_INSTANCE; //always OK to link this, specialization but without special linking logic
    }

    if (!Context.getContextTrusted().getEnv()._optimistic_types) {
        return null; //if optimistic types are off, optimistic builtins are too
    }

    final Object wrappedSelf = wrapFilter(self);
    if (wrappedSelf instanceof OptimisticBuiltins) {
        if (wrappedSelf != self && ((OptimisticBuiltins) wrappedSelf).hasPerInstanceAssumptions()) {
            return null; //pessimistic - we created a wrapped object different from the primitive, but the assumptions have instance state
        }
        return ((OptimisticBuiltins) wrappedSelf).getLinkLogic(linkLogicClass);
    }
    return null;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:31,代码来源:ScriptFunction.java


示例4: getLinkLogic

import jdk.nashorn.internal.objects.annotations.SpecializedFunction.LinkLogic; //导入依赖的package包/类
@Override
public LinkLogic getLinkLogic(final Class<? extends LinkLogic> clazz) {
    if (clazz == CharCodeAtLinkLogic.class) {
        return CharCodeAtLinkLogic.INSTANCE;
    }
    return null;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:8,代码来源:NativeString.java


示例5: getLinkLogic

import jdk.nashorn.internal.objects.annotations.SpecializedFunction.LinkLogic; //导入依赖的package包/类
@Override
public SpecializedFunction.LinkLogic getLinkLogic(final Class<? extends LinkLogic> clazz) {
    if (clazz == PushLinkLogic.class) {
        return PushLinkLogic.INSTANCE;
    } else if (clazz == PopLinkLogic.class) {
        return PopLinkLogic.INSTANCE;
    } else if (clazz == ConcatLinkLogic.class) {
        return ConcatLinkLogic.INSTANCE;
    }
    return null;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:12,代码来源:NativeArray.java


示例6: Specialization

import jdk.nashorn.internal.objects.annotations.SpecializedFunction.LinkLogic; //导入依赖的package包/类
/**
 * Constructor
 *
 * @param mh  invoker method handler
 * @param linkLogicClass extra link logic needed for this function. Instances of this class also contains logic for checking
 *  if this can be linked on its first encounter, which is needed as per our standard linker semantics
 * @param isOptimistic is this an optimistic native method, i.e. can it throw {@link UnwarrantedOptimismException}
 *   which would have to lead to a relink and return value processing
 */
public Specialization(final MethodHandle mh, final Class<? extends LinkLogic> linkLogicClass, final boolean isOptimistic) {
    this.mh             = mh;
    this.isOptimistic   = isOptimistic;
    if (linkLogicClass != null) {
        //null out the "empty" link logic class for optimization purposes
        //we only use the empty instance because we can't default class annotations
        //to null
        this.linkLogicClass = LinkLogic.isEmpty(linkLogicClass) ? null : linkLogicClass;
    } else {
        this.linkLogicClass = null;
    }
 }
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:22,代码来源:Specialization.java


示例7: getLinkLogicClass

import jdk.nashorn.internal.objects.annotations.SpecializedFunction.LinkLogic; //导入依赖的package包/类
Class<? extends LinkLogic> getLinkLogicClass() {
    if (isSpecialization()) {
        final Class<? extends LinkLogic> linkLogicClass = specialization.getLinkLogicClass();
        assert !LinkLogic.isEmpty(linkLogicClass) : "empty link logic classes should have been removed by nasgen";
        return linkLogicClass;
    }
    return null;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:9,代码来源:CompiledFunction.java


示例8: Specialization

import jdk.nashorn.internal.objects.annotations.SpecializedFunction.LinkLogic; //导入依赖的package包/类
/**
 * Constructor
 *
 * @param mh  invoker method handler
 * @param linkLogicClass extra link logic needed for this function. Instances of this class also contains logic for checking
 *  if this can be linked on its first encounter, which is needed as per our standard linker semantics
 * @param isOptimistic is this an optimistic native method, i.e. can it throw {@link UnwarrantedOptimismException}
 *   which would have to lead to a relink and return value processing
 * @param convertsNumericArgs true if it is safe to convert arguments to numbers
 */
public Specialization(final MethodHandle mh, final Class<? extends LinkLogic> linkLogicClass,
                      final boolean isOptimistic, final boolean convertsNumericArgs) {
    this.mh             = mh;
    this.isOptimistic   = isOptimistic;
    this.convertsNumericArgs = convertsNumericArgs;
    if (linkLogicClass != null) {
        //null out the "empty" link logic class for optimization purposes
        //we only use the empty instance because we can't default class annotations
        //to null
        this.linkLogicClass = LinkLogic.isEmpty(linkLogicClass) ? null : linkLogicClass;
    } else {
        this.linkLogicClass = null;
    }
 }
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:25,代码来源:Specialization.java



注:本文中的jdk.nashorn.internal.objects.annotations.SpecializedFunction.LinkLogic类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java FieldDescription类代码示例发布时间:2022-05-22
下一篇:
Java OrderBy类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap