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


Java SnippetEvent.causeSnippet方法代码示例

本文整理汇总了Java中jdk.jshell.SnippetEvent.causeSnippet方法的典型用法代码示例。如果您正苦于以下问题:Java SnippetEvent.causeSnippet方法的具体用法?Java SnippetEvent.causeSnippet怎么用?Java SnippetEvent.causeSnippet使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在jdk.jshell.SnippetEvent的用法示例。


在下文中一共展示了SnippetEvent.causeSnippet方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: processCompleteSource

import jdk.jshell.SnippetEvent; //导入方法依赖的package包/类
private boolean processCompleteSource(String source) throws IllegalStateException {
    debug("Compiling: %s", source);
    boolean failed = false;
    boolean isActive = false;
    List<SnippetEvent> events = state.eval(source);
    for (SnippetEvent e : events) {
        // Report the event, recording failure
        failed |= handleEvent(e);

        // If any main snippet is active, this should be replayable
        // also ignore var value queries
        isActive |= e.causeSnippet() == null &&
                e.status().isActive() &&
                e.snippet().subKind() != VAR_VALUE_SUBKIND;
    }
    // If this is an active snippet and it didn't cause the backend to die,
    // add it to the replayable history
    if (isActive && live) {
        addToReplayHistory(source);
    }

    return failed;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:24,代码来源:JShellTool.java

示例2: processCompleteSource

import jdk.jshell.SnippetEvent; //导入方法依赖的package包/类
boolean processCompleteSource(String source) throws IllegalStateException {
    debug("Compiling: %s", source);
    boolean failed = false;
    boolean isActive = false;
    List<SnippetEvent> events = state.eval(source);
    for (SnippetEvent e : events) {
        // Report the event, recording failure
        failed |= handleEvent(e);

        // If any main snippet is active, this should be replayable
        // also ignore var value queries
        isActive |= e.causeSnippet() == null &&
                e.status().isActive() &&
                e.snippet().subKind() != VAR_VALUE_SUBKIND;
    }
    // If this is an active snippet and it didn't cause the backend to die,
    // add it to the replayable history
    if (isActive && live) {
        addToReplayHistory(source);
    }

    return failed;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:24,代码来源:JShellTool.java

示例3: assertKeyMatch

import jdk.jshell.SnippetEvent; //导入方法依赖的package包/类
private void assertKeyMatch(SnippetEvent ste, Snippet sn, Snippet expected, Snippet mainSnippet) {
    Snippet testKey = expected;
    if (testKey != null) {
        if (expected == MAIN_SNIPPET) {
            assertNotNull(mainSnippet, "MAIN_SNIPPET used, test must pass value to assertMatch");
            testKey = mainSnippet;
        }
        if (ste.causeSnippet() == null && ste.status() != DROPPED && expected != MAIN_SNIPPET) {
            // Source change, always new snippet -- only match id()
            assertTrue(sn != testKey,
                    "Main-event: Expected new snippet to be != : " + testKey
                    + "\n   got-event: " + toString(ste));
            assertEquals(sn.id(), testKey.id(), "Expected IDs to match: " + testKey + ", got: " + sn
                    + "\n   expected-event: " + this + "\n   got-event: " + toString(ste));
        } else {
            assertEquals(sn, testKey, "Expected key to be: " + testKey + ", got: " + sn
                    + "\n   expected-event: " + this + "\n   got-event: " + toString(ste));
        }
    }
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:21,代码来源:KullaTesting.java

示例4: processCompleteSource

import jdk.jshell.SnippetEvent; //导入方法依赖的package包/类
private boolean processCompleteSource(String source) throws IllegalStateException {
    debug("Compiling: %s", source);
    boolean failed = false;
    boolean isActive = false;
    List<SnippetEvent> events = state.eval(source);
    for (SnippetEvent e : events) {
        // Report the event, recording failure
        failed |= handleEvent(e);

        // If any main snippet is active, this should be replayable
        // also ignore var value queries
        isActive |= e.causeSnippet() == null &&
                e.status().isActive &&
                e.snippet().subKind() != VAR_VALUE_SUBKIND;
    }
    // If this is an active snippet and it didn't cause the backend to die,
    // add it to the replayable history
    if (isActive && live) {
        addToReplayHistory(source);
    }

    return failed;
}
 
开发者ID:campolake,项目名称:openjdk9,代码行数:24,代码来源:JShellTool.java

示例5: evalSingle

import jdk.jshell.SnippetEvent; //导入方法依赖的package包/类
protected String evalSingle(String code) throws Exception {
    String result = null;

    for (SnippetEvent event : this.shell.eval(code)) {
        // If fresh snippet
        if (event.causeSnippet() == null) {
            JShellException e = event.exception();
            if (e != null) throw e;

            if (!event.status().isDefined())
                throw new CompilationException(event);

            switch (event.snippet().subKind()) {
                case VAR_VALUE_SUBKIND:
                case OTHER_EXPRESSION_SUBKIND:
                case TEMP_VAR_EXPRESSION_SUBKIND:
                    result = event.value();
                    if (NO_MAGIC_RETURN.equals(result))
                        result = null;

                    break;
                default:
                    result = null;
                    break;
            }
        }
    }

    return result;
}
 
开发者ID:SpencerPark,项目名称:IJava,代码行数:31,代码来源:CodeEvaluator.java

示例6: handleEvent

import jdk.jshell.SnippetEvent; //导入方法依赖的package包/类
private boolean handleEvent(SnippetEvent ste) {
    Snippet sn = ste.snippet();
    if (sn == null) {
        debug("Event with null key: %s", ste);
        return false;
    }
    List<Diag> diagnostics = state.diagnostics(sn).collect(toList());
    String source = sn.source();
    if (ste.causeSnippet() == null) {
        // main event
        for (Diag d : diagnostics) {
            hardmsg(d.isError()? "jshell.msg.error" : "jshell.msg.warning");
            List<String> disp = new ArrayList<>();
            displayDiagnostics(source, d, disp);
            disp.stream()
                    .forEach(l -> hard("%s", l));
        }

        if (ste.status() != Status.REJECTED) {
            if (ste.exception() != null) {
                if (ste.exception() instanceof EvalException) {
                    printEvalException((EvalException) ste.exception());
                    return true;
                } else if (ste.exception() instanceof UnresolvedReferenceException) {
                    printUnresolvedException((UnresolvedReferenceException) ste.exception());
                } else {
                    hard("Unexpected execution exception: %s", ste.exception());
                    return true;
                }
            } else {
                new DisplayEvent(ste, false, ste.value(), diagnostics).displayDeclarationAndValue();
            }
        } else {
            if (diagnostics.isEmpty()) {
                errormsg("jshell.err.failed");
            }
            return true;
        }
    } else {
        // Update
        if (sn instanceof DeclarationSnippet) {
            List<Diag> other = errorsOnly(diagnostics);

            // display update information
            new DisplayEvent(ste, true, ste.value(), other).displayDeclarationAndValue();
        }
    }
    return false;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:50,代码来源:JShellTool.java

示例7: handleEvent

import jdk.jshell.SnippetEvent; //导入方法依赖的package包/类
private boolean handleEvent(SnippetEvent ste) {
    Snippet sn = ste.snippet();
    if (sn == null) {
        debug("Event with null key: %s", ste);
        return false;
    }
    List<Diag> diagnostics = state.diagnostics(sn).collect(toList());
    String source = sn.source();
    if (ste.causeSnippet() == null) {
        // main event
        for (Diag d : diagnostics) {
            hardmsg(d.isError()? "jshell.msg.error" : "jshell.msg.warning");
            List<String> disp = new ArrayList<>();
            displayDiagnostics(source, d, disp);
            disp.stream()
                    .forEach(l -> hard("%s", l));
        }

        if (ste.status() != Status.REJECTED) {
            if (ste.exception() != null) {
                if (ste.exception() instanceof EvalException) {
                    printEvalException((EvalException) ste.exception());
                    return true;
                } else if (ste.exception() instanceof UnresolvedReferenceException) {
                    printUnresolvedException((UnresolvedReferenceException) ste.exception());
                } else {
                    hard("Unexpected execution exception: %s", ste.exception());
                    return true;
                }
            } else {
                new DisplayEvent(ste, FormatWhen.PRIMARY, ste.value(), diagnostics)
                        .displayDeclarationAndValue();
            }
        } else {
            if (diagnostics.isEmpty()) {
                errormsg("jshell.err.failed");
            }
            return true;
        }
    } else {
        // Update
        if (sn instanceof DeclarationSnippet) {
            List<Diag> other = errorsOnly(diagnostics);

            // display update information
            new DisplayEvent(ste, FormatWhen.UPDATE, ste.value(), other)
                    .displayDeclarationAndValue();
        }
    }
    return false;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:52,代码来源:JShellTool.java

示例8: toString

import jdk.jshell.SnippetEvent; //导入方法依赖的package包/类
private String toString(SnippetEvent ste) {
    return "key: " + (ste.snippet()==MAIN_SNIPPET? "MAIN_SNIPPET" : ste.snippet().id()) + " before: " + ste.previousStatus()
            + " status: " + ste.status() + " sig: " + ste.isSignatureChange()
            + " cause: " + ste.causeSnippet();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:6,代码来源:KullaTesting.java

示例9: handleEvent

import jdk.jshell.SnippetEvent; //导入方法依赖的package包/类
private boolean handleEvent(SnippetEvent ste) {
    Snippet sn = ste.snippet();
    if (sn == null) {
        debug("Event with null key: %s", ste);
        return false;
    }
    List<Diag> diagnostics = state.diagnostics(sn);
    String source = sn.source();
    if (ste.causeSnippet() == null) {
        // main event
        for (Diag d : diagnostics) {
            hardmsg(d.isError()? "jshell.msg.error" : "jshell.msg.warning");
            List<String> disp = new ArrayList<>();
            displayDiagnostics(source, d, disp);
            disp.stream()
                    .forEach(l -> hard("%s", l));
        }

        if (ste.status() != Status.REJECTED) {
            if (ste.exception() != null) {
                if (ste.exception() instanceof EvalException) {
                    printEvalException((EvalException) ste.exception());
                    return true;
                } else if (ste.exception() instanceof UnresolvedReferenceException) {
                    printUnresolvedException((UnresolvedReferenceException) ste.exception());
                } else {
                    hard("Unexpected execution exception: %s", ste.exception());
                    return true;
                }
            } else {
                new DisplayEvent(ste, false, ste.value(), diagnostics).displayDeclarationAndValue();
            }
        } else {
            if (diagnostics.isEmpty()) {
                errormsg("jshell.err.failed");
            }
            return true;
        }
    } else {
        // Update
        if (sn instanceof DeclarationSnippet) {
            List<Diag> other = errorsOnly(diagnostics);

            // display update information
            new DisplayEvent(ste, true, ste.value(), other).displayDeclarationAndValue();
        }
    }
    return false;
}
 
开发者ID:campolake,项目名称:openjdk9,代码行数:50,代码来源:JShellTool.java


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