Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/Java/Openjdk/test/langtools/tools/javac/lambda/   (Sun/Oracle ©)  Datei vom 13.11.2022 mit Größe 1 kB image not shown  

Quelle  LambdaConv21.java   Sprache: JAVA

 
/*
 * @test /nodynamiccopyright/
 * @bug 8003280
 * @summary Add lambda tests
 *  check that code generation handles void-compatibility correctly
 * @compile/fail/ref=LambdaConv21.out -XDrawDiagnostics LambdaConv21.java
 */


class LambdaConv21 {

    interface SAM_void<X> {
        void m();
    }

    interface SAM_java_lang_Void {
        Void m();
    }

    static void m_void() { }

    static Void m_java_lang_Void() { return null; }

    static void testExpressionLambda() {
        SAM_void s1 = ()->m_void(); //ok
        SAM_java_lang_Void s2 = ()->m_void(); //no - incompatible target
        SAM_void s3 = ()->m_java_lang_Void(); //ok - expression statement lambda is compatible with void
        SAM_java_lang_Void s4 = ()->m_java_lang_Void(); //ok
    }

    static void testStatementLambda() {
        SAM_void s1 = ()-> { m_void(); }; //ok
        SAM_java_lang_Void s2 = ()-> { m_void(); }; //no - missing return value
        SAM_void s3 = ()-> { return m_java_lang_Void(); }; //no - unexpected return value
        SAM_java_lang_Void s4 = ()-> { return m_java_lang_Void(); }; //ok
        SAM_void s5 = ()-> { m_java_lang_Void(); }; //ok
        SAM_java_lang_Void s6 = ()-> { m_java_lang_Void(); }; //no - missing return value
    }
}

99%


¤ Dauer der Verarbeitung: 0.22 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.