(&mut self, element_value: &ElementValue, cp: &ConstantPool)
| 305 | } |
| 306 | |
| 307 | fn write_element_value(&mut self, element_value: &ElementValue, cp: &ConstantPool) -> Result<usize, Error> { |
| 308 | match element_value { |
| 309 | &ElementValue::ConstantValue(tag, ref idx) => self.write_u8(tag).and(self.write_u16(idx.idx as u16)), |
| 310 | &ElementValue::Enum { ref type_name_index, ref const_name_index } => self.write_u8(101).and(self.write_u16(type_name_index.idx as u16)).and(self.write_u16(const_name_index.idx as u16)), |
| 311 | &ElementValue::ClassInfo(ref idx) => self.write_u8(99).and(self.write_u16(idx.idx as u16)), |
| 312 | &ElementValue::Annotation(ref annotation) => self.write_u8(64).and(self.write_annotation(annotation, cp)), |
| 313 | &ElementValue::Array(ref table) => self.write_u8(91).and(self.write_u16(table.len() as u16)).and(table.iter().fold(Ok(0), |_, x| { self.write_element_value(x, cp) })) |
| 314 | } |
| 315 | } |
| 316 | |
| 317 | fn write_element_value_pair(&mut self, pair: &ElementValuePair, cp: &ConstantPool) -> Result<usize, Error> { |
| 318 | self.write_u16(pair.element_name_index.idx as u16).and(self.write_element_value(&pair.value, cp)) |
no test coverage detected