You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Open in the cloud: [GitHub Codespaces]({{ site.liquidjava_examples_codespaces_url }})
16
16
17
17
Once the project is open, use the [VS Code extension]({{ site.liquidjava_vscode_extension_url }}) to run automatically run the verifier and view diagnostics directly in the editor.
The refinement on `b` states that callers must provide a non-zero argument. Instead of waiting for a runtime exception, LiquidJava rejects the invalid call during verification.
41
-
42
-
## What You Need
43
-
44
-
- Java 20 or newer
45
-
- Maven 3.6 or newer
46
-
- The `liquidjava-api` dependency in the Java project you want to verify
47
-
48
-
You can work with LiquidJava in two main ways:
49
-
50
-
- through the [VS Code extension]({{ '/tooling/vscode-extension/' | relative_url }}) for an editor-first workflow
51
-
- through the [CLI verifier]({{ '/tooling/cli/' | relative_url }}) for direct command-line verification
52
-
53
-
## Documentation Map
54
-
55
-
- Start with [Installation]({{ '/getting-started/installation/' | relative_url }}) to set up the API and tooling.
56
-
- Follow [Quickstart]({{ '/getting-started/quickstart/' | relative_url }}) for a concise first run.
57
-
- Use the [Reference]({{ '/reference/' | relative_url }}) section to learn the annotation model in more detail.
58
-
- Visit [Examples]({{ '/examples/' | relative_url }}) when you want runnable projects.
38
+
The refinement on `b` states that callers must provide a non-zero argument, which is checked at compile time using an [SMT solver](https://en.wikipedia.org/wiki/Satisfiability_modulo_theories).
39
+
The call `divide(1, 0)` violates this contract, so the verifier reports an error without the program even running.
0 commit comments