Loading tools/apilint/apilint.py +3 −2 Original line number Diff line number Diff line Loading @@ -208,13 +208,14 @@ class Class(): class Package(): NAME = re.compile("package(?: .*)? ([A-Za-z.]+)") def __init__(self, line, raw, blame): self.line = line self.raw = raw.strip(" {;") self.blame = blame raw = raw.split() self.name = raw[raw.index("package")+1] self.name = Package.NAME.match(raw).group(1) self.name_path = self.name.split(".") def __repr__(self): Loading tools/apilint/apilint_test.py +16 −0 Original line number Diff line number Diff line Loading @@ -352,5 +352,21 @@ class V2ParserTests(unittest.TestCase): m = self._method('method @NonNull public @NonNull String @NonNull [] split(@NonNull String, int);') self.assertEquals('java.lang.String[]', m.typ) class PackageTests(unittest.TestCase): def _package(self, raw): return apilint.Package(123, raw, "blame") def test_regular_package(self): p = self._package("package an.pref.int {") self.assertEquals('an.pref.int', p.name) def test_annotation_package(self): p = self._package("package @RestrictTo(a.b.C) an.pref.int {") self.assertEquals('an.pref.int', p.name) def test_multi_annotation_package(self): p = self._package("package @Rt(a.b.L_G_P) @RestrictTo(a.b.C) an.pref.int {") self.assertEquals('an.pref.int', p.name) if __name__ == "__main__": unittest.main() Loading
tools/apilint/apilint.py +3 −2 Original line number Diff line number Diff line Loading @@ -208,13 +208,14 @@ class Class(): class Package(): NAME = re.compile("package(?: .*)? ([A-Za-z.]+)") def __init__(self, line, raw, blame): self.line = line self.raw = raw.strip(" {;") self.blame = blame raw = raw.split() self.name = raw[raw.index("package")+1] self.name = Package.NAME.match(raw).group(1) self.name_path = self.name.split(".") def __repr__(self): Loading
tools/apilint/apilint_test.py +16 −0 Original line number Diff line number Diff line Loading @@ -352,5 +352,21 @@ class V2ParserTests(unittest.TestCase): m = self._method('method @NonNull public @NonNull String @NonNull [] split(@NonNull String, int);') self.assertEquals('java.lang.String[]', m.typ) class PackageTests(unittest.TestCase): def _package(self, raw): return apilint.Package(123, raw, "blame") def test_regular_package(self): p = self._package("package an.pref.int {") self.assertEquals('an.pref.int', p.name) def test_annotation_package(self): p = self._package("package @RestrictTo(a.b.C) an.pref.int {") self.assertEquals('an.pref.int', p.name) def test_multi_annotation_package(self): p = self._package("package @Rt(a.b.L_G_P) @RestrictTo(a.b.C) an.pref.int {") self.assertEquals('an.pref.int', p.name) if __name__ == "__main__": unittest.main()