Skip to content

Commit e413641

Browse files
Set StringBuilder.capacity() to notModelled
1 parent 7c99b33 commit e413641

File tree

1 file changed

+252
-0
lines changed

1 file changed

+252
-0
lines changed
Lines changed: 252 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,252 @@
1+
/*
2+
* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
3+
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4+
*
5+
* This code is free software; you can redistribute it and/or modify it
6+
* under the terms of the GNU General Public License version 2 only, as
7+
* published by the Free Software Foundation. Oracle designates this
8+
* particular file as subject to the "Classpath" exception as provided
9+
* by Oracle in the LICENSE file that accompanied this code.
10+
*
11+
* This code is distributed in the hope that it will be useful, but WITHOUT
12+
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13+
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14+
* version 2 for more details (a copy is included in the LICENSE file that
15+
* accompanied this code).
16+
*
17+
* You should have received a copy of the GNU General Public License version
18+
* 2 along with this work; if not, write to the Free Software Foundation,
19+
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20+
*
21+
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22+
* or visit www.oracle.com if you need additional information or have any
23+
* questions.
24+
*/
25+
26+
/*
27+
* DIFFBLUE MODEL LIBRARY
28+
* At the moment, the methods defined in this class are not called anywhere
29+
* because the classes that extend this class override each method without
30+
* calling methods from this class.
31+
*
32+
* This file is only present to maintain the original inheritance. However, it
33+
* would make sense to implement some of the modelled methods here instead of
34+
* in the StringBuilder and StringBuffer classes, in the case these methods
35+
* are modelled in a similar way.
36+
*/
37+
38+
package java.lang;
39+
40+
import org.cprover.CProver;
41+
42+
abstract class AbstractStringBuilder implements Appendable, CharSequence {
43+
44+
AbstractStringBuilder() {}
45+
46+
AbstractStringBuilder(int capacity) {}
47+
48+
@Override
49+
public int length() {
50+
return CProver.nondetInt();
51+
}
52+
53+
public int capacity() {
54+
CProver.notModelled();
55+
return CProver.nondetInt();
56+
}
57+
58+
public void ensureCapacity(int minimumCapacity) {}
59+
60+
public void trimToSize() {}
61+
62+
public void setLength(int newLength) {}
63+
64+
@Override
65+
public char charAt(int index) {
66+
return 'c';
67+
}
68+
69+
public int codePointAt(int index) {
70+
return CProver.nondetInt();
71+
}
72+
73+
public int codePointBefore(int index) {
74+
return CProver.nondetInt();
75+
}
76+
77+
public int codePointCount(int beginIndex, int endIndex) {
78+
return CProver.nondetInt();
79+
}
80+
81+
public int offsetByCodePoints(int index, int codePointOffset) {
82+
return CProver.nondetInt();
83+
}
84+
85+
public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) {}
86+
87+
public void setCharAt(int index, char ch) {}
88+
89+
public AbstractStringBuilder append(Object obj) {
90+
return CProver.nondetWithNullForNotModelled();
91+
}
92+
93+
public AbstractStringBuilder append(String str) {
94+
return CProver.nondetWithNullForNotModelled();
95+
}
96+
97+
public AbstractStringBuilder append(StringBuffer sb) {
98+
return CProver.nondetWithNullForNotModelled();
99+
}
100+
101+
AbstractStringBuilder append(AbstractStringBuilder asb) {
102+
return CProver.nondetWithNullForNotModelled();
103+
}
104+
105+
@Override
106+
public AbstractStringBuilder append(CharSequence s) {
107+
return CProver.nondetWithNullForNotModelled();
108+
}
109+
110+
@Override
111+
public AbstractStringBuilder append(CharSequence s, int start, int end) {
112+
return CProver.nondetWithNullForNotModelled();
113+
}
114+
115+
public AbstractStringBuilder append(char[] str) {
116+
return CProver.nondetWithNullForNotModelled();
117+
}
118+
119+
public AbstractStringBuilder append(char str[], int offset, int len) {
120+
return CProver.nondetWithNullForNotModelled();
121+
}
122+
123+
public AbstractStringBuilder append(boolean b) {
124+
return CProver.nondetWithNullForNotModelled();
125+
}
126+
127+
@Override
128+
public AbstractStringBuilder append(char c) {
129+
return CProver.nondetWithNullForNotModelled();
130+
}
131+
132+
public AbstractStringBuilder append(int i) {
133+
return CProver.nondetWithNullForNotModelled();
134+
}
135+
136+
public AbstractStringBuilder append(long l) {
137+
return CProver.nondetWithNullForNotModelled();
138+
}
139+
140+
public AbstractStringBuilder append(float f) {
141+
return CProver.nondetWithNullForNotModelled();
142+
}
143+
144+
public AbstractStringBuilder append(double d) {
145+
return CProver.nondetWithNullForNotModelled();
146+
}
147+
148+
public AbstractStringBuilder delete(int start, int end) {
149+
return CProver.nondetWithNullForNotModelled();
150+
}
151+
152+
public AbstractStringBuilder appendCodePoint(int codePoint) {
153+
return CProver.nondetWithNullForNotModelled();
154+
}
155+
156+
public AbstractStringBuilder deleteCharAt(int index) {
157+
return CProver.nondetWithNullForNotModelled();
158+
}
159+
160+
public AbstractStringBuilder replace(int start, int end, String str) {
161+
return CProver.nondetWithNullForNotModelled();
162+
}
163+
164+
public String substring(int start) {
165+
return CProver.nondetWithNullForNotModelled();
166+
}
167+
168+
@Override
169+
public CharSequence subSequence(int start, int end) {
170+
return CProver.nondetWithNullForNotModelled();
171+
}
172+
173+
public String substring(int start, int end) {
174+
return CProver.nondetWithNullForNotModelled();
175+
}
176+
177+
public AbstractStringBuilder insert(int index, char[] str, int offset,
178+
int len) {
179+
return CProver.nondetWithNullForNotModelled();
180+
}
181+
182+
public AbstractStringBuilder insert(int offset, Object obj) {
183+
return CProver.nondetWithNullForNotModelled();
184+
}
185+
186+
public AbstractStringBuilder insert(int offset, String str) {
187+
return CProver.nondetWithNullForNotModelled();
188+
}
189+
190+
public AbstractStringBuilder insert(int offset, char[] str) {
191+
return CProver.nondetWithNullForNotModelled();
192+
}
193+
194+
public AbstractStringBuilder insert(int dstOffset, CharSequence s) {
195+
return CProver.nondetWithNullForNotModelled();
196+
}
197+
198+
public AbstractStringBuilder insert(int dstOffset, CharSequence s,
199+
int start, int end) {
200+
return CProver.nondetWithNullForNotModelled();
201+
}
202+
203+
public AbstractStringBuilder insert(int offset, boolean b) {
204+
return CProver.nondetWithNullForNotModelled();
205+
}
206+
207+
public AbstractStringBuilder insert(int offset, char c) {
208+
return CProver.nondetWithNullForNotModelled();
209+
}
210+
211+
public AbstractStringBuilder insert(int offset, int i) {
212+
return CProver.nondetWithNullForNotModelled();
213+
}
214+
215+
public AbstractStringBuilder insert(int offset, long l) {
216+
return CProver.nondetWithNullForNotModelled();
217+
}
218+
219+
public AbstractStringBuilder insert(int offset, float f) {
220+
return CProver.nondetWithNullForNotModelled();
221+
}
222+
223+
public AbstractStringBuilder insert(int offset, double d) {
224+
return CProver.nondetWithNullForNotModelled();
225+
}
226+
227+
public int indexOf(String str) {
228+
return CProver.nondetInt();
229+
}
230+
231+
public int indexOf(String str, int fromIndex) {
232+
return CProver.nondetInt();
233+
}
234+
235+
public int lastIndexOf(String str) {
236+
return CProver.nondetInt();
237+
}
238+
239+
public int lastIndexOf(String str, int fromIndex) {
240+
return CProver.nondetInt();
241+
}
242+
243+
public AbstractStringBuilder reverse() {
244+
return CProver.nondetWithNullForNotModelled();
245+
}
246+
247+
@Override
248+
public abstract String toString();
249+
250+
// Method should not be used in the models
251+
// final char[] getValue();
252+
}

0 commit comments

Comments
 (0)