On Thu, Jul 30, 2020 at 9:14 AM Dominick Grift <dominick.grift@xxxxxxxxxxx> wrote: > > This was added for Androids Treble in 2017. > > I was unsure whether this belongs in type_statements or in conditional_statements. > I think that it fits best with the type statements as you have it. > Signed-off-by: Dominick Grift <dominick.grift@xxxxxxxxxxx> > --- > v2: overriden is overridden > v3: add link to README.md > > secilc/docs/README.md | 1 + > secilc/docs/cil_type_statements.md | 38 ++++++++++++++++++++++++++++++ > 2 files changed, 39 insertions(+) > > diff --git a/secilc/docs/README.md b/secilc/docs/README.md > index 3f1838e6..efab2a71 100644 > --- a/secilc/docs/README.md > +++ b/secilc/docs/README.md > @@ -126,6 +126,7 @@ CIL (Common Intermediate Language) > * [typealiasactual](cil_type_statements.md#typealiasactual) > * [typeattribute](cil_type_statements.md#typeattribute) > * [typeattributeset](cil_type_statements.md#typeattributeset) > + * [expandtypeattribute](cil_type_statements.md#expandtypeattribute) > * [typebounds](cil_type_statements.md#typebounds) > * [typechange](cil_type_statements.md#typechange) > * [typemember](cil_type_statements.md#typemember) > diff --git a/secilc/docs/cil_type_statements.md b/secilc/docs/cil_type_statements.md > index f9dd3a76..f819b3c6 100644 > --- a/secilc/docs/cil_type_statements.md > +++ b/secilc/docs/cil_type_statements.md > @@ -213,6 +213,44 @@ This example is equivalent to `{ domain -kernel.process -ueventd.process -init.p > ) > ) > > +expandtypeattribute > +------------------- > + > +Allows expansion compiler defaults for one or more previously declared [`typeattribute`](cil_type_statements.md#typeattribute) identifiers to be overridden. The wording confused me at first. I think "Overrides the compiler defaults for the expansion of one ... identifiers." would be clearer. > + > +**Statement definition:** > + > + (expandtypeattribute typeattribute_id true|false) > + > +**Where:** > + > +<table> > +<colgroup> > +<col width="25%" /> > +<col width="75%" /> > +</colgroup> > +<tbody> > +<tr class="odd"> > +<td align="left"><p><code>expandtypeattribute</code></p></td> > +<td align="left"><p>The <code>expandtypeattribute</code> keyword.</p></td> > +</tr> > +<tr class="even"> > +<td align="left"><p><code>typeattribute_id</code></p></td> > +<td align="left"><p>One or more previously declared <code>typeattribute</code> identifiers.</p></td> > +</tr> > +<tr class="odd"> > +<td align="left"><p><code>true | false</code></p></td> > +<td align="left"><p>Either true or false.</p></td> > +</tr> > +</tbody> > +</table> > + > +**Example:** > + > +This example will use the expandtypeattribute statement to forcibly expand a previously declared `domain` type attribute. > + > + (expandtypeattribute domain true) > + It would be nice to have another example that shows a list of type attributes, so there is an example of that syntax as well. Thanks for doing this. Jim > typebounds > ---------- > > -- > 2.28.0.rc1 >