Skip to content

Commit a1d6edf

Browse files
committed
Add StringBuffer::setLength
1 parent 73b7a5e commit a1d6edf

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

java_runtime/src/classes/java/lang/string_buffer.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ impl StringBuffer {
4242
JavaMethodProto::new("append", "(C)Ljava/lang/StringBuffer;", Self::append_character, Default::default()),
4343
JavaMethodProto::new("append", "([CII)Ljava/lang/StringBuffer;", Self::append_char_array, Default::default()),
4444
JavaMethodProto::new("toString", "()Ljava/lang/String;", Self::to_string, Default::default()),
45+
JavaMethodProto::new("setLength", "(I)V", Self::set_length, Default::default()),
4546
],
4647
fields: vec![
4748
JavaFieldProto::new("value", "[C", Default::default()),
@@ -214,6 +215,14 @@ impl StringBuffer {
214215

215216
Ok(())
216217
}
218+
219+
async fn set_length(jvm: &Jvm, _: &mut RuntimeContext, mut this: ClassInstanceRef<Self>, length: i32) -> Result<()> {
220+
tracing::debug!("java.lang.StringBuffer::setLength({:?}, {:?})", &this, length);
221+
222+
jvm.put_field(&mut this, "count", "I", length).await?;
223+
224+
Ok(())
225+
}
217226
}
218227

219228
#[cfg(test)]

0 commit comments

Comments
 (0)