/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 1 ĠR ick ĠBus ar ow Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġmodule check . parsing . java Ċ Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġmodule check . parsing . gradle . Source SetName Ċ import Ġmodule check . parsing . source . Java Version Ċ import Ġmodule check . project . Mc Project Ċ import Ġmodule check . project . test . Project Test Ċ import Ġorg . intellij . lang . annotations . Language Ċ import Ġorg . junit . jupiter . api . Nested Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . io . File Ċ Ċ internal Ġclass ĠJava File Test Ġ: ĊĠ ĠProject Test (), ĊĠ ĠJava File TestUtils Ġby ĠReal Java File TestUtils () Ġ{ ĊĊĠ Ġ@ Nested ĊĠ Ġinner Ġclass Ġ` res olvable Ġdeclarations ` Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` enum Ġconstants Ġshould Ġcount Ġas Ġdeclarations `() Ġ{ ĊĊĠĠĠĠĠ Ġval Ġfile Ġ= Ġfile ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġpackage Ġcom . test ; ĊĊĠĠĠ Ġpublic Ġenum ĠColor Ġ{ ĠRED , ĠBL UE Ġ} ĊĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠ Ġfile ĠshouldBe Ġjava File ( ĊĠĠĠĠĠĠĠ Ġdeclarations Ġ= Ġset Of ( ĊĠĠĠĠĠĠĠĠĠ Ġ" com . test . Color ", ĊĠĠĠĠĠĠĠĠĠ Ġ" com . test . Color . RED ", ĊĠĠĠĠĠĠĠĠĠ Ġ" com . test . Color . BLUE " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` nested Ġenum Ġconstants Ġshould Ġcount Ġas Ġdeclarations `() Ġ{ ĊĊĠĠĠĠĠ Ġval Ġfile Ġ= Ġfile ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġpackage Ġcom . test ; ĊĊĠĠĠ Ġpublic Ġclass ĠConstants Ġ{ ĊĠĠĠĠĠ Ġpublic Ġenum ĠColor Ġ{ ĠRED , ĠBL UE Ġ} ĊĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠ Ġfile ĠshouldBe Ġjava File ( ĊĠĠĠĠĠĠĠ Ġdeclarations Ġ= Ġset Of ( ĊĠĠĠĠĠĠĠĠĠ Ġ" com . test . Constants ", ĊĠĠĠĠĠĠĠĠĠ Ġ" com . test . Constants . Color ", ĊĠĠĠĠĠĠĠĠĠ Ġ" com . test . Constants . Color . RED ", ĊĠĠĠĠĠĠĠĠĠ Ġ" com . test . Constants . Color . BLUE " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` declared Ġconstants Ġshould Ġcount Ġas Ġdeclarations `() Ġ{ ĊĊĠĠĠĠĠ Ġval Ġfile Ġ= Ġfile ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġpackage Ġcom . test ; ĊĊĠĠĠ Ġpublic Ġclass ĠConstants Ġ{ ĊĊĠĠĠĠĠ Ġpublic Ġstatic Ġfinal Ġint ĠMY _ VALUE Ġ= Ġ 2 5 0 ; ĊĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠ Ġfile ĠshouldBe Ġjava File ( ĊĠĠĠĠĠĠĠ Ġdeclarations Ġ= Ġset Of ( ĊĠĠĠĠĠĠĠĠĠ Ġ" com . test . Constants ", ĊĠĠĠĠĠĠĠĠĠ Ġ" com . test . Constants ", ĊĠĠĠĠĠĠĠĠĠ Ġ" com . test . Constants . MY _ VALUE " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` declared Ġnested Ġconstants Ġshould Ġcount Ġas Ġdeclarations `() Ġ{ ĊĊĠĠĠĠĠ Ġval Ġfile Ġ= Ġfile ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġpackage Ġcom . test ; ĊĊĠĠĠ Ġpublic Ġclass ĠConstants Ġ{ ĊĊĠĠĠĠĠ Ġpublic Ġstatic Ġclass ĠValues Ġ{ ĊĊĠĠĠĠĠĠĠ Ġpublic Ġstatic Ġfinal Ġint ĠMY _ VALUE Ġ= Ġ 2 5 0 ; ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠ Ġfile ĠshouldBe Ġjava File ( ĊĠĠĠĠĠĠĠ Ġdeclarations Ġ= Ġset Of ( ĊĠĠĠĠĠĠĠĠĠ Ġ" com . test . Constants ", ĊĠĠĠĠĠĠĠĠĠ Ġ" com . test . Constants . Values ", ĊĠĠĠĠĠĠĠĠĠ Ġ" com . test . Constants . Values . MY _ VALUE " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` public Ġstatic Ġmethods Ġshould Ġcount Ġas Ġdeclarations `() Ġ{ ĊĊĠĠĠĠĠ Ġval Ġfile Ġ= Ġfile ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġpackage Ġcom . test ; ĊĊĠĠĠ Ġpublic Ġclass ĠParsed Class Ġ{ ĊĊĠĠĠĠĠ Ġpublic Ġstatic Ġvoid Ġfoo () Ġ{} ĊĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠ Ġfile ĠshouldBe Ġjava File ( ĊĠĠĠĠĠĠĠ Ġdeclarations Ġ= Ġset Of ( ĊĠĠĠĠĠĠĠĠĠ Ġ" com . test . Parsed Class ", Ġ" com . test . Parsed Class . foo " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` a Ġrecord Ġshould Ġcount Ġas Ġa Ġdeclaration `() Ġ{ ĊĊĠĠĠĠĠ Ġval Ġfile Ġ= Ġfile ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġpackage Ġcom . test ; ĊĊĠĠĠ Ġimport Ġcom . lib 1 . Lib 1 Class ; ĊĊĠĠĠ Ġpublic Ġstatic Ġrecord ĠMy Record ( Lib 1 Class Ġlib 1 Class ) Ġ{} ĊĠĠĠĠĠ Ġ"" ", ĊĠĠĠĠĠĠĠ Ġjava Version Ġ= ĠJava Version . VERSION _ 1 6 ĊĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠ Ġfile ĠshouldBe Ġjava File ( ĊĠĠĠĠĠĠĠ Ġimports Ġ= Ġset Of (" com . lib 1 . Lib 1 Class "), ĊĠĠĠĠĠĠĠ Ġdeclarations Ġ= Ġset Of (" com . test . My Record ") ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Nested ĊĠ Ġinner Ġclass Ġ` api Ġreferences ` Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` public Ġmethod Ġreturn Ġtype Ġshould Ġcount Ġas Ġapi Ġreference `() Ġ{ ĊĊĠĠĠĠĠ Ġval Ġfile Ġ= Ġfile ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġpackage Ġcom . test ; ĊĊĠĠĠ Ġimport Ġcom . lib 1 . Lib 1 Class ; ĊĊĠĠĠ Ġpublic Ġclass ĠParsed Class Ġ{ ĊĊĠĠĠĠĠ Ġpublic ĠLib 1 Class Ġfoo () Ġ{ Ġreturn ĠLib 1 Class (); Ġ} ĊĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠ Ġfile ĠshouldBe Ġjava File ( ĊĠĠĠĠĠĠĠ Ġimports Ġ= Ġset Of (" com . lib 1 . Lib 1 Class "), ĊĠĠĠĠĠĠĠ Ġdeclarations Ġ= Ġset Of (" com . test . Parsed Class "), ĊĠĠĠĠĠĠĠ Ġapi References Ġ= Ġset Of (" com . lib 1 . Lib 1 Class ") ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` private Ġmethod Ġreturn Ġtype Ġshould Ġnot Ġcount Ġas Ġapi Ġreference `() Ġ{ ĊĊĠĠĠĠĠ Ġval Ġfile Ġ= Ġfile ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġpackage Ġcom . test ; ĊĊĠĠĠ Ġimport Ġcom . lib 1 . Lib 1 Class ; ĊĊĠĠĠ Ġpublic Ġclass ĠParsed Class Ġ{ ĊĊĠĠĠĠĠ Ġprivate ĠLib 1 Class Ġfoo () Ġ{ Ġreturn ĠLib 1 Class (); Ġ} ĊĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠ Ġfile ĠshouldBe Ġjava File ( ĊĠĠĠĠĠĠĠ Ġimports Ġ= Ġset Of (" com . lib 1 . Lib 1 Class "), ĊĠĠĠĠĠĠĠ Ġdeclarations Ġ= Ġset Of (" com . test . Parsed Class ") ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` package - private Ġmethod Ġreturn Ġtype Ġshould Ġnot Ġcount Ġas Ġapi Ġreference `() Ġ{ ĊĊĠĠĠĠĠ Ġval Ġfile Ġ= Ġfile ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġpackage Ġcom . test ; ĊĊĠĠĠ Ġimport Ġcom . lib 1 . Lib 1 Class ; ĊĊĠĠĠ Ġpublic Ġclass ĠParsed Class Ġ{ ĊĊĠĠĠĠĠ ĠLib 1 Class Ġfoo () Ġ{ Ġreturn ĠLib 1 Class (); Ġ} ĊĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠ Ġfile ĠshouldBe Ġjava File ( ĊĠĠĠĠĠĠĠ Ġimports Ġ= Ġset Of (" com . lib 1 . Lib 1 Class "), ĊĠĠĠĠĠĠĠ Ġdeclarations Ġ= Ġset Of (" com . test . Parsed Class ") ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` public Ġmethod Ġwith Ġwildcard - imported Ġreturn Ġtype Ġshould Ġcount Ġas Ġapi Ġreference `() Ġ{ ĊĊĠĠĠĠĠ Ġval Ġfile Ġ= Ġfile ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġpackage Ġcom . test ; ĊĊĠĠĠ Ġimport Ġcom . lib 1 .*; ĊĊĠĠĠ Ġpublic Ġclass ĠParsed Class Ġ{ ĊĊĠĠĠĠĠ Ġpublic ĠLib 1 Class Ġfoo () Ġ{ Ġreturn ĠLib 1 Class (); Ġ} ĊĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠ Ġfile ĠshouldBe Ġjava File ( ĊĠĠĠĠĠĠĠ Ġwildcard Imports Ġ= Ġset Of (" com . lib 1 "), ĊĠĠĠĠĠĠĠ Ġdeclarations Ġ= Ġset Of (" com . test . Parsed Class "), ĊĠĠĠĠĠĠĠ Ġmaybe Extra References Ġ= Ġset Of (" Lib 1 Class ", Ġ" com . lib 1 . Lib 1 Class ", Ġ" com . test . Lib 1 Class "), ĊĠĠĠĠĠĠĠ Ġapi References Ġ= Ġset Of (" Lib 1 Class ", Ġ" com . lib 1 . Lib 1 Class ", Ġ" com . test . Lib 1 Class ") ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` public Ġmethod Ġwith Ġfully Ġqualified Ġreturn Ġtype Ġshould Ġcount Ġas Ġapi Ġreference `() Ġ{ ĊĊĠĠĠĠĠ Ġval Ġfile Ġ= Ġfile ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġpackage Ġcom . test ; ĊĊĠĠĠ Ġpublic Ġclass ĠParsed Class Ġ{ ĊĊĠĠĠĠĠ Ġpublic Ġcom . lib 1 . Lib 1 Class Ġfoo () Ġ{ Ġreturn ĠLib 1 Class (); Ġ} ĊĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠ Ġfile ĠshouldBe Ġjava File ( ĊĠĠĠĠĠĠĠ Ġdeclarations Ġ= Ġset Of (" com . test . Parsed Class "), ĊĠĠĠĠĠĠĠ Ġapi References Ġ= Ġset Of (" com . lib 1 . Lib 1 Class ", Ġ" com . test . com . lib 1 . Lib 1 Class "), ĊĠĠĠĠĠĠĠ Ġmaybe Extra References Ġ= Ġset Of (" com . lib 1 . Lib 1 Class ", Ġ" com . test . com . lib 1 . Lib 1 Class ") ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` public Ġmethod Ġparameter ized Ġreturn Ġtype Ġshould Ġcount Ġas Ġapi Ġreference `() Ġ{ ĊĊĠĠĠĠĠ Ġval Ġfile Ġ= Ġfile ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġpackage Ġcom . test ; ĊĊĠĠĠ Ġimport Ġcom . lib 1 . Lib 1 Class ; ĊĠĠĠ Ġimport Ġjava . util . List ; ĊĊĠĠĠ Ġpublic Ġclass ĠParsed Class Ġ{ ĊĊĠĠĠĠĠ Ġpublic ĠList < Lib 1 Class > Ġfoo () Ġ{ Ġreturn Ġnull ; Ġ} ĊĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠ Ġfile ĠshouldBe Ġjava File ( ĊĠĠĠĠĠĠĠ Ġimports Ġ= Ġset Of (" com . lib 1 . Lib 1 Class ", Ġ" java . util . List "), ĊĠĠĠĠĠĠĠ Ġdeclarations Ġ= Ġset Of (" com . test . Parsed Class "), ĊĠĠĠĠĠĠĠ Ġapi References Ġ= Ġset Of (" com . lib 1 . Lib 1 Class ", Ġ" java . util . List ") ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` public Ġmethod Ġgeneric Ġreturn Ġtype Ġparameter Ġshould Ġnot Ġcount Ġas Ġapi Ġreference `() Ġ{ ĊĊĠĠĠĠĠ Ġval Ġfile Ġ= Ġfile ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġpackage Ġcom . test ; ĊĊĠĠĠ Ġimport Ġjava . util . List ; ĊĊĠĠĠ Ġpublic Ġclass ĠParsed Class Ġ{ ĊĊĠĠĠĠĠ Ġpublic Ġ< E > ĠList < E > Ġfoo () Ġ{ Ġreturn Ġnull ; Ġ} ĊĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠ Ġfile ĠshouldBe Ġjava File ( ĊĠĠĠĠĠĠĠ Ġimports Ġ= Ġset Of (" java . util . List "), ĊĠĠĠĠĠĠĠ Ġdeclarations Ġ= Ġset Of (" com . test . Parsed Class "), ĊĠĠĠĠĠĠĠ Ġapi References Ġ= Ġset Of (" java . util . List ") ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` import Ġshould Ġnot Ġbe Ġan Ġapi Ġreference Ġif Ġit Ġisn 't Ġactually Ġpart Ġof Ġan Ġapi Ġreference `() Ġ{ ĊĊĠĠĠĠĠ Ġval Ġfile Ġ= Ġfile ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġpackage Ġcom . test ; ĊĊĠĠĠ Ġimport Ġcom . lib 1 . Lib 1 Class ; ĊĠĠĠ Ġimport Ġjava . util . List ; ĊĊĠĠĠ Ġpublic Ġclass ĠParsed Class Ġ{ ĊĊĠĠĠĠĠ Ġpublic Ġ< E > ĠList < E > Ġfoo () Ġ{ Ġreturn Ġnull ; Ġ} ĊĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠ Ġfile ĠshouldBe Ġjava File ( ĊĠĠĠĠĠĠĠ Ġimports Ġ= Ġset Of (" com . lib 1 . Lib 1 Class ", Ġ" java . util . List "), ĊĠĠĠĠĠĠĠ Ġdeclarations Ġ= Ġset Of (" com . test . Parsed Class "), ĊĠĠĠĠĠĠĠ Ġapi References Ġ= Ġset Of (" java . util . List ") ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` public Ġmethod Ġgeneric Ġreturn Ġtype Ġparameter Ġbound Ġshould Ġcount Ġas Ġapi Ġreference `() Ġ{ ĊĊĠĠĠĠĠ Ġval Ġfile Ġ= Ġfile ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġpackage Ġcom . test ; ĊĊĠĠĠ Ġimport Ġjava . util . List ; ĊĊĠĠĠ Ġpublic Ġclass ĠParsed Class Ġ{ ĊĊĠĠĠĠĠ Ġpublic Ġ< E Ġextends ĠCharSequence > ĠList < E > Ġfoo () Ġ{ Ġreturn Ġnull ; Ġ} ĊĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠ Ġfile ĠshouldBe Ġjava File ( ĊĠĠĠĠĠĠĠ Ġimports Ġ= Ġset Of (" java . util . List "), ĊĠĠĠĠĠĠĠ Ġdeclarations Ġ= Ġset Of (" com . test . Parsed Class "), ĊĠĠĠĠĠĠĠ Ġapi References Ġ= Ġset Of (" java . lang . CharSequence ", Ġ" java . util . List "), ĊĠĠĠĠĠĠĠ Ġmaybe Extra References Ġ= Ġset Of () ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` public Ġmethod Ġargument Ġshould Ġcount Ġas Ġapi Ġreference `() Ġ{ ĊĊĠĠĠĠĠ Ġval Ġfile Ġ= Ġfile ( ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġpackage Ġcom . test ; ĊĊĠĠĠ Ġimport Ġjava . util . List ; ĊĊĠĠĠ Ġpublic Ġclass ĠParsed Class Ġ{ ĊĊĠĠĠĠĠ Ġpublic Ġ< E > ĠList < E > Ġfoo ( String Ġname ) Ġ{ Ġreturn Ġnull ; Ġ} ĊĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠ Ġfile ĠshouldBe Ġjava File ( ĊĠĠĠĠĠĠĠ Ġimports Ġ= Ġset Of (" java . util . List "), ĊĠĠĠĠĠĠĠ Ġdeclarations Ġ= Ġset Of (" com . test . Parsed Class "), ĊĠĠĠĠĠĠĠ Ġapi References Ġ= Ġset Of (" java . util . List ", Ġ" java . lang . String ") ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` public Ġmember Ġproperty Ġtype Ġwith Ġwildcard Ġimport Ġshould Ġcount Ġas Ġapi Ġreference `() Ġ= ĊĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġfile Ġ= Ġfile ( ĊĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġpackage Ġcom . test ; ĊĊĠĠĠ Ġimport Ġcom . lib 1 .*; ĊĊĠĠĠ Ġpublic Ġclass ĠParsed Class Ġ{ ĊĊĠĠĠĠĠ Ġpublic ĠLib 1 Class Ġlib 1 Class ; ĊĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġfile ĠshouldBe Ġjava File ( ĊĠĠĠĠĠĠĠĠĠ Ġdeclarations Ġ= Ġset Of (" com . test . Parsed Class "), ĊĠĠĠĠĠĠĠĠĠ Ġwildcard Imports Ġ= Ġset Of (" com . lib 1 "), ĊĠĠĠĠĠĠĠĠĠ Ġapi References Ġ= Ġset Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Lib 1 Class ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . lib 1 . Lib 1 Class ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . test . Lib 1 Class " ĊĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠ Ġmaybe Extra References Ġ= Ġset Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Lib 1 Class ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . lib 1 . Lib 1 Class ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . test . Lib 1 Class " ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` public Ġmember Ġproperty Ġtype Ġwith Ġimport Ġshould Ġcount Ġas Ġapi Ġreference `() Ġ= ĊĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġfile Ġ= Ġfile ( ĊĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġpackage Ġcom . test ; ĊĊĠĠĠ Ġimport Ġcom . lib 1 . Lib 1 Class ; ĊĊĠĠĠ Ġpublic Ġclass ĠParsed Class Ġ{ ĊĊĠĠĠĠĠ Ġpublic ĠLib 1 Class Ġlib 1 Class ; ĊĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġfile ĠshouldBe Ġjava File ( ĊĠĠĠĠĠĠĠĠĠ Ġimports Ġ= Ġset Of (" com . lib 1 . Lib 1 Class "), ĊĠĠĠĠĠĠĠĠĠ Ġdeclarations Ġ= Ġset Of (" com . test . Parsed Class "), ĊĠĠĠĠĠĠĠĠĠ Ġapi References Ġ= Ġset Of (" com . lib 1 . Lib 1 Class ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` a Ġpublic Ġmember Ġproperty Ġwith Ġgeneric Ġtype Ġwith Ġwildcard Ġimport Ġshould Ġcount Ġas Ġapi Ġreference `() Ġ= ĊĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġfile Ġ= Ġfile ( ĊĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠ Ġpackage Ġcom . test ; ĊĊĠĠĠ Ġimport Ġcom . lib 1 .*; ĊĠĠĠ Ġimport Ġjava . util . List ; ĊĊĠĠĠ Ġpublic Ġclass ĠParsed Class Ġ{ ĊĊĠĠĠĠĠ Ġpublic ĠList < Lib 1 Class > Ġlib 1 Classes ; ĊĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġfile ĠshouldBe Ġjava File ( ĊĠĠĠĠĠĠĠĠĠ Ġimports Ġ= Ġset Of (" java . util . List "), ĊĠĠĠĠĠĠĠĠĠ Ġdeclarations Ġ= Ġset Of (" com . test . Parsed Class "), ĊĠĠĠĠĠĠĠĠĠ Ġwildcard Imports Ġ= Ġset Of (" com . lib 1 "), ĊĠĠĠĠĠĠĠĠĠ Ġapi References Ġ= Ġset Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" java . util . List ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . lib 1 . Lib 1 Class ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Lib 1 Class ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . test . Lib 1 Class " ĊĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠ Ġmaybe Extra References Ġ= Ġset Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Lib 1 Class ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . lib 1 . Lib 1 Class ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" com . test . Lib 1 Class " ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġsimple Project () Ġ= Ġproject (": lib ") Ġ{ ĊĠĠĠ Ġadd Source ( ĊĠĠĠĠĠ Ġ" com / lib 1 / Lib 1 Class . kt ", ĊĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠ Ġpackage Ġcom . lib 1 ĊĊĠĠĠĠĠĠĠ Ġclass ĠLib 1 Class ĊĠĠĠĠĠ Ġ"" ", ĊĠĠĠĠĠ ĠSource SetName . MAIN ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġfun Ġfile ( ĊĠĠĠ Ġ@ Language (" java ") ĊĠĠĠ Ġcontent : ĠString , ĊĠĠĠ Ġjava Version : ĠJava Version Ġ= ĠJava Version . VERSION _ 1 4 , ĊĠĠĠ Ġproject : ĠMc Project Ġ= Ġsimple Project (), ĊĠĠĠ Ġsource SetName : ĠSource SetName Ġ= ĠSource SetName . MAIN ĊĠ Ġ): ĠReal Java File Ġ{ ĊĠĠĠ Ġtest Project Dir . mkdir s () ĊĊĠĠĠ Ġval Ġfile Ġ= ĠFile ( test Project Dir , Ġ" Java File . java ") ĊĠĠĠĠĠ Ġ. also Ġ{ Ġit . write Text ( content . trim Indent ()) Ġ} ĊĊĠĠĠ Ġreturn ĠReal Java File ( ĊĠĠĠĠĠ Ġfile Ġ= Ġfile , Ġjava Version Ġ= Ġjava Version ĊĠĠĠ Ġ) ĊĠ Ġ} Ċ } Ċ