SystemApi is @Repeatable

This allows us to annotate a class as below:

/** @hide */
@SystemApi
@SystemApi(client=MODULE_APPS)
public class SomeClass {
    /** @hide */ @SystemApi
    public void foo() {...}

    /** @hide */ @SystemApi(client=MODULE_APPS)
    public void bar() {...}
}

SomeClass is already annotated as @SystemApi. And we want to make bar()
method in it as SystemApi(MODULE_APPS). To do so, the containing class
SomeClass has additionally to be annotated as SystemApi(MODULE_APPS),
resulting SystemApi annotation to be repeated.

Bug: N/A
Test: add @SystemApi(client=MODULE_APPS) to an hidden method of an
existing SystemApi class (e.g. SystemProperties.set()) and execute `m
updata-api`.
-> api/module-app-current.txt is updated while
api/system-current.txt is unchanged

Change-Id: Ifd4d32a6983cfc38f0dd13618652439f6162e0d3
1 file changed