本文整理汇总了Java中jdk.jshell.SnippetEvent.status方法的典型用法代码示例。如果您正苦于以下问题:Java SnippetEvent.status方法的具体用法?Java SnippetEvent.status怎么用?Java SnippetEvent.status使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类jdk.jshell.SnippetEvent
的用法示例。
在下文中一共展示了SnippetEvent.status方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: accept
import jdk.jshell.SnippetEvent; //导入方法依赖的package包/类
@Override
public void accept(SnippetEvent t) {
Snippet snip = t.snippet();
Snippet.Status stat = t.status();
if (session == null) {
return;
}
if (stat == Snippet.Status.DROPPED ||
stat == Snippet.Status.OVERWRITTEN) {
SnippetHandle h = session.getSnippetRegistry().getHandle(snip);
if (h != null) {
N n = factory.findNode(h);
if (n != null) {
n.fireDisplayNameChange();
}
}
}
}
示例2: snippetChange
import jdk.jshell.SnippetEvent; //导入方法依赖的package包/类
@Override
public void snippetChange(SnippetEvent ev) {
Snippet snip = ev.snippet();
Status stat = ev.status();
Rng snipRange = getInputRange();
switch (stat) {
case VALID:
case RECOVERABLE_DEFINED:
case RECOVERABLE_NOT_DEFINED: {
SnippetData data = new SnippetData(snip);
data.setRange(snipRange);
snippetData.put(snip, data);
break;
}
case DROPPED:
case OVERWRITTEN:
// rejected, but still may be a part of the parsing, unless replaced
case REJECTED:
break;
}
}
示例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));
}
}
}
示例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;
}
示例5: accept
import jdk.jshell.SnippetEvent; //导入方法依赖的package包/类
@Override
public void accept(SnippetEvent e) {
switch (e.status()) {
case REJECTED:
erroneous = true;
case VALID:
case RECOVERABLE_DEFINED:
case RECOVERABLE_NOT_DEFINED:
case NONEXISTENT:
if (recordNoSave) {
excludedSnippets.add(e.snippet());
}
// register in the registry:
SnippetHandle handle;
if (isExternal()) {
handle = snippetRegistry.installSnippet(
e.snippet(), null, 0, true);
} else {
handle = snippetRegistry.installSnippet(
e.snippet(), exec, execOffset, false);
}
// create an indexed file for the snippet.
snippetRegistry.snippetFile(handle, 0);
}
}
示例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;
}
示例7: DisplayEvent
import jdk.jshell.SnippetEvent; //导入方法依赖的package包/类
DisplayEvent(SnippetEvent ste, boolean update, String value, List<Diag> errors) {
this(ste.snippet(), ste.status(), toAction(ste.status(), ste.previousStatus(), ste.isSignatureChange()), update, value, errors);
}
示例8: 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;
}
示例9: DisplayEvent
import jdk.jshell.SnippetEvent; //导入方法依赖的package包/类
DisplayEvent(SnippetEvent ste, FormatWhen update, String value, List<Diag> errors) {
this(ste.snippet(), ste.status(), false,
toAction(ste.status(), ste.previousStatus(), ste.isSignatureChange()),
update, value, errors);
}
示例10: 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();
}
示例11: 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;
}
示例12: showResult
import jdk.jshell.SnippetEvent; //导入方法依赖的package包/类
private void showResult(@NotNull SnippetEvent event) throws JShellException {
if (event.status() == Snippet.Status.VALID) {
if (event.value() != null) {
log.info("> {}", event.value());
} else {
if (event.exception() != null) {
log.error(event.exception().getMessage(), event.exception());
throw event.exception();
} else {
log.debug("Event: {}", event);
}
}
} else {
if (event.exception() != null) {
log.error(event.exception().getMessage(), event.exception());
throw event.exception();
}
switch (event.status()) {
case REJECTED:
log.warn("REJECTED: {}", event);
log.debug(REJECTED_DESC);
break;
case DROPPED:
log.warn("DROPPED: {}", event);
log.debug(DROPPED_DESC);
break;
case NONEXISTENT:
log.warn("NONEXISTENT: {}", event);
log.debug(NONEXISTENT_DESC);
break;
case OVERWRITTEN:
log.warn("OVERWRITTEN: {}", event);
log.debug(OVERWRITTEN_DESC);
break;
case RECOVERABLE_DEFINED:
log.warn("RECOVERABLE_DEFINED: {}", event);
log.debug(REC_DEF_DESC);
break;
case RECOVERABLE_NOT_DEFINED:
log.warn("RECOVERABLE_NOT_DEFINED: {}", event);
log.debug(REC_NOT_DEF_DESC);
break;
default:
throw new IllegalStateException();
}
}
}