google / google/emboss

Support Overlay Files

Open
#85 0 comments 0 reactions 0 assignees View on GitHub
enhancement language feature
Dominant language
Python
Stars
92
Forks
30
PR merge metrics
No merged PRs in 30d

Description

The Emboss attribute system was originally designed to allow *overlay* files, which would allow attributes to be specified without editing the original `.emb` file -- this is particularly useful in cases where the `.emb` file is provided by a third party, which is the main reason it has not yet been implemented.

The basic idea is that, given an `.emb` like:

```
struct Foo:
0 [+1] UInt foo_field

enum Bar:
BAR_VALUE = 1
```

You would be able to write a `.emboverlay` file like:

```
[$default (cpp) enum_translation: "kCamelCase"]
[(cpp) namespace: "xyz"]
struct Foo:
[(cpp) name: "Foo_"]
foo_field:
[(cpp) name: "foo_field_"]

enum Bar:
BAR_VALUE
[(cpp) name: "kBarValue_"]
```

The exact details need to be ironed out.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.