Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7ddbc5ea authored by Myles Watson's avatar Myles Watson Committed by android-build-merger
Browse files

Merge "PDL: Add for_struct to GenExtractor" am: 653f8329

am: c9a13fe9

Change-Id: I069bd146620ce067c676ea87e27e248131b5b659
parents ac41f5e6 c9a13fe9
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -69,7 +69,7 @@ std::string ArrayField::GetDataType() const {
  return "std::array<" + element_field_->GetDataType() + "," + std::to_string(array_size_) + ">";
}

void ArrayField::GenExtractor(std::ostream& s, int num_leading_bits) const {
void ArrayField::GenExtractor(std::ostream& s, int num_leading_bits, bool for_struct) const {
  s << GetDataType() << "::iterator ret_it = " << GetName() << "_ptr->begin();";
  s << "auto " << element_field_->GetName() << "_it = " << GetName() << "_it;";
  if (!element_size_.empty() && !element_size_.has_dynamic()) {
@@ -84,7 +84,7 @@ void ArrayField::GenExtractor(std::ostream& s, int num_leading_bits) const {
  } else {
    s << element_field_->GetDataType() << "* " << element_field_->GetName() << "_ptr = ret_it;";
  }
  element_field_->GenExtractor(s, num_leading_bits);
  element_field_->GenExtractor(s, num_leading_bits, for_struct);
  if (element_field_->BuilderParameterMustBeMoved()) {
    s << "*ret_it = std::move(" << element_field_->GetName() << "_ptr);";
  }
@@ -102,7 +102,7 @@ void ArrayField::GenGetter(std::ostream& s, Size start_offset, Size end_offset)
  int num_leading_bits = GenBounds(s, start_offset, end_offset);
  s << GetDataType() << " " << GetName() << "_value;";
  s << GetDataType() << "* " << GetName() << "_ptr = &" << GetName() << "_value;";
  GenExtractor(s, num_leading_bits);
  GenExtractor(s, num_leading_bits, false);

  s << "return " << GetName() << "_value;";
  s << "}\n";
+1 −1
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ class ArrayField : public PacketField {

  virtual std::string GetDataType() const override;

  virtual void GenExtractor(std::ostream& s, int num_leading_bits) const override;
  virtual void GenExtractor(std::ostream& s, int num_leading_bits, bool for_struct) const override;

  virtual void GenGetter(std::ostream& s, Size start_offset, Size end_offset) const override;

+1 −1
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@ std::string BodyField::GetDataType() const {
  return "BodyType";
}

void BodyField::GenExtractor(std::ostream&, int) const {}
void BodyField::GenExtractor(std::ostream&, int, bool) const {}

void BodyField::GenGetter(std::ostream&, Size, Size) const {}

+1 −1
Original line number Diff line number Diff line
@@ -32,7 +32,7 @@ class BodyField : public PacketField {

  virtual std::string GetDataType() const override;

  virtual void GenExtractor(std::ostream& s, int num_leading_bits) const override;
  virtual void GenExtractor(std::ostream& s, int num_leading_bits, bool for_struct) const override;

  virtual void GenGetter(std::ostream&, Size, Size) const override;

+1 −1
Original line number Diff line number Diff line
@@ -30,7 +30,7 @@ std::string ChecksumField::GetDataType() const {
  return type_name_;
}

void ChecksumField::GenExtractor(std::ostream&, int) const {}
void ChecksumField::GenExtractor(std::ostream&, int, bool) const {}

void ChecksumField::GenGetter(std::ostream&, Size, Size) const {}

Loading