From aa68099bb252dd1a1c275459f8babe537868bcaf Mon Sep 17 00:00:00 2001 From: jeff Date: Sun, 14 Sep 2014 19:06:55 -0400 Subject: fixed bug with method references pointing to wrong class --- test/cuchaz/enigma/inputs/inheritanceTree/BaseClass.java | 5 +++++ test/cuchaz/enigma/inputs/inheritanceTree/SubclassA.java | 3 +++ test/cuchaz/enigma/inputs/inheritanceTree/SubclassB.java | 11 ++++++++++- test/cuchaz/enigma/inputs/inheritanceTree/SubsubclassAA.java | 6 ++++++ 4 files changed, 24 insertions(+), 1 deletion(-) (limited to 'test/cuchaz/enigma/inputs/inheritanceTree') diff --git a/test/cuchaz/enigma/inputs/inheritanceTree/BaseClass.java b/test/cuchaz/enigma/inputs/inheritanceTree/BaseClass.java index a6b3845..8402dde 100644 --- a/test/cuchaz/enigma/inputs/inheritanceTree/BaseClass.java +++ b/test/cuchaz/enigma/inputs/inheritanceTree/BaseClass.java @@ -1,18 +1,23 @@ package cuchaz.enigma.inputs.inheritanceTree; +// none/a public abstract class BaseClass { + // a private String m_name; + // (Ljava/lang/String;)V protected BaseClass( String name ) { m_name = name; } + // a()Ljava/lang/String; public String getName( ) { return m_name; } + // a()V public abstract void doBaseThings( ); } diff --git a/test/cuchaz/enigma/inputs/inheritanceTree/SubclassA.java b/test/cuchaz/enigma/inputs/inheritanceTree/SubclassA.java index f4780a2..ed50709 100644 --- a/test/cuchaz/enigma/inputs/inheritanceTree/SubclassA.java +++ b/test/cuchaz/enigma/inputs/inheritanceTree/SubclassA.java @@ -1,9 +1,12 @@ package cuchaz.enigma.inputs.inheritanceTree; +// none/b extends none/a public abstract class SubclassA extends BaseClass { + // (Ljava/lang/String;)V protected SubclassA( String name ) { + // call to none/a.(Ljava/lang/String)V super( name ); } } diff --git a/test/cuchaz/enigma/inputs/inheritanceTree/SubclassB.java b/test/cuchaz/enigma/inputs/inheritanceTree/SubclassB.java index 4001e7a..fc4c8ee 100644 --- a/test/cuchaz/enigma/inputs/inheritanceTree/SubclassB.java +++ b/test/cuchaz/enigma/inputs/inheritanceTree/SubclassB.java @@ -1,24 +1,33 @@ package cuchaz.enigma.inputs.inheritanceTree; +// none/c extends none/a public class SubclassB extends BaseClass { + // a private int m_numThings; + // ()V protected SubclassB( ) { + // none/a.(Ljava/lang/String;)V super( "B" ); + // access to a m_numThings = 4; } @Override + // a()V public void doBaseThings( ) { - System.out.println( "Base things by B!" ); + // call to none/a.a()Ljava/lang/String; + System.out.println( "Base things by B! " + getName() ); } + // b()V public void doBThings( ) { + // access to a System.out.println( "" + m_numThings + " B things!" ); } } diff --git a/test/cuchaz/enigma/inputs/inheritanceTree/SubsubclassAA.java b/test/cuchaz/enigma/inputs/inheritanceTree/SubsubclassAA.java index 11196d1..b3b8342 100644 --- a/test/cuchaz/enigma/inputs/inheritanceTree/SubsubclassAA.java +++ b/test/cuchaz/enigma/inputs/inheritanceTree/SubsubclassAA.java @@ -1,21 +1,27 @@ package cuchaz.enigma.inputs.inheritanceTree; +// none/d extends none/b public class SubsubclassAA extends SubclassA { protected SubsubclassAA( ) { + // call to none/b.(Ljava/lang/String;)V super( "AA" ); } @Override + // a()Ljava/lang/String; public String getName( ) { + // call to none/b.a()Ljava/lang/String; return "subsub" + super.getName(); } @Override + // a()V public void doBaseThings( ) { + // call to none/d.a()Ljava/lang/String; System.out.println( "Base things by " + getName() ); } } -- cgit v1.2.3