/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 2 0 ĠJetBrains Ġs . r . o . Ġand ĠKotlin ĠProgramming ĠLanguage Ġcontributors . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe Ġlicense / LICENSE . txt Ġfile . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . kotlin . test . model Ċ Ċ abstract Ġclass ĠResult ing Artifact < A Ġ: ĠResult ing Artifact < A >> Ġ{ ĊĠĠĠ Ġabstract Ġval Ġkind : ĠTest Artifact Kind < A > ĊĊĠĠĠ Ġclass ĠSource Ġ: ĠResult ing Artifact < Source >() Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġkind : ĠTest Artifact Kind < Source > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= ĠS ources Kind ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġclass ĠFrontend Output < R Ġ: ĠFrontend Output < R >> Ġ: ĠResult ing Artifact < R >() Ġ{ ĊĠĠĠĠĠĠĠ Ġabstract Ġoverride Ġval Ġkind : ĠFrontend Kind < R > ĊĊĠĠĠĠĠĠĠ Ġobject ĠEmpty Ġ: ĠFrontend Output < Empty >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġkind : ĠFrontend Kind < Empty > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= ĠFrontend Kind . No Frontend ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġclass ĠBackend Input < I Ġ: ĠBackend Input < I >> Ġ: ĠResult ing Artifact < I >() Ġ{ ĊĠĠĠĠĠĠĠ Ġabstract Ġoverride Ġval Ġkind : ĠBackend Kind < I > ĊĊĠĠĠĠĠĠĠ Ġobject ĠEmpty Ġ: ĠBackend Input < Empty >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġkind : ĠBackend Kind < Empty > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= ĠBackend Kind . No Backend ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġclass ĠBinary < A Ġ: ĠBinary < A >> Ġ: ĠResult ing Artifact < A >() Ġ{ ĊĠĠĠĠĠĠĠ Ġabstract Ġoverride Ġval Ġkind : ĠBinary Kind < A > ĊĊĠĠĠĠĠĠĠ Ġobject ĠEmpty Ġ: ĠBinary < Empty >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġkind : ĠBinary Kind < Empty > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= ĠBinary Kind . No Artifact ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ