MCPcopy Create free account
hub / github.com/cretz/stackparam / read_interfaces

Method read_interfaces

src/bytecode/io/reader.rs:171–192  ·  view source on GitHub ↗
(reader: &mut BlockReader, _: &ClassFragment)

Source from the content-addressed store, hash-verified

169 }
170
171 fn read_interfaces(reader: &mut BlockReader, _: &ClassFragment) -> Result<ClassFragment, Error> {
172 match reader.read_u16() {
173 Ok(ifs_len) => {
174 (0..ifs_len).fold(Ok(vec![]), |acc, _| {
175 match acc {
176 Ok(mut ifs) => match ClassReader::read_constant_pool_index(reader) {
177 Ok(interface) => {
178 ifs.push(interface);
179 Ok(ifs)
180 },
181 Err(err) => Err(err)
182 },
183 err@_ => err
184 }
185 })
186 },
187 Err(err) => Err(err)
188 }.map(|ifs| ClassFragment {
189 interfaces: Some(ifs),
190 ..Default::default()
191 })
192 }
193
194 fn read_fields(reader: &mut BlockReader, cf: &ClassFragment) -> Result<ClassFragment, Error> {
195 match reader.read_u16() {

Callers

nothing calls this directly

Calls 1

read_u16Method · 0.80

Tested by

no test coverage detected