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


Java SnippetEvent.snippet方法代码示例

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


在下文中一共展示了SnippetEvent.snippet方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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();
            }
        }
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:19,代码来源:SnippetNodes.java

示例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;
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:24,代码来源:SnippetCollector.java

示例3: testForwardVarToClassGeneric

import jdk.jshell.SnippetEvent; //导入方法依赖的package包/类
public void testForwardVarToClassGeneric() {
    DeclarationSnippet a = classKey(assertEval("class A<T> { final T x; A(T v) { this.x = v; } ; T get() { return x; } int core() { return g; } }", added(RECOVERABLE_DEFINED)));
    assertUnresolvedDependencies1(a, RECOVERABLE_DEFINED, "variable g");

    List<SnippetEvent> events = assertEval("A<String> as = new A<>(\"hi\");", null,
            UnresolvedReferenceException.class, DiagCheck.DIAG_OK, DiagCheck.DIAG_OK, null);
    SnippetEvent ste = events.get(0);
    Snippet assn = ste.snippet();
    DeclarationSnippet unsn = ((UnresolvedReferenceException) ste.exception()).getSnippet();
    assertEquals(unsn.name(), "A", "Wrong with unresolved");
    assertEquals(getState().unresolvedDependencies(unsn).count(), 1, "Wrong size unresolved");
    assertEquals(getState().diagnostics(unsn).count(), 0L, "Expected no diagnostics");

    Snippet g = varKey(assertEval("int g = 10;", "10",
            added(VALID),
            ste(a, RECOVERABLE_DEFINED, VALID, false, MAIN_SNIPPET)));
    assertEval("A<String> as = new A<>(\"low\");",
            ste(MAIN_SNIPPET, VALID, VALID, false, null),
            ste(assn, VALID, OVERWRITTEN, false, MAIN_SNIPPET));
    assertEval("as.get();", "\"low\"");
    assertUnresolvedDependencies(a, 0);
    assertActiveKeys();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:24,代码来源:ForwardReferenceTest.java

示例4: bad

import jdk.jshell.SnippetEvent; //导入方法依赖的package包/类
private String bad(String input, Kind kind, String prevId) {
    List<SnippetEvent> events = assertEvalFail(input);
    assertEquals(events.size(), 1, "Expected one event, got: " + events.size());
    SnippetEvent e = events.get(0);
    List<Diag> diagnostics = getState().diagnostics(e.snippet()).collect(toList());
    assertTrue(diagnostics.size() > 0, "Expected diagnostics, got none");
    assertEquals(e.exception(), null, "Expected exception to be null.");
    assertEquals(e.value(), null, "Expected value to be null.");

    Snippet key = e.snippet();
    assertTrue(key != null, "key must be non-null, but was null.");
    assertEquals(key.kind(), kind, "Expected kind: " + kind + ", got: " + key.kind());
    SubKind expectedSubKind = kind == Kind.ERRONEOUS ? SubKind.UNKNOWN_SUBKIND : SubKind.METHOD_SUBKIND;
    assertEquals(key.subKind(), expectedSubKind, "SubKind: ");
    assertTrue(key.id().compareTo(prevId) > 0, "Current id: " + key.id() + ", previous: " + prevId);
    assertEquals(getState().diagnostics(key).collect(toList()), diagnostics, "Expected retrieved diagnostics to match, but didn't.");
    assertEquals(key.source(), input, "Expected retrieved source: " +
            key.source() + " to match input: " + input);
    assertEquals(getState().status(key), Status.REJECTED, "Expected status of REJECTED, got: " + getState().status(key));
    return key.id();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:22,代码来源:RejectedFailedTest.java

示例5: testForwardVarToClassGeneric

import jdk.jshell.SnippetEvent; //导入方法依赖的package包/类
public void testForwardVarToClassGeneric() {
    DeclarationSnippet a = classKey(assertEval("class A<T> { final T x; A(T v) { this.x = v; } ; T get() { return x; } int core() { return g; } }", added(RECOVERABLE_DEFINED)));
    assertUnresolvedDependencies1(a, RECOVERABLE_DEFINED, "variable g");

    List<SnippetEvent> events = assertEval("A<String> as = new A<>(\"hi\");", null,
            UnresolvedReferenceException.class, DiagCheck.DIAG_OK, DiagCheck.DIAG_OK, null);
    SnippetEvent ste = events.get(0);
    Snippet assn = ste.snippet();
    DeclarationSnippet unsn = ((UnresolvedReferenceException) ste.exception()).getSnippet();
    assertEquals(unsn.name(), "A", "Wrong with unresolved");
    assertEquals(getState().unresolvedDependencies(unsn).size(), 1, "Wrong size unresolved");
    assertEquals(getState().diagnostics(unsn).size(), 0, "Expected no diagnostics");

    Snippet g = varKey(assertEval("int g = 10;", "10",
            added(VALID),
            ste(a, RECOVERABLE_DEFINED, VALID, false, MAIN_SNIPPET)));
    assertEval("A<String> as = new A<>(\"low\");",
            ste(MAIN_SNIPPET, VALID, VALID, false, null),
            ste(assn, VALID, OVERWRITTEN, false, MAIN_SNIPPET));
    assertEval("as.get();", "\"low\"");
    assertUnresolvedDependencies(a, 0);
    assertActiveKeys();
}
 
开发者ID:campolake,项目名称:openjdk9,代码行数:24,代码来源:ReplaceTest.java

示例6: bad

import jdk.jshell.SnippetEvent; //导入方法依赖的package包/类
private String bad(String input, Kind kind, String prevId) {
    List<SnippetEvent> events = assertEvalFail(input);
    assertEquals(events.size(), 1, "Expected one event, got: " + events.size());
    SnippetEvent e = events.get(0);
    List<Diag> diagnostics = getState().diagnostics(e.snippet());
    assertTrue(diagnostics.size() > 0, "Expected diagnostics, got none");
    assertEquals(e.exception(), null, "Expected exception to be null.");
    assertEquals(e.value(), null, "Expected value to be null.");

    Snippet key = e.snippet();
    assertTrue(key != null, "key must be non-null, but was null.");
    assertEquals(key.kind(), kind, "Expected kind: " + kind + ", got: " + key.kind());
    SubKind expectedSubKind = kind == Kind.ERRONEOUS ? SubKind.UNKNOWN_SUBKIND : SubKind.METHOD_SUBKIND;
    assertEquals(key.subKind(), expectedSubKind, "SubKind: ");
    assertTrue(key.id().compareTo(prevId) > 0, "Current id: " + key.id() + ", previous: " + prevId);
    assertEquals(getState().diagnostics(key), diagnostics, "Expected retrieved diagnostics to match, but didn't.");
    assertEquals(key.source(), input, "Expected retrieved source: " +
            key.source() + " to match input: " + input);
    assertEquals(getState().status(key), Status.REJECTED, "Expected status of REJECTED, got: " + getState().status(key));
    return key.id();
}
 
开发者ID:campolake,项目名称:openjdk9,代码行数:22,代码来源:RejectedFailedTest.java

示例7: assertDeclareFail

import jdk.jshell.SnippetEvent; //导入方法依赖的package包/类
public Snippet assertDeclareFail(String input, ExpectedDiagnostic expectedDiagnostic,
        STEInfo mainInfo, STEInfo... updates) {
    List<SnippetEvent> events = assertEval(input, null, null,
            DiagCheck.DIAG_ERROR, DiagCheck.DIAG_IGNORE, mainInfo, updates);
    SnippetEvent e = events.get(0);
    Snippet key = e.snippet();
    assertEquals(getState().status(key), REJECTED);
    List<Diag> diagnostics = getState().diagnostics(e.snippet()).collect(toList());
    assertTrue(diagnostics.size() > 0, "Expected diagnostics, got none");
    assertDiagnostic(input, diagnostics.get(0), expectedDiagnostic);
    assertTrue(key != null, "key must never be null, but it was for: " + input);
    return key;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:14,代码来源:KullaTesting.java

示例8: assertDeclareWarn1

import jdk.jshell.SnippetEvent; //导入方法依赖的package包/类
public Snippet assertDeclareWarn1(String input, ExpectedDiagnostic expectedDiagnostic, STEInfo mainInfo, STEInfo... updates) {
    List<SnippetEvent> events = assertEval(input, IGNORE_VALUE, null,
            DiagCheck.DIAG_WARNING, DiagCheck.DIAG_IGNORE, mainInfo, updates);
    SnippetEvent e = events.get(0);
    List<Diag> diagnostics = getState().diagnostics(e.snippet()).collect(toList());
    if (expectedDiagnostic != null) assertDiagnostic(input, diagnostics.get(0), expectedDiagnostic);
    return e.snippet();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:9,代码来源:KullaTesting.java

示例9: assertDeclareFail

import jdk.jshell.SnippetEvent; //导入方法依赖的package包/类
public Snippet assertDeclareFail(String input, ExpectedDiagnostic expectedDiagnostic,
        STEInfo mainInfo, STEInfo... updates) {
    List<SnippetEvent> events = assertEval(input, null, null,
            DiagCheck.DIAG_ERROR, DiagCheck.DIAG_IGNORE, mainInfo, updates);
    SnippetEvent e = events.get(0);
    Snippet key = e.snippet();
    assertEquals(getState().status(key), REJECTED);
    List<Diag> diagnostics = getState().diagnostics(e.snippet());
    assertTrue(diagnostics.size() > 0, "Expected diagnostics, got none");
    assertDiagnostic(input, diagnostics.get(0), expectedDiagnostic);
    assertTrue(key != null, "key must never be null, but it was for: " + input);
    return key;
}
 
开发者ID:campolake,项目名称:openjdk9,代码行数:14,代码来源:KullaTesting.java

示例10: assertDeclareWarn1

import jdk.jshell.SnippetEvent; //导入方法依赖的package包/类
public Snippet assertDeclareWarn1(String input, ExpectedDiagnostic expectedDiagnostic, STEInfo mainInfo, STEInfo... updates) {
    List<SnippetEvent> events = assertEval(input, IGNORE_VALUE, null,
            DiagCheck.DIAG_WARNING, DiagCheck.DIAG_IGNORE, mainInfo, updates);
    SnippetEvent e = events.get(0);
    List<Diag> diagnostics = getState().diagnostics(e.snippet());
    if (expectedDiagnostic != null) assertDiagnostic(input, diagnostics.get(0), expectedDiagnostic);
    return e.snippet();
}
 
开发者ID:campolake,项目名称:openjdk9,代码行数:9,代码来源:KullaTesting.java

示例11: print

import jdk.jshell.SnippetEvent; //导入方法依赖的package包/类
public static void print(List<SnippetEvent> events) {
    for(SnippetEvent event : events) {
        if(event.snippet() instanceof VarSnippet) {
            String name = ((VarSnippet) event.snippet()).name();
            String id =  ((VarSnippet) event.snippet()).id();
            System.out.println("Variable " + name + " defined with ID " + id);
        }
    }
}
 
开发者ID:AdoptOpenJDK,项目名称:jdk9-jigsaw,代码行数:10,代码来源:JShellSample5.java

示例12: eval

import jdk.jshell.SnippetEvent; //导入方法依赖的package包/类
public synchronized void eval(String command) {
    List<SnippetEvent> events = shell.eval(command);
    for(SnippetEvent event : events) {
        if(event.snippet() instanceof VarSnippet) {
            String type = ((VarSnippet) event.snippet()).typeName();
            String name = ((VarSnippet) event.snippet()).name();
            String value = event.value();
            VarData varData = new VarData(type, name, value);
            eventBus.publish(Topics.VAR_CREATED_TOPIC, varData);
            variables.add(varData);
        }
    }
}
 
开发者ID:AdoptOpenJDK,项目名称:jdk9-jigsaw,代码行数:14,代码来源:ShellService.java

示例13: 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

示例14: 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);
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:4,代码来源:JShellTool.java

示例15: 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


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