| 215 | } |
| 216 | |
| 217 | fn read_field(reader: &mut BlockReader, cf: &ClassFragment) -> Result<Field, Error> { |
| 218 | match ClassReader::require_n(reader, 6, |mut r| { (r.get_u16(), r.get_u16(), r.get_u16()) }) { |
| 219 | Ok((flags, n_idx, d_idx)) => match ClassReader::read_attributes(reader, cf) { |
| 220 | Ok(attributes) => Ok(Field { |
| 221 | access_flags: AccessFlags::of(flags), |
| 222 | name_index: ConstantPoolIndex::new(n_idx as usize), |
| 223 | descriptor_index: ConstantPoolIndex::new(d_idx as usize), |
| 224 | attributes: attributes |
| 225 | }), |
| 226 | Err(err) => Err(err) |
| 227 | }, |
| 228 | Err(err) => Err(err) |
| 229 | } |
| 230 | } |
| 231 | |
| 232 | fn read_methods(reader: &mut BlockReader, cf: &ClassFragment) -> Result<ClassFragment, Error> { |
| 233 | match reader.read_u16() { |