aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenri Chataing <henrichataing@google.com>2023-07-27 10:18:13 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-07-27 10:18:13 +0000
commitc5e6c3e733cf9d8e6757c7c703de2be975b96337 (patch)
tree4f8100c2b466e8c2224dd1df8cfe19881eb9c970
parent8c91d72947da5b15be2728297100c39bea16aaac (diff)
parent3f09ffba338db94c0f3b766cb9e6f610238a751b (diff)
downloadpdl-compiler-c5e6c3e733cf9d8e6757c7c703de2be975b96337.tar.gz
Upgrade pdl-compiler to 0.1.5 am: 3f09ffba33
Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/pdl-compiler/+/2676041 Change-Id: Iba3571d702d6ffecb2787d7566c10d59af46a003 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--.cargo_vcs_info.json2
-rw-r--r--Android.bp6
-rw-r--r--Cargo.toml2
-rw-r--r--Cargo.toml.orig2
-rw-r--r--METADATA8
-rw-r--r--patches/0001-Add-scripts-Android.bp.patch63
-rwxr-xr-xscripts/generate_cxx_backend.py6
-rw-r--r--src/backends/rust/parser.rs2
-rw-r--r--tests/generated/packet_decl_fixed_scalar_field_big_endian.rs2
-rw-r--r--tests/generated/packet_decl_fixed_scalar_field_little_endian.rs2
10 files changed, 82 insertions, 13 deletions
diff --git a/.cargo_vcs_info.json b/.cargo_vcs_info.json
index f776014..ee1b6ed 100644
--- a/.cargo_vcs_info.json
+++ b/.cargo_vcs_info.json
@@ -1,6 +1,6 @@
{
"git": {
- "sha1": "ff041c0f60f985ecc2f8c90bdec618575dcb5060"
+ "sha1": "63488f0151c18cc5d2a1e22b1be668464605f43a"
},
"path_in_vcs": ""
} \ No newline at end of file
diff --git a/Android.bp b/Android.bp
index c6ff8e0..477b39f 100644
--- a/Android.bp
+++ b/Android.bp
@@ -7,7 +7,7 @@ rust_binary_host {
name: "generate_canonical_tests",
crate_name: "generate_canonical_tests",
cargo_env_compat: true,
- cargo_pkg_version: "0.1.4",
+ cargo_pkg_version: "0.1.5",
srcs: ["src/bin/generate-canonical-tests.rs"],
edition: "2021",
features: [
@@ -37,7 +37,7 @@ rust_library_host {
name: "libpdl_compiler",
crate_name: "pdl_compiler",
cargo_env_compat: true,
- cargo_pkg_version: "0.1.4",
+ cargo_pkg_version: "0.1.5",
srcs: ["src/lib.rs"],
edition: "2021",
features: [
@@ -66,7 +66,7 @@ rust_binary_host {
name: "pdlc",
crate_name: "pdlc",
cargo_env_compat: true,
- cargo_pkg_version: "0.1.4",
+ cargo_pkg_version: "0.1.5",
srcs: ["src/main.rs"],
edition: "2021",
features: [
diff --git a/Cargo.toml b/Cargo.toml
index a9b427c..9b2c5db 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -12,7 +12,7 @@
[package]
edition = "2021"
name = "pdl-compiler"
-version = "0.1.4"
+version = "0.1.5"
authors = [
"Henri Chataing <henrichataing@google.com>",
"David de Jesus Duarte <licorne@google.com>",
diff --git a/Cargo.toml.orig b/Cargo.toml.orig
index cf8b0cf..a78d3f5 100644
--- a/Cargo.toml.orig
+++ b/Cargo.toml.orig
@@ -1,6 +1,6 @@
[package]
name = "pdl-compiler"
-version = "0.1.4"
+version = "0.1.5"
edition = "2021"
description = "Parser and serializer generator for protocol binary packets"
repository = "https://github.com/google/pdl/"
diff --git a/METADATA b/METADATA
index 3dc5568..fa18038 100644
--- a/METADATA
+++ b/METADATA
@@ -1,6 +1,6 @@
# This project was upgraded with external_updater.
# Usage: tools/external_updater/updater.sh update rust/crates/pdl-compiler
-# For more info, check https://cs.android.com/android/platform/superproject/+/master:tools/external_updater/README.md
+# For more info, check https://cs.android.com/android/platform/superproject/+/main:tools/external_updater/README.md
name: "pdl-compiler"
description: "Parser and serializer generator for protocol binary packets"
@@ -11,13 +11,13 @@ third_party {
}
url {
type: ARCHIVE
- value: "https://static.crates.io/crates/pdl-compiler/pdl-compiler-0.1.4.crate"
+ value: "https://static.crates.io/crates/pdl-compiler/pdl-compiler-0.1.5.crate"
}
- version: "0.1.4"
+ version: "0.1.5"
license_type: NOTICE
last_upgrade_date {
year: 2023
month: 7
- day: 13
+ day: 26
}
}
diff --git a/patches/0001-Add-scripts-Android.bp.patch b/patches/0001-Add-scripts-Android.bp.patch
new file mode 100644
index 0000000..2c2b1f9
--- /dev/null
+++ b/patches/0001-Add-scripts-Android.bp.patch
@@ -0,0 +1,63 @@
+From 0a7535a664dee90b5f773d8966d4cebb5971bb9d Mon Sep 17 00:00:00 2001
+From: Henri Chataing <henrichataing@google.com>
+Date: Wed, 26 Jul 2023 09:38:09 +0000
+Subject: [PATCH] Add scripts/Android.bp
+
+Change-Id: Iac28b4b30e99467733a65524609eae5e905b6b38
+---
+ scripts/Android.bp | 43 +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 43 insertions(+)
+ create mode 100644 scripts/Android.bp
+
+diff --git a/scripts/Android.bp b/scripts/Android.bp
+new file mode 100644
+index 0000000..bb0932c
+--- /dev/null
++++ b/scripts/Android.bp
+@@ -0,0 +1,43 @@
++// Python generator.
++python_binary_host {
++ name: "pdl_python_generator",
++ main: "generate_python_backend.py",
++ srcs: [
++ "generate_python_backend.py",
++ "pdl/ast.py",
++ "pdl/core.py",
++ "pdl/utils.py",
++ ],
++}
++
++// C++ generator.
++python_binary_host {
++ name: "pdl_cxx_generator",
++ main: "generate_cxx_backend.py",
++ srcs: [
++ "generate_cxx_backend.py",
++ "pdl/ast.py",
++ "pdl/core.py",
++ "pdl/utils.py",
++ ],
++}
++
++// C++ test generator.
++python_binary_host {
++ name: "pdl_cxx_unittest_generator",
++ main: "generate_cxx_backend_tests.py",
++ srcs: [
++ "generate_cxx_backend_tests.py",
++ "pdl/ast.py",
++ "pdl/core.py",
++ "pdl/utils.py",
++ ],
++}
++
++// C++ packet runtime.
++cc_library_headers {
++ name: "pdl_cxx_packet_runtime",
++ export_include_dirs: ["."],
++ host_supported: true,
++ vendor_available: true,
++}
+--
+2.41.0.487.g6d72f3e995-goog
+
diff --git a/scripts/generate_cxx_backend.py b/scripts/generate_cxx_backend.py
index 13ea23d..b4f4efc 100755
--- a/scripts/generate_cxx_backend.py
+++ b/scripts/generate_cxx_backend.py
@@ -1558,6 +1558,12 @@ def run(input: argparse.FileType, output: argparse.FileType, namespace: Optional
using_namespace=using_namespace,
open_namespace=open_namespace))
+ # Forward declarations for packet classes.
+ # Required for the friend class specifiers.
+ for d in file.declarations:
+ if isinstance(d, ast.PacketDeclaration):
+ output.write(f"class {d.id}View;\n")
+
for d in file.declarations:
if d.id in skipped_decls:
continue
diff --git a/src/backends/rust/parser.rs b/src/backends/rust/parser.rs
index f837082..01c1720 100644
--- a/src/backends/rust/parser.rs
+++ b/src/backends/rust/parser.rs
@@ -164,7 +164,7 @@ impl<'a> FieldParser<'a> {
let value = proc_macro2::Literal::usize_unsuffixed(*value);
quote! {
let fixed_value = #v;
- if #v != #value {
+ if fixed_value != #value {
return Err(Error::InvalidFixedValue {
expected: #value,
actual: fixed_value as u64,
diff --git a/tests/generated/packet_decl_fixed_scalar_field_big_endian.rs b/tests/generated/packet_decl_fixed_scalar_field_big_endian.rs
index 349b183..4d0ecb5 100644
--- a/tests/generated/packet_decl_fixed_scalar_field_big_endian.rs
+++ b/tests/generated/packet_decl_fixed_scalar_field_big_endian.rs
@@ -78,7 +78,7 @@ impl FooData {
}
let chunk = bytes.get_mut().get_u64();
let fixed_value = (chunk & 0x7f) as u8;
- if (chunk & 0x7f) as u8 != 7 {
+ if fixed_value != 7 {
return Err(Error::InvalidFixedValue {
expected: 7,
actual: fixed_value as u64,
diff --git a/tests/generated/packet_decl_fixed_scalar_field_little_endian.rs b/tests/generated/packet_decl_fixed_scalar_field_little_endian.rs
index 96b9064..5d4ba13 100644
--- a/tests/generated/packet_decl_fixed_scalar_field_little_endian.rs
+++ b/tests/generated/packet_decl_fixed_scalar_field_little_endian.rs
@@ -78,7 +78,7 @@ impl FooData {
}
let chunk = bytes.get_mut().get_u64_le();
let fixed_value = (chunk & 0x7f) as u8;
- if (chunk & 0x7f) as u8 != 7 {
+ if fixed_value != 7 {
return Err(Error::InvalidFixedValue {
expected: 7,
actual: fixed_value as u64,