Skip to content

Commit

Permalink
Fix program name of erlang annotations
Browse files Browse the repository at this point in the history
Summary:
{D69087699} is failing with a Thrift parse error:

```lang=text,counterexample
Type `annotation.NameOverride` not defined.
```

because the codemod added `include "thrift/annotation/erlang.thrift"` but then used `annotation.NameOverride`, instead of `erlang.NameOverride`.

The `annotation.NameOverride` annotation is defined in "thrift/facebook/erlang/annotation.thrift" which is obsolete since {D66053796}.

Reviewed By: zertosh

Differential Revision: D69315299

fbshipit-source-id: fe55c61ec255d7e316bdedd8a57b0aeeb24987df
  • Loading branch information
David Tolnay authored and facebook-github-bot committed Feb 7, 2025
1 parent bbce75d commit 21ab5fe
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -423,29 +423,28 @@ class structure_annotations {
// erlang
else if (name == "erl.name") {
to_remove.emplace_back(name, data);
to_add.insert(fmt::format(
"@annotation.NameOverride{{name = \"{}\"}}", data.value));
to_add.insert(
fmt::format("@erlang.NameOverride{{name = \"{}\"}}", data.value));
fm_.add_include("thrift/annotation/erlang.thrift");
} else if (name == "erl.struct_repr") {
to_remove.emplace_back(name, data);
to_add.insert(fmt::format(
"@annotation.StructRepr{{repr = {}}}",
data.value == "record" ? "annotation.StructReprType.RECORD"
: "annotation.StructReprType.MAP"));
"@erlang.StructRepr{{repr = {}}}",
data.value == "record" ? "erlang.StructReprType.RECORD"
: "erlang.StructReprType.MAP"));
fm_.add_include("thrift/annotation/erlang.thrift");
} else if (name == "erl.default_value") {
to_remove.emplace_back(name, data);
to_add.insert(fmt::format(
"@annotation.DefaultValue{{value = \"{}\"}}", data.value));
to_add.insert(
fmt::format("@erlang.DefaultValue{{value = \"{}\"}}", data.value));
fm_.add_include("thrift/annotation/erlang.thrift");
} else if (name == "iq.node_type") {
to_remove.emplace_back(name, data);
to_add.insert(fmt::format(
"@annotation.Iq{{node_type = {}}}",
data.value == "xmlcdata" ? "annotation.IqNodeType.XMLCDATA"
: data.value == "xmlnode"
? "annotation.IqNodeType.XMLNODE"
: "annotation.IqNodeType.XMLATTRIBUTE"));
"@erlang.Iq{{node_type = {}}}",
data.value == "xmlcdata" ? "erlang.IqNodeType.XMLCDATA"
: data.value == "xmlnode" ? "erlang.IqNodeType.XMLNODE"
: "erlang.IqNodeType.XMLATTRIBUTE"));
fm_.add_include("thrift/annotation/erlang.thrift");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -424,14 +424,14 @@ def test_erlang(self):
"""\
include "thrift/annotation/erlang.thrift"
@annotation.NameOverride{name = "T"}
@annotation.StructRepr{repr = annotation.StructReprType.RECORD}
@erlang.NameOverride{name = "T"}
@erlang.StructRepr{repr = erlang.StructReprType.RECORD}
struct S {
@annotation.Iq{node_type = annotation.IqNodeType.XMLATTRIBUTE}
@erlang.Iq{node_type = erlang.IqNodeType.XMLATTRIBUTE}
1: i32 field1 ;
}
@annotation.DefaultValue{value = "QUX"}
@erlang.DefaultValue{value = "QUX"}
enum E {QUX = 1}
"""
),
Expand Down Expand Up @@ -524,7 +524,7 @@ def test_remaining(self):
service S {
void f(1: i32 a (annot))
}
}
"""
),
Expand Down

0 comments on commit 21ab5fe

Please sign in to comment.