/* Ċ Ġ* ĠPro Guard Ġ-- Ġshrink ing , Ġoptimization , Ġob fusc ation , Ġand Ġpre verification Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠ Ġof ĠJava Ġbytecode . Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 0 2 - 2 0 2 0 ĠGu ards quare ĠNV Ċ Ġ*/ Ċ Ċ package Ġpro guard Ċ Ċ import Ġio . kot est . core . spec . style . Free Spec Ċ import Ġio . kot est . matchers . collections . should Contain Ċ import Ġio . kot est . matchers . collections . should Have Size Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġio . kot est . matchers . should Not Be Ċ import Ġpro guard . evaluation . value . Ident ified Reference Value Ċ import Ġpro guard . evaluation . value . Part icular Reference Value Ċ import Ġpro guard . evaluation . value . Typed Reference Value Ċ import Ġpro guard . util . Method With Stack Ċ import Ġpro guard . util . Partial Evaluator Helper Ċ import Ġtest utils . Class Pool Builder Ċ import Ġtest utils . Java Source Ċ Ċ class ĠPart icular Reference Test Ġ: ĠFree Spec ({ ĊĊĠĠĠ Ġ" Simple Ġempty Ġvalue Ġin ĠConstructor " Ġ- Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( program Class Pool , Ġ_) Ġ= ĠClass Pool Builder . from Source ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJava Source ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" A . java ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠA Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġctor (){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString Ġs Ġ= Ġnew ĠString (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println ( s ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjav ac Arguments Ġ= ĠlistOf ("- source ", Ġ" 8 ", Ġ"- target ", Ġ" 8 ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġinv ocations With Stack Ġ= ĠPartial Evaluator Helper . evaluate Method (" A ", Ġ" ctor ", Ġ" () V ", Ġprogram Class Pool ) ĊĊĠĠĠĠĠĠĠ Ġ" Expected Ġnumber Ġof Ġinstructions " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Have Size Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 4 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 1 2 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" Correct Ġparameter Ġin ĠConstructor " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack [ 4 ] !!. method Signature ĠshouldBe Ġ" java / lang / String .< init >. () V " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( inv ocations With Stack [ 4 ] !!. stack [ 0 ] Ġ! is ĠTyped Reference Value ) Ġ{ Ġ// Ġwe Ġlose Ġall Ġinformation Ġat Ġthe Ġgeneral ization ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠAssertionError (" Unexpected Ġtype : Ġ" Ġ+ Ġinv ocations With Stack [ 4 ] !!. stack [ 0 ]. java Class . simple Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( inv ocations With Stack [ 4 ] !!. stack [ 0 ] Ġas ĠTyped Reference Value ). referenced Class Ġshould Not Be Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( inv ocations With Stack [ 4 ] !!. stack [ 0 ] Ġas ĠTyped Reference Value ). referenced Class . name ĠshouldBe Ġ" java / lang / String " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" Correct Ġparameter Ġin Ġlast Ġsys out " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack [ 1 2 ] !!. method Signature ĠshouldBe Ġ" java / io / Print Stream . println .( Ljava / lang / String ;) V " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( inv ocations With Stack [ 1 2 ] !!. stack [ 0 ] Ġ! is ĠTyped Reference Value ) Ġ{ Ġ// Ġwe Ġlose Ġall Ġinformation Ġat Ġthe Ġgeneral ization ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠAssertionError (" Unexpected Ġtype : Ġ" Ġ+ Ġinv ocations With Stack [ 1 2 ] !!. stack [ 0 ]. java Class . simple Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( inv ocations With Stack [ 1 2 ] !!. stack [ 0 ] Ġas ĠTyped Reference Value ). referenced Class Ġshould Not Be Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( inv ocations With Stack [ 1 2 ] !!. stack [ 0 ] Ġas ĠTyped Reference Value ). referenced Class . name ĠshouldBe Ġ" java / lang / String " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" Unknown Ġvalue Ġif Ġdifferent Ġpossib ilities Ġexist Ġ- Ġloop " Ġ- Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( program Class Pool , Ġ_) Ġ= ĠClass Pool Builder . from Source ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJava Source ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" A . java ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠA Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġloop (){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStringBuilder Ġsb Ġ= Ġnew ĠStringBuilder (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlong Ġt Ġ= Ġ 0 ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( t Ġ< ĠSystem . currentTimeMillis ()){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" x "); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println ( sb . toString ()); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjav ac Arguments Ġ= ĠlistOf ("- source ", Ġ" 8 ", Ġ"- target ", Ġ" 8 ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġinv ocations With Stack Ġ= ĠPartial Evaluator Helper . evaluate Method (" A ", Ġ" loop ", Ġ" () V ", Ġprogram Class Pool ) ĊĊĠĠĠĠĠĠĠ Ġ" Expected Ġnumber Ġof Ġinstructions " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Have Size Ġ 5 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 3 5 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" Correct Ġparameter Ġin Ġlast Ġsys out " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack [ 3 5 ] !!. method Signature ĠshouldBe Ġ" java / io / Print Stream . println .( Ljava / lang / String ;) V " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( inv ocations With Stack [ 3 5 ] !!. stack [ 0 ] Ġ! is ĠTyped Reference Value ) Ġ{ Ġ// Ġwe Ġlose Ġall Ġinformation Ġat Ġthe Ġgeneral ization ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠAssertionError (" Unexpected Ġtype : Ġ" Ġ+ Ġinv ocations With Stack [ 3 5 ] !!. stack [ 0 ]. java Class . simple Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( inv ocations With Stack [ 3 5 ] !!. stack [ 0 ] Ġas ĠTyped Reference Value ). referenced Class Ġshould Not Be Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( inv ocations With Stack [ 3 5 ] !!. stack [ 0 ] Ġas ĠTyped Reference Value ). referenced Class . name ĠshouldBe Ġ" java / lang / String " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" Unknown Ġvalue Ġif Ġdifferent Ġpossib ilities Ġexist Ġ- Ġbranch " Ġ- Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( program Class Pool , Ġ_) Ġ= ĠClass Pool Builder . from Source ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJava Source ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" A . java ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠA Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġbranch ( int Ġi ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStringBuilder Ġsb Ġ= Ġnew ĠStringBuilder (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( i Ġ== Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" a "); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" x "); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println ( sb . toString ()); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjav ac Arguments Ġ= ĠlistOf ("- source ", Ġ" 8 ", Ġ"- target ", Ġ" 8 ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġinv ocations With Stack Ġ= ĠPartial Evaluator Helper . evaluate Method (" A ", Ġ" branch ", Ġ"( I ) V ", Ġprogram Class Pool ) ĊĊĠĠĠĠĠĠĠ Ġ" Expected Ġnumber Ġof Ġinstructions " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Have Size Ġ 5 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 3 6 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" Correct Ġparameter Ġin Ġlast Ġsys out " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack [ 3 6 ] !!. method Signature ĠshouldBe Ġ" java / io / Print Stream . println .( Ljava / lang / String ;) V " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack [ 3 6 ] !!. stack [ 0 ]. is Part icular ĠshouldBe Ġfalse ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( inv ocations With Stack [ 3 6 ] !!. stack [ 0 ] Ġas ĠTyped Reference Value ). referenced Class Ġshould Not Be Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( inv ocations With Stack [ 3 6 ] !!. stack [ 0 ] Ġas ĠTyped Reference Value ). referenced Class . name ĠshouldBe Ġ" java / lang / String " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" Unknown Ġvalue Ġfor Ġnon - final Ġfield " Ġ- Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( program Class Pool , Ġ_) Ġ= ĠClass Pool Builder . from Source ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJava Source ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" A . java ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠA Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic ĠString ĠSO ME _ STRING Ġ= Ġ" AS DF "; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġfield (){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStringBuilder Ġsb Ġ= Ġnew ĠStringBuilder ( SO ME _ STRING ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println ( sb . toString ()); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjav ac Arguments Ġ= ĠlistOf ("- source ", Ġ" 8 ", Ġ"- target ", Ġ" 8 ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġinv ocations With Stack Ġ= ĠPartial Evaluator Helper . evaluate Method (" A ", Ġ" field ", Ġ" () V ", Ġprogram Class Pool ) ĊĊĠĠĠĠĠĠĠ Ġ" Expected Ġnumber Ġof Ġinstructions " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Have Size Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 1 9 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" Correct Ġparameter Ġin Ġlast Ġsys out " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack [ 1 9 ] !!. method Signature ĠshouldBe Ġ" java / io / Print Stream . println .( Ljava / lang / String ;) V " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( inv ocations With Stack [ 1 9 ] !!. stack [ 0 ] Ġ! is ĠIdent ified Reference Value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠAssertionError (" Unexpected Ġtype : Ġ" Ġ+ Ġinv ocations With Stack [ 3 6 ] !!. stack [ 0 ]. java Class . simple Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( inv ocations With Stack [ 1 9 ] !!. stack [ 0 ] Ġas ĠTyped Reference Value ). referenced Class Ġshould Not Be Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( inv ocations With Stack [ 1 9 ] !!. stack [ 0 ] Ġas ĠTyped Reference Value ). referenced Class . name ĠshouldBe Ġ" java / lang / String " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" Simple Ġusage " Ġ- Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( program Class Pool , Ġ_) Ġ= ĠClass Pool Builder . from Source ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJava Source ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" A . java ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠA Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġappend () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println (" StringValue "); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjav ac Arguments Ġ= ĠlistOf ("- source ", Ġ" 8 ", Ġ"- target ", Ġ" 8 ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġinv ocations With Stack Ġ= ĠPartial Evaluator Helper . evaluate Method (" A ", Ġ" append ", Ġ" () V ", Ġprogram Class Pool ) ĊĊĠĠĠĠĠĠĠ Ġ" Expected Ġnumber Ġof Ġinstructions " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Have Size Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 5 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" Correct Ġparameter Ġin Ġlast Ġsys out " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 5 , Ġ 0 , Ġ" StringValue ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" Simple Ġconcat " Ġ- Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( program Class Pool , Ġ_) Ġ= ĠClass Pool Builder . from Source ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJava Source ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" A . java ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠA Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġappend () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString Ġs Ġ= Ġ" asd "; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs Ġ+= Ġ" f gh "; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println ( s ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjav ac Arguments Ġ= ĠlistOf ("- source ", Ġ" 8 ", Ġ"- target ", Ġ" 8 ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġinv ocations With Stack Ġ= ĠPartial Evaluator Helper . evaluate Method (" A ", Ġ" append ", Ġ" () V ", Ġprogram Class Pool ) ĊĊĠĠĠĠĠĠĠ Ġ" Expected Ġnumber Ġof Ġinstructions " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Have Size Ġ 5 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 2 7 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" Correct Ġparameter Ġin Ġlast Ġsys out " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 2 7 , Ġ 0 , Ġ" asdf gh ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" Simple Ġappend " Ġ- Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( program Class Pool , Ġ_) Ġ= ĠClass Pool Builder . from Source ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJava Source ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" A . java ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠA Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġappend () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStringBuilder Ġsb ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb Ġ= Ġnew ĠStringBuilder (" asd "); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" f gh "); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println ( sb . toString ()); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjav ac Arguments Ġ= ĠlistOf ("- source ", Ġ" 8 ", Ġ"- target ", Ġ" 8 ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġinv ocations With Stack Ġ= ĠPartial Evaluator Helper . evaluate Method (" A ", Ġ" append ", Ġ" () V ", Ġprogram Class Pool ) ĊĊĠĠĠĠĠĠĠ Ġ" Expected Ġnumber Ġof Ġinstructions " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Have Size Ġ 4 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 2 4 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" Correct Ġparameter Ġin Ġlast Ġsys out " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 2 4 , Ġ 0 , Ġ" asdf gh ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" Append Ġlength " Ġ- Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( program Class Pool , Ġ_) Ġ= ĠClass Pool Builder . from Source ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJava Source ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" A . java ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠA Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġstring Length () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString Ġs Ġ= Ġ" 1 2 3 "; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStringBuilder Ġsb Ġ= Ġnew ĠStringBuilder (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" asdf "); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( s . length ()); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println ( sb . toString ()); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjav ac Arguments Ġ= ĠlistOf ("- source ", Ġ" 8 ", Ġ"- target ", Ġ" 8 ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġinv ocations With Stack Ġ= ĠPartial Evaluator Helper . evaluate Method (" A ", Ġ" string Length ", Ġ" () V ", Ġprogram Class Pool ) ĊĊĠĠĠĠĠĠĠ Ġ" Expected Ġnumber Ġof Ġinstructions " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Have Size Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 3 4 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" Correct Ġparameter Ġin Ġlast Ġsys out " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 3 4 , Ġ 0 , Ġ" asdf 3 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" Simple ĠString Ġconcat " Ġ- Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( program Class Pool , Ġ_) Ġ= ĠClass Pool Builder . from Source ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJava Source ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" A . java ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠA Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġconcat () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString Ġa Ġ= Ġ" hello "; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString Ġb Ġ= Ġ" Ġ"; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString Ġc Ġ= Ġ" world "; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println ( a Ġ+ Ġb Ġ+ Ġc ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjav ac Arguments Ġ= ĠlistOf ("- source ", Ġ" 8 ", Ġ"- target ", Ġ" 8 ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġinv ocations With Stack Ġ= ĠPartial Evaluator Helper . evaluate Method (" A ", Ġ" concat ", Ġ" () V ", Ġprogram Class Pool ) ĊĊĠĠĠĠĠĠĠ Ġ" Expected Ġnumber Ġof Ġinstructions " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Have Size Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 3 4 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" Correct Ġparameter Ġin Ġlast Ġsys out " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 3 4 , Ġ 0 , Ġ" hello Ġworld ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġ" Static Ġfinal Ġfield " Ġ- Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( program Class Pool , Ġ_) Ġ= ĠClass Pool Builder . from Source ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJava Source ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" A . java ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠA Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġstatic Ġfinal ĠString ĠSE CRET Ġ= Ġ" Ġworld "; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġconcat () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString Ġa Ġ= Ġ" hello "; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println ( a Ġ+ ĠSE CRET ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjav ac Arguments Ġ= ĠlistOf ("- source ", Ġ" 8 ", Ġ"- target ", Ġ" 8 ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġinv ocations With Stack Ġ= ĠPartial Evaluator Helper . evaluate Method (" A ", Ġ" concat ", Ġ" () V ", Ġprogram Class Pool ) ĊĊĠĠĠĠĠĠĠ Ġ" Expected Ġnumber Ġof Ġinstructions " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Have Size Ġ 5 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 2 5 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" Correct Ġparameter Ġin Ġlast Ġsys out " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 2 5 , Ġ 0 , Ġ" hello Ġworld ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" StringBuilder Ġfunctions " Ġ- Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( program Class Pool , Ġ_) Ġ= ĠClass Pool Builder . from Source ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJava Source ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" A . java ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠA Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġfunctions () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStringBuilder Ġsb Ġ= Ġnew ĠStringBuilder (" X hello Ġworld "); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" ! Ġ"); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( sb . length ()); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . delete Char At ( 0 ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . reverse (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println ( sb . toString ()); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjav ac Arguments Ġ= ĠlistOf ("- source ", Ġ" 8 ", Ġ"- target ", Ġ" 8 ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġinv ocations With Stack Ġ= ĠPartial Evaluator Helper . evaluate Method (" A ", Ġ" functions ", Ġ" () V ", Ġprogram Class Pool ) ĊĊĠĠĠĠĠĠĠ Ġ" Expected Ġnumber Ġof Ġinstructions " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Have Size Ġ 8 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 4 4 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" Correct Ġparameter Ġin Ġlast Ġsys out " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 4 4 , Ġ 0 , Ġ" 4 1 Ġ! dl row Ġol le h ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" StringBuffer Ġfunctions " Ġ- Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( program Class Pool , Ġ_) Ġ= ĠClass Pool Builder . from Source ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJava Source ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" A . java ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠA Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġfunctions () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStringBuffer Ġsb Ġ= Ġnew ĠStringBuffer (" X hello Ġworld "); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" ! Ġ"); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( sb . length ()); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . delete Char At ( 0 ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . reverse (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println ( sb . toString ()); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjav ac Arguments Ġ= ĠlistOf ("- source ", Ġ" 8 ", Ġ"- target ", Ġ" 8 ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġinv ocations With Stack Ġ= ĠPartial Evaluator Helper . evaluate Method (" A ", Ġ" functions ", Ġ" () V ", Ġprogram Class Pool ) ĊĊĠĠĠĠĠĠĠ Ġ" Expected Ġnumber Ġof Ġinstructions " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Have Size Ġ 8 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 4 4 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" Correct Ġparameter Ġin Ġlast Ġsys out " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 4 4 , Ġ 0 , Ġ" 4 1 Ġ! dl row Ġol le h ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" String Ġfunctions " Ġ- Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( program Class Pool , Ġ_) Ġ= ĠClass Pool Builder . from Source ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJava Source ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" A . java ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠA Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġfinal ĠString ĠREG EXP Ġ= Ġ"[ 0 - 9 ]+ "; ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġfunctions () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString Ġs Ġ= Ġ" 1 Th Xr X 2 is 3 nx 4 "; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs Ġ= Ġs . concat (" sp xx n ! 5 6 Ġ 7 "); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs Ġ= Ġs . replace (' x ', Ġ' o '); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs Ġ= Ġs . toLowerCase (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs Ġ= Ġs . replace (' x ', Ġ' e '); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs Ġ= Ġs . replaceAll ( REG EXP , Ġ" Ġ"); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs Ġ= Ġs . trim (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println ( s ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjav ac Arguments Ġ= ĠlistOf ("- source ", Ġ" 8 ", Ġ"- target ", Ġ" 8 ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġinv ocations With Stack Ġ= ĠPartial Evaluator Helper . evaluate Method (" A ", Ġ" functions ", Ġ" () V ", Ġprogram Class Pool ) ĊĊĠĠĠĠĠĠĠ Ġ" Expected Ġnumber Ġof Ġinstructions " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Have Size Ġ 7 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 5 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" Correct Ġparameter Ġin Ġlast Ġsys out " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 5 1 , Ġ 0 , Ġ" there Ġis Ġno Ġspo on !") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" Failed Ġcasting " Ġ- Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( program Class Pool , Ġ_) Ġ= ĠClass Pool Builder . from Source ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJava Source ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" A . java ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠA Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġcast () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠObject Ġo Ġ= Ġnew ĠInteger ( 1 ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println (( String ) Ġo ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjav ac Arguments Ġ= ĠlistOf ("- source ", Ġ" 8 ", Ġ"- target ", Ġ" 8 ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġinv ocations With Stack Ġ= ĠPartial Evaluator Helper . evaluate Method (" A ", Ġ" cast ", Ġ" () V ", Ġprogram Class Pool ) ĊĊĠĠĠĠĠĠĠ Ġ" Expected Ġnumber Ġof Ġinstructions " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Have Size Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 1 6 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" Correct Ġparameter Ġin Ġlast Ġsys out " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġinv ocations With Stack [ 1 6 ] !!. stack [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value Ġ! is ĠIdent ified Reference Value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠAssertionError (" Unexpected Ġtype : Ġ" Ġ+ Ġvalue . java Class . simple Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" Correct Ġinternal Ġstack Ġstate Ġafter Ġpartial Ġevaluation Ġ- ĠStringBuilder " Ġ- Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( program Class Pool , Ġ_) Ġ= ĠClass Pool Builder . from Source ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJava Source ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" A . java ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠA Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġfunctions () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStringBuilder Ġsb Ġ= Ġnew ĠStringBuilder (" X hello Ġworld "); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" ! Ġ"); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( sb . length ()); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . delete Char At ( 0 ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . reverse (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println ( sb . toString ()); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjav ac Arguments Ġ= ĠlistOf ("- source ", Ġ" 8 ", Ġ"- target ", Ġ" 8 ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġinv ocations With Stack Ġ= ĠPartial Evaluator Helper . evaluate Method (" A ", Ġ" functions ", Ġ" () V ", Ġprogram Class Pool ) ĊĊĠĠĠĠĠĠĠ Ġ" Expected Ġnumber Ġof Ġinstructions " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Have Size Ġ 8 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 1 3 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 1 9 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 2 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 2 8 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 3 3 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 4 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 4 4 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" Correct Ġparameters " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġunique IDs Ġ= ĠHashSet < Any >() ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġvalue Ġ= Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 6 , Ġ 0 , Ġ" X hello Ġworld ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunique IDs Ġ+= Ġget Ident ified Reference Value ID ( value ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 1 3 , Ġ 0 , Ġ"! Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunique IDs Ġ+= Ġget Ident ified Reference Value ID ( value ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 1 3 , Ġ 1 , Ġ" X hello Ġworld ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunique IDs Ġ+= Ġget Ident ified Reference Value ID ( value ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 1 9 , Ġ 0 , Ġ" X hello Ġworld ! Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunique IDs Ġ+= Ġget Ident ified Reference Value ID ( value ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 2 2 , Ġ 1 , Ġ" X hello Ġworld ! Ġ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 2 8 , Ġ 1 , Ġ" X hello Ġworld ! Ġ 1 4 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunique IDs Ġ+= Ġget Ident ified Reference Value ID ( value ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 3 3 , Ġ 0 , Ġ" hello Ġworld ! Ġ 1 4 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunique IDs Ġ+= Ġget Ident ified Reference Value ID ( value ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 4 1 , Ġ 0 , Ġ" 4 1 Ġ! dl row Ġol le h ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunique IDs Ġ+= Ġget Ident ified Reference Value ID ( value ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 4 4 , Ġ 0 , Ġ" 4 1 Ġ! dl row Ġol le h ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġunique IDs Ġshould Have Size Ġ 7 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" Correct Ġinternal Ġstack Ġstate Ġafter Ġpartial Ġevaluation Ġ- ĠStringBuffer " Ġ- Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( program Class Pool , Ġ_) Ġ= ĠClass Pool Builder . from Source ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJava Source ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" A . java ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass ĠA Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġfunctions () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStringBuffer Ġsb Ġ= Ġnew ĠStringBuffer (" X hello Ġworld "); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" ! Ġ"); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( sb . length ()); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . delete Char At ( 0 ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . reverse (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println ( sb . toString ()); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjav ac Arguments Ġ= ĠlistOf ("- source ", Ġ" 8 ", Ġ"- target ", Ġ" 8 ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġinv ocations With Stack Ġ= ĠPartial Evaluator Helper . evaluate Method (" A ", Ġ" functions ", Ġ" () V ", Ġprogram Class Pool ) ĊĊĠĠĠĠĠĠĠ Ġ" Expected Ġnumber Ġof Ġinstructions " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Have Size Ġ 8 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 6 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 1 3 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 1 9 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 2 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 2 8 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 3 3 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 4 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations With Stack . keys Ġshould Contain Ġ 4 4 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ" Correct Ġparameters " Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġunique IDs Ġ= ĠHashSet < Any >() ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġvalue Ġ= Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 6 , Ġ 0 , Ġ" X hello Ġworld ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunique IDs Ġ+= Ġget Ident ified Reference Value ID ( value ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 1 3 , Ġ 0 , Ġ"! Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunique IDs Ġ+= Ġget Ident ified Reference Value ID ( value ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 1 3 , Ġ 1 , Ġ" X hello Ġworld ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunique IDs Ġ+= Ġget Ident ified Reference Value ID ( value ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 1 9 , Ġ 0 , Ġ" X hello Ġworld ! Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunique IDs Ġ+= Ġget Ident ified Reference Value ID ( value ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 2 2 , Ġ 1 , Ġ" X hello Ġworld ! Ġ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 2 8 , Ġ 1 , Ġ" X hello Ġworld ! Ġ 1 4 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunique IDs Ġ+= Ġget Ident ified Reference Value ID ( value ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 3 3 , Ġ 0 , Ġ" hello Ġworld ! Ġ 1 4 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunique IDs Ġ+= Ġget Ident ified Reference Value ID ( value ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 4 1 , Ġ 0 , Ġ" 4 1 Ġ! dl row Ġol le h ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunique IDs Ġ+= Ġget Ident ified Reference Value ID ( value ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack , Ġ 4 4 , Ġ 0 , Ġ" 4 1 Ġ! dl row Ġol le h ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġunique IDs Ġshould Have Size Ġ 7 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }) Ċ Ċ fun Ġcheck Expected Value Part icular Reference Value ( inv ocations With Stack : ĠHashMap < Int , ĠMethod With Stack >, Ġinstruction Offset : ĠInt , Ġstack Position From Top : ĠInt , Ġexpected : ĠString ?): ĠPart icular Reference Value Ġ{ ĊĠĠĠ Ġval Ġvalue Ġ= Ġinv ocations With Stack [ instruction Offset ] !!. stack [ stack Position From Top ] ĊĠĠĠ Ġif Ġ( value Ġ! is ĠPart icular Reference Value ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠAssertionError (" Unexpected Ġtype : Ġ" Ġ+ Ġvalue . java Class . simple Name ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( expected Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvalue . value () Ġshould Not Be Ġnull ĊĠĠĠĠĠĠĠ Ġvalue . value (). toString () ĠshouldBe Ġexpected ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġvalue . value () ĠshouldBe Ġnull ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġvalue Ċ } Ċ Ċ fun Ġget Ident ified Reference Value ID ( value : ĠIdent ified Reference Value ): ĠInt Ġ{ ĊĠĠĠ Ġval Ġfield Ġ= ĠIdent ified Reference Value :: class . java . getDeclared Field (" id ") ĊĊĠĠĠ Ġfield . is Accessible Ġ= Ġtrue ĊĠĠĠ Ġreturn Ġfield . get ( value ) Ġas ĠInt Ċ } Ċ