Skip to content

Commit 1914061

Browse files
committed
Implement toString() methods of box types using CProverString methods
1 parent 624563e commit 1914061

File tree

5 files changed

+10
-16
lines changed

5 files changed

+10
-16
lines changed

src/main/java/java/lang/Character.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import java.util.Locale;
3232

3333
import org.cprover.CProver;
34+
import org.cprover.CProverString;
3435

3536
/**
3637
* The {@code Character} class wraps a value of the primitive
@@ -4653,7 +4654,8 @@ public String toString() {
46534654
* @since 1.4
46544655
*/
46554656
public static String toString(char c) {
4656-
return String.valueOf(c);
4657+
char data[] = {c};
4658+
return CProverString.ofCharArray(data, 0, 1);
46574659
}
46584660

46594661
/**

src/main/java/java/lang/Double.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ public final class Double extends Number implements Comparable<Double> {
212212
*/
213213
public static String toString(double d) {
214214
// return FloatingDecimal.toJavaFormatString(d);
215-
return String.valueOf(d);
215+
return CProverString.toString(d);
216216
}
217217

218218
/**

src/main/java/java/lang/Float.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import sun.misc.FloatConsts;
3232
import sun.misc.DoubleConsts;
3333
import org.cprover.CProver;
34+
import org.cprover.CProverString;
3435

3536
/**
3637
* The {@code Float} class wraps a value of primitive type
@@ -204,14 +205,9 @@ public final class Float extends Number implements Comparable<Float> {
204205
*
205206
* @param f the float to be converted.
206207
* @return a string representation of the argument.
207-
* @diffblue.noSupport
208208
*/
209209
public static String toString(float f) {
210-
// DIFFBLUE MODEL LIBRARY
211-
// removed for compatibility with Java 9 and newer
212-
// return FloatingDecimal.toJavaFormatString(f);
213-
CProver.notModelled();
214-
return CProver.nondetWithNullForNotModelled();
210+
return CProverString.toString(f);
215211
}
216212

217213
/**

src/main/java/java/lang/Integer.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,8 @@ public final class Integer extends Number implements Comparable<Integer> {
120120
* @see java.lang.Character#MAX_RADIX
121121
* @see java.lang.Character#MIN_RADIX
122122
*/
123-
// DIFFBLUE MODEL LIBRARY: Handled internally by CBMC
124123
public static String toString(int i, int radix) {
125-
return CProver.nondetWithoutNullForNotModelled();
124+
return CProverString.toString(i, radix);
126125
}
127126

128127
/**
@@ -288,10 +287,8 @@ public static String toBinaryString(int i) {
288287
* @param i an integer to be converted.
289288
* @return a string representation of the argument in base&nbsp;10.
290289
*/
291-
// DIFFBLUE MODEL LIBRARY: Handled internally by CBMC
292290
public static String toString(int i) {
293-
// this function is handled by cbmc internally
294-
return CProver.nondetWithoutNullForNotModelled();
291+
return CProverString.toString(i);
295292
}
296293

297294
/**

src/main/java/java/lang/Long.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ public final class Long extends Number implements Comparable<Long> {
125125
* @see java.lang.Character#MIN_RADIX
126126
*/
127127
public static String toString(long i, int radix) {
128-
return CProver.nondetWithoutNullForNotModelled();
128+
return CProverString.toString(i, radix);
129129
}
130130

131131
/**
@@ -351,8 +351,7 @@ static String toUnsignedString0(long val, int shift) {
351351
* @return a string representation of the argument in base&nbsp;10.
352352
*/
353353
public static String toString(long i) {
354-
// this function is handled by cbmc internally
355-
return CProver.nondetWithoutNullForNotModelled();
354+
return CProverString.toString(i);
356355
}
357356

358357
/**

0 commit comments

Comments
 (0)