Refactor String related classes and methods to comply with JEP 254 #133
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes the issues #127 and #132 which is about CastException that is being thrown due to String#value field returning a char array and sometimes a byte array. String data is always stored as byte[] array in the heap, hence it should always return a byte array. So the problem is with the way how JPF's heap implementation create String elements.
This sets
String#value
field as a byte[] instead of char[], when constructing ElementInfo(s) for String references in gov.nasa.jpf.vm.GenericHeap.Deprecates ElementInfo.getStringChars and introduces the replacement method ElementInfo.getStringBytes
Fixes the occurrences where value field is being cast to a CharArrayFields
Delete JPF_java_lang_StringBuffer and JPF_java_lang_StringBuilder