// ĠEXPECT ED _ RE ACH ABLE _ NODES : Ġ 1 1 4 0 Ċ package Ġfoo Ċ Ċ fun Ġbox (): ĠString Ġ{ ĊĠĠĠ Ġ// Ġin Ġobject ĊĊĠĠĠ ĠassertEquals (" My Object . Object . a ", ĠMy Object . Object . a ) ĊĠĠĠ ĠassertEquals (" My Object . Object . b ", ĠMy Object . Object . b ) ĊĠĠĠ ĠassertEquals ( 1 2 3 , ĠMy Object . Object . test ()) ĊĊĠĠĠ ĠassertEquals (" My Object . Object . Class (). a ", ĠMy Object . Object . Class (" My Object . Object . Class (). a "). a ) ĊĠĠĠ ĠassertEquals (" My Object . Object . Class (). b ", ĠMy Object . Object . Class (" something "). b ) ĊĠĠĠ ĠassertEquals ( 4 2 , ĠMy Object . Object . Class (" something "). test ()) ĊĠĠĠ ĠassertEquals (" My Object . Object . Class . a ", ĠMy Object . Object . Class . a ) ĊĠĠĠ ĠassertEquals (" My Object . Object . Class . b ", ĠMy Object . Object . Class . b ) ĊĠĠĠ ĠassertEquals ( 1 4 2 , ĠMy Object . Object . Class . test ()) ĊĊĠĠĠ ĠassertEquals (" My Object . Class (). a ", ĠMy Object . Class (" My Object . Class (). a "). a ) ĊĠĠĠ ĠassertEquals (" My Object . Class (). b ", ĠMy Object . Class (" something "). b ) ĊĠĠĠ ĠassertEquals ( 4 2 , ĠMy Object . Class (" something "). test ()) ĊĠĠĠ ĠassertEquals (" My Object . Class . a ", ĠMy Object . Class . a ) ĊĠĠĠ ĠassertEquals (" My Object . Class . b ", ĠMy Object . Class . b ) ĊĠĠĠ ĠassertEquals ( 1 4 2 , ĠMy Object . Class . test ()) ĊĊĠĠĠ ĠassertEquals (" My Object . a . a ", ĠMy Object . a . a ) ĊĠĠĠ ĠassertEquals (" My Object . a . b ", ĠMy Object . a . b ) ĊĠĠĠ ĠassertEquals ( 3 4 , ĠMy Object . a . test ()) ĊĠĠĠ ĠassertEquals (" My Object . b ", ĠMy Object . b ) ĊĠĠĠ ĠassertEquals ( 2 3 , ĠMy Object . test ()) ĊĊĠĠĠ Ġ// Ġin Ġclass ĊĊĠĠĠ ĠassertEquals (" Class . Object . a ", ĠClass . Object . a ) ĊĠĠĠ ĠassertEquals (" Class . Object . b ", ĠClass . Object . b ) ĊĠĠĠ ĠassertEquals ( 5 5 , ĠClass . Object . test ()) ĊĊĠĠĠ ĠassertEquals (" Class . Class (). a ", ĠClass . Class (" Class . Class (). a "). a ) ĊĠĠĠ ĠassertEquals (" Class . Class (). b ", ĠClass . Class (" something "). b ) ĊĠĠĠ ĠassertEquals ( 6 6 , ĠClass . Class (" something "). test ()) ĊĠĠĠ ĠassertEquals (" Class . Class . a ", ĠClass . Class . a ) ĊĠĠĠ ĠassertEquals (" Class . Class . b ", ĠClass . Class . b ) ĊĠĠĠ ĠassertEquals ( 8 8 , ĠClass . Class . test ()) ĊĊĠĠĠ ĠassertEquals (" Class . a . a ", ĠClass . a . a ) ĊĠĠĠ ĠassertEquals (" Class . a . b ", ĠClass . a . b ) ĊĠĠĠ ĠassertEquals ( 2 2 , ĠClass . a . test ()) ĊĠĠĠ ĠassertEquals (" Class . b ", ĠClass . b ) ĊĠĠĠ ĠassertEquals ( 7 7 , ĠClass . test ()) ĊĊĠĠĠ Ġreturn Ġ" OK "; Ċ } Ċ Ċ external Ġobject ĠMy Object Ġ{ ĊĠĠĠ Ġobject ĠObject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġa : ĠString Ġ= Ġdefined Ex tern ally ĊĠĠĠĠĠĠĠ Ġvar Ġb : ĠString Ġ= Ġdefined Ex tern ally ĊĠĠĠĠĠĠĠ Ġfun Ġtest (): ĠInt Ġ= Ġdefined Ex tern ally ĊĊĠĠĠĠĠĠĠ Ġ@ Js Name (" Another Class ") ĊĠĠĠĠĠĠĠ Ġclass ĠClass ( a : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġa : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġb : ĠString Ġ= Ġdefined Ex tern ally ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest (): ĠInt Ġ= Ġdefined Ex tern ally ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġa : ĠString Ġ= Ġdefined Ex tern ally ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġb : ĠString Ġ= Ġdefined Ex tern ally ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest (): ĠInt Ġ= Ġdefined Ex tern ally ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠClass ( a : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġa : ĠString ĊĠĠĠĠĠĠĠ Ġvar Ġb : ĠString Ġ= Ġdefined Ex tern ally ĊĠĠĠĠĠĠĠ Ġfun Ġtest (): ĠInt Ġ= Ġdefined Ex tern ally ĊĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġa : ĠString Ġ= Ġdefined Ex tern ally ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġb : ĠString Ġ= Ġdefined Ex tern ally ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest (): ĠInt Ġ= Ġdefined Ex tern ally ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠTrait Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġa : ĠString ĊĠĠĠĠĠĠĠ Ġvar Ġb : ĠString ĊĠĠĠĠĠĠĠ Ġfun Ġtest (): ĠInt ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġa : ĠTrait Ġ= Ġdefined Ex tern ally ĊĠĠĠ Ġvar Ġb : ĠString Ġ= Ġdefined Ex tern ally ĊĠĠĠ Ġfun Ġtest (): ĠInt Ġ= Ġdefined Ex tern ally Ċ } Ċ Ċ @ Js Name (" Some Class ") Ċ external Ġclass ĠClass Ġ{ ĊĠĠĠ Ġobject ĠObject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġa : ĠString Ġ= Ġdefined Ex tern ally ĊĠĠĠĠĠĠĠ Ġvar Ġb : ĠString Ġ= Ġdefined Ex tern ally ĊĠĠĠĠĠĠĠ Ġfun Ġtest (): ĠInt Ġ= Ġdefined Ex tern ally ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠClass ( a : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġa : ĠString ĊĠĠĠĠĠĠĠ Ġvar Ġb : ĠString Ġ= Ġdefined Ex tern ally ĊĠĠĠĠĠĠĠ Ġfun Ġtest (): ĠInt Ġ= Ġdefined Ex tern ally ĊĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġa : ĠString Ġ= Ġdefined Ex tern ally ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġb : ĠString Ġ= Ġdefined Ex tern ally ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtest (): ĠInt Ġ= Ġdefined Ex tern ally ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠTrait Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġa : ĠString ĊĠĠĠĠĠĠĠ Ġvar Ġb : ĠString ĊĠĠĠĠĠĠĠ Ġfun Ġtest (): ĠInt ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Js Name (" aaa ") ĊĠĠĠĠĠĠĠ Ġval Ġa : ĠTrait Ġ= Ġdefined Ex tern ally ĊĠĠĠĠĠĠĠ Ġvar Ġb : ĠString Ġ= Ġdefined Ex tern ally ĊĠĠĠĠĠĠĠ Ġfun Ġtest (): ĠInt Ġ= Ġdefined Ex tern ally ĊĠĠĠ Ġ} Ċ } Ċ