Giter VIP home page Giter VIP logo

junreachable's Introduction

junreachable

Maven Central Maven Central (snapshot) Codecov

com.io7m.junreachable

JVM Platform Status
OpenJDK (Temurin) Current Linux Build (OpenJDK (Temurin) Current, Linux)
OpenJDK (Temurin) LTS Linux Build (OpenJDK (Temurin) LTS, Linux)
OpenJDK (Temurin) Current Windows Build (OpenJDK (Temurin) Current, Windows)
OpenJDK (Temurin) LTS Windows Build (OpenJDK (Temurin) LTS, Windows)

junreachable

The junreachable package implements a set of exception types for unambiguously marking code that is supposed to be unreachable (but that the compiler cannot prove is unreachable).

Status

As the Java platform evolves, libraries that may have been necessary in the past can become unnecessary due to new platform features. The junreachable package falls into this category: There are now far fewer instances in the Java language where the compiler cannot determine that a given section of code is unreachable. In particular, switch expressions and sealed types eliminate many of the situations where unreachable code had to be explicitly marked.

This package is in maintenance mode and will not see any new functionality.

Features

  • Exceptions for marking unreachable code.
  • High coverage test suite.
  • OSGi-ready
  • JPMS-ready
  • ISC license.

Usage

Throw the UnreachableCodeException exception at lines of code that are expected to be unreachable, but that the compiler cannot prove are really unreachable. If this exception ends up being thrown, it will unambiguously signal that the code wasn't as unreachable as the developer thought; this is clearly a bug.

Throw the UnimplementedCodeException exception at lines of code that have yet to contain real implementations. If this exception ends up being thrown, it is immediately clear to users and developers alike what happened: The user tried to use some part of the code that hasn't yet been properly implemented.

junreachable's People

Contributors

io7m avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.