JDK 11 jdk.scripting.nashorn.jmod - Scripting Nashorn Module

JDK 11 jdk.scripting.nashorn.jmod is the JMOD file for JDK 11 Scripting Nashorn module.

JDK 11 Scripting Nashorn module compiled class files are stored in \fyicenter\jdk-11.0.1\jmods\jdk.scripting.nashorn.jmod.

JDK 11 Scripting Nashorn module compiled class files are also linked and stored in the \fyicenter\jdk-11.0.1\lib\modules JImage file.

JDK 11 Scripting Nashorn module source code files are stored in \fyicenter\jdk-11.0.1\lib\src.zip\jdk.scripting.nashorn.

You can click and view the content of each source code file in the list below.

✍: FYIcenter

jdk/nashorn/internal/runtime/Debug.java

/*
 * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
 * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 */

package jdk.nashorn.internal.runtime;

import static jdk.nashorn.internal.parser.TokenType.EOF;

import jdk.nashorn.api.scripting.NashornException;
import jdk.nashorn.internal.parser.Lexer;
import jdk.nashorn.internal.parser.Token;
import jdk.nashorn.internal.parser.TokenStream;
import jdk.nashorn.internal.parser.TokenType;

/**
 * Utilities for debugging Nashorn.
 *
 */
public final class Debug {
    private Debug() {
    }

    /**
     * Return the topmost JavaScript frame in a stack trace
     * @param t throwable that contains the stack trace
     * @return line describing the topmost JavaScript frame
     */
    public static String firstJSFrame(final Throwable t) {
        for (final StackTraceElement ste : t.getStackTrace()) {
            if (ECMAErrors.isScriptFrame(ste)) {
                return ste.toString();
            }
        }
        return "<native code>";
    }

    /**
     * Return the topmost JavaScript frame from the current
     * continuation
     * @return line describing the topmost JavaScript frame
     */
    public static String firstJSFrame() {
        return firstJSFrame(new Throwable());
    }

    /**
     * Return a formatted script stack trace string with frames information separated by '\n'.
     * This is a shortcut for {@code NashornException.getScriptStackString(new Throwable())}.
     * @return formatted stack trace string
     */
    public static String scriptStack() {
        return NashornException.getScriptStackString(new Throwable());
    }

    /**
     * Return the system identity hashcode for an object as a human readable
     * string
     *
     * @param x object
     * @return system identity hashcode as string
     */
    public static String id(final Object x) {
        return String.format("0x%08x", System.identityHashCode(x));
    }

    /**
     * Same as {@link Debug#id} but returns the identity hashcode as
     * an integer
     *
     * @param x object
     * @return system identity hashcode
     */
    public static int intId(final Object x) {
        return System.identityHashCode(x);
    }

    /**
     * Return a stack trace element description at a depth from where we are not
     *
     * @param depth depth
     * @return stack trace element as string
     */
    public static String stackTraceElementAt(final int depth) {
        return new Throwable().getStackTrace()[depth + 1].toString(); // add 1 to compensate for this method
    }

    /**
     * Determine caller for tracing purposes.
     * @param depth depth to trace
     * @param count max depth
     * @param ignores elements to ignore in stack trace
     * @return caller
     */
    public static String caller(final int depth, final int count, final String... ignores) {
        String result = "";
        final StackTraceElement[] callers = Thread.currentThread().getStackTrace();

        int c = count;
loop:
        for (int i = depth + 1; i < callers.length && c != 0; i++) {
            final StackTraceElement element = callers[i];
            final String method = element.getMethodName();

            for (final String ignore : ignores) {
                if (method.compareTo(ignore) == 0) {
                    continue loop;
                }
            }

            result += (method + ":" + element.getLineNumber() +
                       "                              ").substring(0, 30);
            c--;
        }

        return result.isEmpty() ? "<no caller>" : result;
    }

    /**
     * Dump a token stream to stdout
     *
     * TODO: most other bugging goes to stderr, change?
     *
     * @param source the source
     * @param lexer  the lexer
     * @param stream the stream to dump
     */
    public static void dumpTokens(final Source source, final Lexer lexer, final TokenStream stream) {
        TokenType type;
        int k = 0;
        do {
            while (k > stream.last()) {
                // Get more tokens.
                lexer.lexify();
            }

            final long token = stream.get(k);
            type = Token.descType(token);
            System.out.println("" + k + ": " + Token.toString(source, token, true));
            k++;
        } while(type != EOF);
    }

}

jdk/nashorn/internal/runtime/Debug.java

 

Or download all of them as a single archive file:

File name: jdk.scripting.nashorn-11.0.1-src.zip
File size: 1390965 bytes
Release date: 2018-11-04
Download 

 

JDK 11 jdk.scripting.nashorn.shell.jmod - Scripting Nashorn Shell Module

JDK 11 jdk.rmic.jmod - RMI Compiler Tool

Download and Use JDK 11

⇑⇑ FAQ for JDK (Java Development Kit)

2020-04-25, 107895👍, 0💬