DemeterJ version 0.8.4 Copyright (c) 2002 Northeastern University Reading project file program.prj... Running the test... : AspectJFragment ( : PointCut_List { : Nonempty_PointCut_List ( : PointCut ( : PCName ( : Ident "X1" ) : ArgDecl_PCList { : Nonempty_ArgDecl_PCList ( : ArgDecl ( : Type ( : Ident "S" ) : Variable ( : Ident "s1" ) ) ) } : This ( : PVariable ( : Variable ( : Ident "s1" ) ) ) ) : Nonempty_PointCut_List ( : PointCut ( : PCName ( : Ident "X2" ) : ArgDecl_PCList { : Nonempty_ArgDecl_PCList ( : ArgDecl ( : Type ( : Ident "S" ) : Variable ( : Ident "s2" ) ) : Nonempty_ArgDecl_PCList ( : ArgDecl ( : Type ( : Ident "T" ) : Variable ( : Ident "t2" ) ) ) ) } : AndOrExp ( : Call ( : Type ( : Ident "void" ) : FName ( : Ident "crossing_x" ) ) : OpPCExp_List { : Nonempty_OpPCExp_List ( : OpPCExp ( : AndOp ( ) : This ( : PVariable ( : Variable ( : Ident "s2" ) ) ) ) : Nonempty_OpPCExp_List ( : OpPCExp ( : AndOp ( ) : Target ( : PVariable ( : Variable ( : Ident "t2" ) ) ) ) ) ) } ) ) : Nonempty_PointCut_List ( : PointCut ( : PCName ( : Ident "X3" ) : ArgDecl_PCList { : Nonempty_ArgDecl_PCList ( : ArgDecl ( : Type ( : Ident "A" ) : Variable ( : Ident "a1" ) ) : Nonempty_ArgDecl_PCList ( : ArgDecl ( : Type ( : Ident "B" ) : Variable ( : Ident "b2" ) ) : Nonempty_ArgDecl_PCList ( : ArgDecl ( : Type ( : Ident "C" ) : Variable ( : Ident "c3" ) ) ) ) ) } : CFlow ( : PCRef ( : PCName ( : Ident "visiting_A1" ) : Variable_PCList { : Nonempty_Variable_PCList ( : Variable ( : Ident "a1" ) ) } ) ) ) : Nonempty_PointCut_List ( : PointCut ( : PCName ( : Ident "Y4" ) : ArgDecl_PCList { : Nonempty_ArgDecl_PCList ( : ArgDecl ( : Type ( : Ident "Source" ) : Variable ( : Ident "s" ) ) ) } : NotExp ( : CFlow ( : This ( : PVariable ( : Variable ( : Ident "s" ) ) ) ) ) ) ) ) ) ) } : Advice_List { : Nonempty_Advice_List ( : Advice ( : Before ( ) : ArgDecl_PCList { : Nonempty_ArgDecl_PCList ( : ArgDecl ( : Type ( : Ident "S" ) : Variable ( : Ident "s1" ) ) ) } : This ( : PVariable ( : Variable ( : Ident "s1" ) ) ) ) : Nonempty_Advice_List ( : Advice ( : After ( ) : ArgDecl_PCList { : Nonempty_ArgDecl_PCList ( : ArgDecl ( : Type ( : Ident "S" ) : Variable ( : Ident "s2" ) ) : Nonempty_ArgDecl_PCList ( : ArgDecl ( : Type ( : Ident "T" ) : Variable ( : Ident "t2" ) ) ) ) } : AndOrExp ( : Call ( : Type ( : Ident "void" ) : FName ( : Ident "crossing_x" ) ) : OpPCExp_List { : Nonempty_OpPCExp_List ( : OpPCExp ( : AndOp ( ) : This ( : PVariable ( : Variable ( : Ident "s2" ) ) ) ) : Nonempty_OpPCExp_List ( : OpPCExp ( : AndOp ( ) : Target ( : PVariable ( : Variable ( : Ident "t2" ) ) ) ) ) ) } ) ) ) ) } ) This is a Compound expression: (call(void crossing_x(..))&&this(s2)&&target(t2)) This is a Compound expression: cflow(*visiting_A1(a1)) This is a Compound expression: !cflow(this(s)) This is a Compound expression: cflow(this(s)) This is a Compound expression: (call(void crossing_x(..))&&this(s2)&&target(t2)) Used Variables t2 s s1 s2 t2 s1 a1 s2 Defined Variables s1 s2 s1 s s2 t2 b2 c3 t2 a1 t2 s s1 s2 t2 s1 a1 s2 s1 s2 s1 s s2 t2 b2 c3 t2 a1 done midterm ---------- New Traversal --------------- currently at object AspectJFragment@1adc30 currently at object PointCut_List@6df84b currently at object Nonempty_PointCut_List@4832d2 currently at object PointCut@8199 NEW PointCut starts ======== currently at object Nonempty_PointCut_List@3c887b currently at object PointCut@246701 NEW PointCut starts ======== currently at object AndOrExp@66a22b currently at object OpPCExp_List@20cc56 currently at object Nonempty_OpPCExp_List@47393f currently at object OpPCExp@7f7a1e currently at object Nonempty_OpPCExp_List@2a57fb currently at object OpPCExp@763f5d currently at object Nonempty_PointCut_List@3a317a currently at object PointCut@6768e NEW PointCut starts ======== currently at object CFlow@519bc8 currently at object Nonempty_PointCut_List@4a8cd1 currently at object PointCut@630ab9 NEW PointCut starts ======== currently at object NotExp@551f60 currently at object CFlow@7ee8b8 currently at object This@60b6f5 currently at object Advice_List@bc49d currently at object Nonempty_Advice_List@195d80 currently at object Advice@49b9ca currently at object Nonempty_Advice_List@44aad3 currently at object Advice@2b28fe currently at object AndOrExp@105738 currently at object OpPCExp_List@4e5b1c currently at object Nonempty_OpPCExp_List@3fc93a currently at object OpPCExp@341960 currently at object Nonempty_OpPCExp_List@6e293a currently at object OpPCExp@54a328 ---------- New Traversal --------------- currently at object AspectJFragment@1adc30 currently at object PointCut_List@6df84b currently at object Nonempty_PointCut_List@4832d2 currently at object PointCut@8199 NEW PointCut starts ======== currently at object This@23d4cf currently at object Nonempty_PointCut_List@3c887b currently at object PointCut@246701 NEW PointCut starts ======== currently at object AndOrExp@66a22b currently at object OpPCExp_List@20cc56 currently at object Nonempty_OpPCExp_List@47393f currently at object OpPCExp@7f7a1e currently at object This@68a1f6 currently at object Nonempty_OpPCExp_List@2a57fb currently at object OpPCExp@763f5d currently at object Nonempty_PointCut_List@3a317a currently at object PointCut@6768e NEW PointCut starts ======== currently at object Nonempty_PointCut_List@4a8cd1 currently at object PointCut@630ab9 NEW PointCut starts ======== currently at object NotExp@551f60 currently at object Advice_List@bc49d currently at object Nonempty_Advice_List@195d80 currently at object Advice@49b9ca currently at object This@6152c5 currently at object Nonempty_Advice_List@44aad3 currently at object Advice@2b28fe currently at object AndOrExp@105738 currently at object OpPCExp_List@4e5b1c currently at object Nonempty_OpPCExp_List@3fc93a currently at object OpPCExp@341960 currently at object This@1319c currently at object Nonempty_OpPCExp_List@6e293a currently at object OpPCExp@54a328