| 615 | |
| 616 | @memoize |
| 617 | def get_target_features(self): |
| 618 | section = self.get_custom_section('target_features') |
| 619 | if not section: |
| 620 | return {} |
| 621 | self.seek(section.offset) |
| 622 | assert self.read_string() == 'target_features' |
| 623 | features = {} |
| 624 | self.read_byte() # ignore feature count |
| 625 | while self.tell() < section.offset + section.size: |
| 626 | prefix = TargetFeaturePrefix(self.read_byte()) |
| 627 | feature = self.read_string() |
| 628 | features[feature] = prefix |
| 629 | return features |
| 630 | |
| 631 | @memoize |
| 632 | def get_sourceMappingURL(self): |