package testcase;

import java.util.Arrays;

import annotations.MUTABLE;

public class AGT114_This_ThisInstanceVariableArrayComponent {

	@MUTABLE
	public Object[] f = new Object[]{ new Object() };
	
	@Override
	public String toString() {
		return "AGT114_This_ThisInstanceVariableArrayComponent [f=" + Arrays.toString(f) + "]";
	}

	public void foo(){
		System.out.println(this.toString());
		this.f[0] = this;
		System.out.println(this.toString());
	}
	
	public static void main(String[] args) {
		AGT114_This_ThisInstanceVariableArrayComponent test = new AGT114_This_ThisInstanceVariableArrayComponent();
		test.foo();
	}

}

@@ -16,34 +16,8 @@
 e;%0A%0A
-import java.util.Arrays;%0A%0A
 impo
@@ -40,16 +40,16 @@
 UTABLE;%0A
+
 %0Apublic 
@@ -206,16 +206,180 @@
 ing() %7B%0A
+%09%09String arrayToString = %22%5B%22;%0A%09%09String prefix = %22%22;%0A%09%09for(Object o : f)%7B%0A%09%09%09arrayToString += (prefix + o.hashCode());%0A%09%09%09prefix = %22, %22;%0A%09%09%7D%0A%09%09arrayToString += %22%5D%22;%0A
 %09%09return
@@ -438,26 +438,21 @@
 %22 + 
-A
+a
 rray
-s.t
+T
 oString
-(f)
  + %22

fix for stack overflow