当前位置: 首页>>代码示例>>Java>>正文


Java RuntimeEvent类代码示例

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


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

示例1: expandEventQueueCapacity

import jdk.nashorn.internal.runtime.events.RuntimeEvent; //导入依赖的package包/类
/**
 * Expands the event queue capacity, or truncates if capacity is lower than
 * current capacity. Then only the newest entries are kept
 * @param self self reference
 * @param newCapacity new capacity
 */
@Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR)
public static void expandEventQueueCapacity(final Object self, final Object newCapacity) {
    final LinkedList<RuntimeEvent<?>> q = getEventQueue(self);
    final int nc = JSType.toInt32(newCapacity);
    while (q.size() > nc) {
        q.removeFirst();
    }
    setEventQueueCapacity(self, nc);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:16,代码来源:NativeDebug.java

示例2: addRuntimeEvent

import jdk.nashorn.internal.runtime.events.RuntimeEvent; //导入依赖的package包/类
/**
 * Add a runtime event to the runtime event queue. The queue has a fixed
 * size {@link RuntimeEvent#RUNTIME_EVENT_QUEUE_SIZE} and the oldest
 * entry will be thrown out of the queue is about to overflow
 * @param self self reference
 * @param event event to add
 */
@Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR)
public static void addRuntimeEvent(final Object self, final Object event) {
    final LinkedList<RuntimeEvent<?>> q = getEventQueue(self);
    final int cap = (Integer)getEventQueueCapacity(self);
    while (q.size() >= cap) {
        q.removeFirst();
    }
    q.addLast(getEvent(event));
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:17,代码来源:NativeDebug.java

示例3: getEventQueueCapacity

import jdk.nashorn.internal.runtime.events.RuntimeEvent; //导入依赖的package包/类
/**
 * Get the capacity of the event queue
 * @param self self reference
 * @return capacity of event queue as an integer
 */
@Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR)
public static Object getEventQueueCapacity(final Object self) {
    final ScriptObject sobj = (ScriptObject)self;
    Integer cap;
    if (sobj.has(EVENT_QUEUE_CAPACITY)) {
        cap = JSType.toInt32(sobj.get(EVENT_QUEUE_CAPACITY));
    } else {
        setEventQueueCapacity(self, cap = RuntimeEvent.RUNTIME_EVENT_QUEUE_SIZE);
    }
    return cap;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:17,代码来源:NativeDebug.java

示例4: removeRuntimeEvent

import jdk.nashorn.internal.runtime.events.RuntimeEvent; //导入依赖的package包/类
/**
 * Remove a specific runtime event from the event queue
 * @param self self reference
 * @param event event to remove
 */
@Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR)
public static void removeRuntimeEvent(final Object self, final Object event) {
    final LinkedList<RuntimeEvent<?>> q  = getEventQueue(self);
    final RuntimeEvent<?>             re = getEvent(event);
    if (!q.remove(re)) {
        throw new IllegalStateException("runtime event " + re + " was not in event queue");
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:14,代码来源:NativeDebug.java

示例5: getEventQueue

import jdk.nashorn.internal.runtime.events.RuntimeEvent; //导入依赖的package包/类
@SuppressWarnings("unchecked")
private static LinkedList<RuntimeEvent<?>> getEventQueue(final Object self) {
    final ScriptObject sobj = (ScriptObject)self;
    LinkedList<RuntimeEvent<?>> q;
    if (sobj.has(EVENT_QUEUE)) {
        q = (LinkedList<RuntimeEvent<?>>)((ScriptObject)self).get(EVENT_QUEUE);
    } else {
        ((ScriptObject)self).set(EVENT_QUEUE, q = new LinkedList<>(), NashornCallSiteDescriptor.CALLSITE_STRICT);
    }
    return q;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:12,代码来源:NativeDebug.java

示例6: logEvent

import jdk.nashorn.internal.runtime.events.RuntimeEvent; //导入依赖的package包/类
private static void logEvent(final RuntimeEvent<?> event) {
    if (event != null) {
        final Global global = Context.getGlobal();
        if (global.has("Debug")) {
            final ScriptObject debug = (ScriptObject)global.get("Debug");
            final ScriptFunction addRuntimeEvent = (ScriptFunction)debug.get("addRuntimeEvent");
            ScriptRuntime.apply(addRuntimeEvent, debug, event);
        }
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:11,代码来源:DebugLogger.java

示例7: clearRuntimeEvents

import jdk.nashorn.internal.runtime.events.RuntimeEvent; //导入依赖的package包/类
/**
 * Clear the runtime event queue
 * @param self self reference
 */
@Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR)
public static void clearRuntimeEvents(final Object self) {
    final LinkedList<RuntimeEvent<?>> q = getEventQueue(self);
    q.clear();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:10,代码来源:NativeDebug.java

示例8: getLastRuntimeEvent

import jdk.nashorn.internal.runtime.events.RuntimeEvent; //导入依赖的package包/类
/**
 * Return the last runtime event in the queue
 * @param self self reference
 * @return the freshest event, null if queue is empty
 */
@Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR)
public static Object getLastRuntimeEvent(final Object self) {
    final LinkedList<RuntimeEvent<?>> q = getEventQueue(self);
    return q.isEmpty() ? null : q.getLast();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:11,代码来源:NativeDebug.java


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