Skip to content

Commit be10d40

Browse files
committed
Improvements
1 parent 5459c01 commit be10d40

File tree

2 files changed

+8
-10
lines changed

2 files changed

+8
-10
lines changed

_sass/custom/custom.scss

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
.site-title {
66
display: inline-flex;
77
align-items: center;
8-
font-weight: 700;
9-
font-size: 1.2rem;
10-
letter-spacing: 0.01em;
8+
font-weight: 500;
9+
font-size: 1.4rem;
10+
letter-spacing: 0.02em;
1111
color: #171a1f !important;
1212
}
1313

@@ -51,7 +51,7 @@
5151
border: 1px solid rgba(38, 48, 68, 0.45);
5252
border-radius: 1rem;
5353
background: linear-gradient(180deg, #172033 0%, #111827 100%);
54-
box-shadow: 0 18px 36px rgba(15, 23, 42, 0.18);
54+
box-shadow: 0 10px 10px rgba(15, 23, 42, 0.15);
5555
}
5656

5757
.main-content div.highlighter-rouge,
@@ -116,7 +116,7 @@
116116
fill: currentColor;
117117
}
118118

119-
.main-content .diagnostic-image {
119+
.main-content img {
120120
display: block;
121121
width: 100%;
122122
max-width: 100%;
@@ -125,7 +125,7 @@
125125
border: 1px solid rgba(38, 48, 68, 0.45);
126126
border-radius: 1rem;
127127
background: linear-gradient(180deg, #172033 0%, #111827 100%);
128-
box-shadow: 0 18px 36px rgba(15, 23, 42, 0.18);
128+
box-shadow: 0 10px 10px rgba(15, 23, 42, 0.15);
129129
}
130130

131131
.main-content pre,

pages/concepts/state-refinements.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public class Buffer {
5959

6060
If no `to` transition is declared, LiquidJava defaults the constructor to the first state listed in the corresponding `@StateSet`.
6161

62-
Constructors must always be present for typestate checking to work correctly, because they are the point where the initial state values are assigned. Otherwise, the initial values are not set and the verifier won't be able to track the state of the object across method calls, which can lead to unexpected type errors.
62+
Constructors must always be present for typestate checking to work correctly, because they are the point where the initial state values are assigned. Otherwise, the initial values are not set and the verifier won't be able to track the state of the object across method calls.
6363

6464
When refining interfaces, which cannot have a constructor, LiquidJava still needs an initialization point. In those cases, the refinement interface must declare a method whose name matches the class we are refining. For example, an interface named `ArrayListRefinements` that is refining `java.util.ArrayList` should declare the method `public void ArrayList()`. This method plays the role of a constructor for the typestate system and ensures the initial values are set correctly.
6565

@@ -88,6 +88,4 @@ public class Device {
8888
}
8989
```
9090

91-
Each state set is exclusive: at any moment, the object can only be in one state from that specific set. In the example above, the object cannot be both `open` and `closed`, and it cannot be both `clean` and `dirty`.
92-
93-
When using more than one state set, the states must be combined with `&&` in the `from` and `to` annotations, as shown in the example above. This is because the object must always be in exactly one state from each set, so we need to specify the full state of the object in the preconditions and postconditions.
91+
Each state set is **mutually exclusive**: at any given moment, the object must be in exactly one state from each state set. To this end, in state transitions, the states must be combined with `&&` to specify the object's complete state. In the example above, the object cannot be both `open` and `closed`, and it cannot be both `clean` and `dirty`.

0 commit comments

Comments
 (0)