<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Feedback regarding Java &#8216;yield&#8217;</title>
	<atom:link href="http://chaoticjava.com/posts/feedback-regarding-java-yield/feed/" rel="self" type="application/rss+xml" />
	<link>http://chaoticjava.com/posts/feedback-regarding-java-yield/</link>
	<description>The internet, design patterns, frameworks and Java</description>
	<lastBuildDate>Wed, 08 Sep 2010 10:18:29 -0700</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: Chaotic Java &#187; Yielder: Eclipse bug revealed, newsgroup created</title>
		<link>http://chaoticjava.com/posts/feedback-regarding-java-yield/comment-page-1/#comment-7948</link>
		<dc:creator>Chaotic Java &#187; Yielder: Eclipse bug revealed, newsgroup created</dc:creator>
		<pubDate>Sun, 19 Aug 2007 04:06:13 +0000</pubDate>
		<guid isPermaLink="false">http://chaoticjava.com/posts/feedback-regarding-java-yield/#comment-7948</guid>
		<description>[...] For some people the Yielder test cases didn&#8217;t pass properly. Readers Hanson Char and Michael Barker found a bug, which is either caused by the different OS used or the different compiler used (Windows vs. Linux/Mac, or Eclipse vs. Sun/Apple compiler). [...]</description>
		<content:encoded><![CDATA[<p>[...] For some people the Yielder test cases didn&#8217;t pass properly. Readers Hanson Char and Michael Barker found a bug, which is either caused by the different OS used or the different compiler used (Windows vs. Linux/Mac, or Eclipse vs. Sun/Apple compiler). [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Avah</title>
		<link>http://chaoticjava.com/posts/feedback-regarding-java-yield/comment-page-1/#comment-7947</link>
		<dc:creator>Avah</dc:creator>
		<pubDate>Sun, 19 Aug 2007 03:38:18 +0000</pubDate>
		<guid isPermaLink="false">http://chaoticjava.com/posts/feedback-regarding-java-yield/#comment-7947</guid>
		<description>Wow, thanks! Can you describe the bug in the issues section of the project?</description>
		<content:encoded><![CDATA[<p>Wow, thanks! Can you describe the bug in the issues section of the project?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Barker</title>
		<link>http://chaoticjava.com/posts/feedback-regarding-java-yield/comment-page-1/#comment-7921</link>
		<dc:creator>Michael Barker</dc:creator>
		<pubDate>Sat, 18 Aug 2007 21:16:13 +0000</pubDate>
		<guid isPermaLink="false">http://chaoticjava.com/posts/feedback-regarding-java-yield/#comment-7921</guid>
		<description>Okay, figured it out.  It is caused by the eclipse compiler.  It generates slightly different bytecode for the foreach loop to the sun compiler.  I.e. with the eclipse compiler it does not trigger local variable declarations, therefore when searchMember is called on the LocalVariableMapper, it can&#039;t &quot;see&quot; the generated variables.

I can work around this.  As I figure out the code I will try to put together a patch.

Mike</description>
		<content:encoded><![CDATA[<p>Okay, figured it out.  It is caused by the eclipse compiler.  It generates slightly different bytecode for the foreach loop to the sun compiler.  I.e. with the eclipse compiler it does not trigger local variable declarations, therefore when searchMember is called on the LocalVariableMapper, it can&#8217;t &#8220;see&#8221; the generated variables.</p>
<p>I can work around this.  As I figure out the code I will try to put together a patch.</p>
<p>Mike</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Avah</title>
		<link>http://chaoticjava.com/posts/feedback-regarding-java-yield/comment-page-1/#comment-7918</link>
		<dc:creator>Avah</dc:creator>
		<pubDate>Sat, 18 Aug 2007 19:03:07 +0000</pubDate>
		<guid isPermaLink="false">http://chaoticjava.com/posts/feedback-regarding-java-yield/#comment-7918</guid>
		<description>There was an issue with &quot;foreach&quot; style loops when nested. The problem was that the compiled iterators (i$, usually) had the same name in different scopes, something I did not anticipate. 

That bug was fixed, but there might be others. You might be interested in the previous one&#039;s details &lt;a href=&quot;http://code.google.com/p/infomancers-collections/issues/detail?id=5&amp;can=1&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.

If you&#039;re already debugging (and thank you very much for that!), try to verify it happens in normal, non-nested loops as well. It really narrows the problem down.</description>
		<content:encoded><![CDATA[<p>There was an issue with &#8220;foreach&#8221; style loops when nested. The problem was that the compiled iterators (i$, usually) had the same name in different scopes, something I did not anticipate. </p>
<p>That bug was fixed, but there might be others. You might be interested in the previous one&#8217;s details <a href="http://code.google.com/p/infomancers-collections/issues/detail?id=5&#038;can=1" rel="nofollow">here</a>.</p>
<p>If you&#8217;re already debugging (and thank you very much for that!), try to verify it happens in normal, non-nested loops as well. It really narrows the problem down.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Barker</title>
		<link>http://chaoticjava.com/posts/feedback-regarding-java-yield/comment-page-1/#comment-7917</link>
		<dc:creator>Michael Barker</dc:creator>
		<pubDate>Sat, 18 Aug 2007 18:58:13 +0000</pubDate>
		<guid isPermaLink="false">http://chaoticjava.com/posts/feedback-regarding-java-yield/#comment-7917</guid>
		<description>It seems to be related to foreach style for loop.  I  changed it too a started for loop using a index int and it worked.

I&#039;m going to continue debugging.</description>
		<content:encoded><![CDATA[<p>It seems to be related to foreach style for loop.  I  changed it too a started for loop using a index int and it worked.</p>
<p>I&#8217;m going to continue debugging.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Avah</title>
		<link>http://chaoticjava.com/posts/feedback-regarding-java-yield/comment-page-1/#comment-7914</link>
		<dc:creator>Avah</dc:creator>
		<pubDate>Sat, 18 Aug 2007 18:15:19 +0000</pubDate>
		<guid isPermaLink="false">http://chaoticjava.com/posts/feedback-regarding-java-yield/#comment-7914</guid>
		<description>Since I didn&#039;t get the chance of debugging into it yet (apparently it&#039;s an OS issue of some sort), would you say that it&#039;s a matter of nested loops or any loops?

The idea for a google group is a good one. I&#039;ll start one and post about it soon.</description>
		<content:encoded><![CDATA[<p>Since I didn&#8217;t get the chance of debugging into it yet (apparently it&#8217;s an OS issue of some sort), would you say that it&#8217;s a matter of nested loops or any loops?</p>
<p>The idea for a google group is a good one. I&#8217;ll start one and post about it soon.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Barker</title>
		<link>http://chaoticjava.com/posts/feedback-regarding-java-yield/comment-page-1/#comment-7910</link>
		<dc:creator>Michael Barker</dc:creator>
		<pubDate>Sat, 18 Aug 2007 17:08:50 +0000</pubDate>
		<guid isPermaLink="false">http://chaoticjava.com/posts/feedback-regarding-java-yield/#comment-7910</guid>
		<description>Hi,

I am really interested in using this tool.  I am running into the error mentioned in the first blog post using the code from SVN.  It seems to struggle with yields within loops.

Would you consider creating a google group for discussions around Yielder?

Mike.</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>I am really interested in using this tool.  I am running into the error mentioned in the first blog post using the code from SVN.  It seems to struggle with yields within loops.</p>
<p>Would you consider creating a google group for discussions around Yielder?</p>
<p>Mike.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hanson Char</title>
		<link>http://chaoticjava.com/posts/feedback-regarding-java-yield/comment-page-1/#comment-7670</link>
		<dc:creator>Hanson Char</dc:creator>
		<pubDate>Tue, 14 Aug 2007 17:37:16 +0000</pubDate>
		<guid isPermaLink="false">http://chaoticjava.com/posts/feedback-regarding-java-yield/#comment-7670</guid>
		<description>&gt;it worked when I ran it with the junit test

I meant when I ran it with the junit test from within Eclipse 3.1.2.</description>
		<content:encoded><![CDATA[<p>&gt;it worked when I ran it with the junit test</p>
<p>I meant when I ran it with the junit test from within Eclipse 3.1.2.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hanson Char</title>
		<link>http://chaoticjava.com/posts/feedback-regarding-java-yield/comment-page-1/#comment-7669</link>
		<dc:creator>Hanson Char</dc:creator>
		<pubDate>Tue, 14 Aug 2007 17:35:58 +0000</pubDate>
		<guid isPermaLink="false">http://chaoticjava.com/posts/feedback-regarding-java-yield/#comment-7669</guid>
		<description>The JUnit didn&#039;t work and that&#039;s what motivated me to put in a simple main method in the 1st place.

I tried the javaagent:yielder-0.1.1.jar=debug, it didn&#039;t make a difference on the command line, but it worked when I ran it with the junit test.

The complete output is pretty verbose.  I can post it here, but probably less of a nuisance if I  emailed to you, but I don&#039;t know your email address.  So just post an fragment below.  Hope that helps.

// class version 49.0 (49)
// access flags 48
// signature Lcom/infomancers/collections/yield/Yielder;
// declaration: com/infomancers/tests/YielderTests$3 extends com.infomancers.collections.yield.Yielder
final class com/infomancers/tests/YielderTests$3 extends com/infomancers/collections/yield/Yielder  {

  // compiled from: YielderTests.java
  OUTERCLASS com/infomancers/tests/YielderTests someStrings ()V
  // access flags 18
  private final INNERCLASS com/infomancers/tests/YielderTests$3 null null

  // access flags 4112
  final Lcom/infomancers/tests/YielderTests; this$0

  // access flags 0
  (Lcom/infomancers/tests/YielderTests;)V
   L0
    LINENUMBER 1 L0
    ALOAD 0
    ALOAD 1
    PUTFIELD com/infomancers/tests/YielderTests$3.this$0 : Lcom/infomancers/tests/YielderTests;
   L1
    LINENUMBER 71 L1
    ALOAD 0
    INVOKESPECIAL com/infomancers/collections/yield/Yielder. ()V
    RETURN
   L2
    LOCALVARIABLE this Lcom/infomancers/tests/YielderTests$3; L0 L2 0
    MAXSTACK = 2
    MAXLOCALS = 2

  // access flags 4
  protected yieldNextCore()V
   L0
    LINENUMBER 74 L0
    ALOAD 0
    LDC &quot;This&quot;
    INVOKEVIRTUAL com/infomancers/tests/YielderTests$3.yieldReturn (Ljava/lang/Object;)V
   L1
    LINENUMBER 75 L1
    ALOAD 0
    LDC &quot;Is&quot;
    INVOKEVIRTUAL com/infomancers/tests/YielderTests$3.yieldReturn (Ljava/lang/Object;)V
   L2
    LINENUMBER 76 L2
    ALOAD 0
    LDC &quot;Great&quot;
    INVOKEVIRTUAL com/infomancers/tests/YielderTests$3.yieldReturn (Ljava/lang/Object;)V
   L3
    LINENUMBER 77 L3
    RETURN
   L4
    LOCALVARIABLE this Lcom/infomancers/tests/YielderTests$3; L0 L4 0
    MAXSTACK = 2
    MAXLOCALS = 1
}
// class version 49.0 (49)
// access flags 48
// signature Lcom/infomancers/collections/yield/Yielder;
// declaration: com/infomancers/tests/YielderTests$3 extends com.infomancers.collections.yield.Yielder
final class com/infomancers/tests/YielderTests$3 extends com/infomancers/collections/yield/Yielder  {

  // compiled from: YielderTests.java
  OUTERCLASS com/infomancers/tests/YielderTests someStrings ()V
  // access flags 18
  private final INNERCLASS com/infomancers/tests/YielderTests$3 null null

  // access flags 4112
  final Lcom/infomancers/tests/YielderTests; this$0

  // access flags 0
  (Lcom/infomancers/tests/YielderTests;)V
   L0
    LINENUMBER 1 L0
    ALOAD 0
    ALOAD 1
    PUTFIELD com/infomancers/tests/YielderTests$3.this$0 : Lcom/infomancers/tests/YielderTests;
   L1
    LINENUMBER 71 L1
    ALOAD 0
    INVOKESPECIAL com/infomancers/collections/yield/Yielder. ()V
    RETURN
   L2
    LOCALVARIABLE this Lcom/infomancers/tests/YielderTests$3; L0 L2 0
    MAXSTACK = 2
    MAXLOCALS = 2

  // access flags 4
  protected yieldNextCore()V
    ALOAD 0
    GETFIELD com/infomancers/tests/YielderTests$3.state : B
    TABLESWITCH
      1: L0
      2: L1
      3: L2
      default: L3
   L3
   L4
    LINENUMBER 74 L4
    ALOAD 0
    LDC &quot;This&quot;
    INVOKEVIRTUAL com/infomancers/tests/YielderTests$3.yieldReturn (Ljava/lang/Object;)V
    ALOAD 0
    BIPUSH 1
    PUTFIELD com/infomancers/tests/YielderTests$3.state : B
    RETURN
   L0
   L5
    LINENUMBER 75 L5
    ALOAD 0
    LDC &quot;Is&quot;
    INVOKEVIRTUAL com/infomancers/tests/YielderTests$3.yieldReturn (Ljava/lang/Object;)V
    ALOAD 0
    BIPUSH 2
    PUTFIELD com/infomancers/tests/YielderTests$3.state : B
    RETURN
   L1
   L6
    LINENUMBER 76 L6
    ALOAD 0
    LDC &quot;Great&quot;
    INVOKEVIRTUAL com/infomancers/tests/YielderTests$3.yieldReturn (Ljava/lang/Object;)V
    ALOAD 0
    BIPUSH 3
    PUTFIELD com/infomancers/tests/YielderTests$3.state : B
    RETURN
   L2
   L7
    LINENUMBER 77 L7
    RETURN
   L8
    LOCALVARIABLE this Lcom/infomancers/tests/YielderTests$3; L4 L8 0
    MAXSTACK = 2
    MAXLOCALS = 1

  // access flags 2
  // signature Lcom/infomancers/tests/YielderTests$3;
  // declaration: com.infomancers.tests.YielderTests$3
  private Lcom/infomancers/tests/YielderTests$3; this$promoted$0$4

  // access flags 2
  // signature B
  // declaration: byte
  private B state
}
java.util.NoSuchElementException
	at java.util.LinkedList.remove(LinkedList.java:788)
	at java.util.LinkedList.removeFirst(LinkedList.java:134)
	at java.util.LinkedList.remove(LinkedList.java:481)
	at com.infomancers.collections.yield.asm.LocalVariablePromoter$MyMethodAdapter.dealWithLoads(LocalVariablePromoter.java:125)
	at com.infomancers.collections.yield.asm.LocalVariablePromoter$MyMethodAdapter.visitLabel(LocalVariablePromoter.java:103)
	at org.objectweb.asm.ClassReader.accept(Unknown Source)
	at org.objectweb.asm.ClassReader.accept(Unknown Source)
	at com.infomancers.collections.yield.asm.YielderTransformer.enhanceClass(YielderTransformer.java:112)
	at com.infomancers.collections.yield.asm.YielderTransformer.transform(YielderTransformer.java:88)
	at sun.instrument.TransformerManager.transform(TransformerManager.java:169)
	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:365)
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
	at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
	at com.infomancers.tests.YielderTests.someStrings(YielderTests.java:71)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
	at org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
	at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
	at org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
	at org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
	at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:71)
	at org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35)
	at org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)// class version 49.0 (49)</description>
		<content:encoded><![CDATA[<p>The JUnit didn&#8217;t work and that&#8217;s what motivated me to put in a simple main method in the 1st place.</p>
<p>I tried the javaagent:yielder-0.1.1.jar=debug, it didn&#8217;t make a difference on the command line, but it worked when I ran it with the junit test.</p>
<p>The complete output is pretty verbose.  I can post it here, but probably less of a nuisance if I  emailed to you, but I don&#8217;t know your email address.  So just post an fragment below.  Hope that helps.</p>
<p>// class version 49.0 (49)<br />
// access flags 48<br />
// signature Lcom/infomancers/collections/yield/Yielder;<br />
// declaration: com/infomancers/tests/YielderTests$3 extends com.infomancers.collections.yield.Yielder<br />
final class com/infomancers/tests/YielderTests$3 extends com/infomancers/collections/yield/Yielder  {</p>
<p>  // compiled from: YielderTests.java<br />
  OUTERCLASS com/infomancers/tests/YielderTests someStrings ()V<br />
  // access flags 18<br />
  private final INNERCLASS com/infomancers/tests/YielderTests$3 null null</p>
<p>  // access flags 4112<br />
  final Lcom/infomancers/tests/YielderTests; this$0</p>
<p>  // access flags 0<br />
  (Lcom/infomancers/tests/YielderTests;)V<br />
   L0<br />
    LINENUMBER 1 L0<br />
    ALOAD 0<br />
    ALOAD 1<br />
    PUTFIELD com/infomancers/tests/YielderTests$3.this$0 : Lcom/infomancers/tests/YielderTests;<br />
   L1<br />
    LINENUMBER 71 L1<br />
    ALOAD 0<br />
    INVOKESPECIAL com/infomancers/collections/yield/Yielder. ()V<br />
    RETURN<br />
   L2<br />
    LOCALVARIABLE this Lcom/infomancers/tests/YielderTests$3; L0 L2 0<br />
    MAXSTACK = 2<br />
    MAXLOCALS = 2</p>
<p>  // access flags 4<br />
  protected yieldNextCore()V<br />
   L0<br />
    LINENUMBER 74 L0<br />
    ALOAD 0<br />
    LDC &#8220;This&#8221;<br />
    INVOKEVIRTUAL com/infomancers/tests/YielderTests$3.yieldReturn (Ljava/lang/Object;)V<br />
   L1<br />
    LINENUMBER 75 L1<br />
    ALOAD 0<br />
    LDC &#8220;Is&#8221;<br />
    INVOKEVIRTUAL com/infomancers/tests/YielderTests$3.yieldReturn (Ljava/lang/Object;)V<br />
   L2<br />
    LINENUMBER 76 L2<br />
    ALOAD 0<br />
    LDC &#8220;Great&#8221;<br />
    INVOKEVIRTUAL com/infomancers/tests/YielderTests$3.yieldReturn (Ljava/lang/Object;)V<br />
   L3<br />
    LINENUMBER 77 L3<br />
    RETURN<br />
   L4<br />
    LOCALVARIABLE this Lcom/infomancers/tests/YielderTests$3; L0 L4 0<br />
    MAXSTACK = 2<br />
    MAXLOCALS = 1<br />
}<br />
// class version 49.0 (49)<br />
// access flags 48<br />
// signature Lcom/infomancers/collections/yield/Yielder;<br />
// declaration: com/infomancers/tests/YielderTests$3 extends com.infomancers.collections.yield.Yielder<br />
final class com/infomancers/tests/YielderTests$3 extends com/infomancers/collections/yield/Yielder  {</p>
<p>  // compiled from: YielderTests.java<br />
  OUTERCLASS com/infomancers/tests/YielderTests someStrings ()V<br />
  // access flags 18<br />
  private final INNERCLASS com/infomancers/tests/YielderTests$3 null null</p>
<p>  // access flags 4112<br />
  final Lcom/infomancers/tests/YielderTests; this$0</p>
<p>  // access flags 0<br />
  (Lcom/infomancers/tests/YielderTests;)V<br />
   L0<br />
    LINENUMBER 1 L0<br />
    ALOAD 0<br />
    ALOAD 1<br />
    PUTFIELD com/infomancers/tests/YielderTests$3.this$0 : Lcom/infomancers/tests/YielderTests;<br />
   L1<br />
    LINENUMBER 71 L1<br />
    ALOAD 0<br />
    INVOKESPECIAL com/infomancers/collections/yield/Yielder. ()V<br />
    RETURN<br />
   L2<br />
    LOCALVARIABLE this Lcom/infomancers/tests/YielderTests$3; L0 L2 0<br />
    MAXSTACK = 2<br />
    MAXLOCALS = 2</p>
<p>  // access flags 4<br />
  protected yieldNextCore()V<br />
    ALOAD 0<br />
    GETFIELD com/infomancers/tests/YielderTests$3.state : B<br />
    TABLESWITCH<br />
      1: L0<br />
      2: L1<br />
      3: L2<br />
      default: L3<br />
   L3<br />
   L4<br />
    LINENUMBER 74 L4<br />
    ALOAD 0<br />
    LDC &#8220;This&#8221;<br />
    INVOKEVIRTUAL com/infomancers/tests/YielderTests$3.yieldReturn (Ljava/lang/Object;)V<br />
    ALOAD 0<br />
    BIPUSH 1<br />
    PUTFIELD com/infomancers/tests/YielderTests$3.state : B<br />
    RETURN<br />
   L0<br />
   L5<br />
    LINENUMBER 75 L5<br />
    ALOAD 0<br />
    LDC &#8220;Is&#8221;<br />
    INVOKEVIRTUAL com/infomancers/tests/YielderTests$3.yieldReturn (Ljava/lang/Object;)V<br />
    ALOAD 0<br />
    BIPUSH 2<br />
    PUTFIELD com/infomancers/tests/YielderTests$3.state : B<br />
    RETURN<br />
   L1<br />
   L6<br />
    LINENUMBER 76 L6<br />
    ALOAD 0<br />
    LDC &#8220;Great&#8221;<br />
    INVOKEVIRTUAL com/infomancers/tests/YielderTests$3.yieldReturn (Ljava/lang/Object;)V<br />
    ALOAD 0<br />
    BIPUSH 3<br />
    PUTFIELD com/infomancers/tests/YielderTests$3.state : B<br />
    RETURN<br />
   L2<br />
   L7<br />
    LINENUMBER 77 L7<br />
    RETURN<br />
   L8<br />
    LOCALVARIABLE this Lcom/infomancers/tests/YielderTests$3; L4 L8 0<br />
    MAXSTACK = 2<br />
    MAXLOCALS = 1</p>
<p>  // access flags 2<br />
  // signature Lcom/infomancers/tests/YielderTests$3;<br />
  // declaration: com.infomancers.tests.YielderTests$3<br />
  private Lcom/infomancers/tests/YielderTests$3; this$promoted$0$4</p>
<p>  // access flags 2<br />
  // signature B<br />
  // declaration: byte<br />
  private B state<br />
}<br />
java.util.NoSuchElementException<br />
	at java.util.LinkedList.remove(LinkedList.java:788)<br />
	at java.util.LinkedList.removeFirst(LinkedList.java:134)<br />
	at java.util.LinkedList.remove(LinkedList.java:481)<br />
	at com.infomancers.collections.yield.asm.LocalVariablePromoter$MyMethodAdapter.dealWithLoads(LocalVariablePromoter.java:125)<br />
	at com.infomancers.collections.yield.asm.LocalVariablePromoter$MyMethodAdapter.visitLabel(LocalVariablePromoter.java:103)<br />
	at org.objectweb.asm.ClassReader.accept(Unknown Source)<br />
	at org.objectweb.asm.ClassReader.accept(Unknown Source)<br />
	at com.infomancers.collections.yield.asm.YielderTransformer.enhanceClass(YielderTransformer.java:112)<br />
	at com.infomancers.collections.yield.asm.YielderTransformer.transform(YielderTransformer.java:88)<br />
	at sun.instrument.TransformerManager.transform(TransformerManager.java:169)<br />
	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:365)<br />
	at java.lang.ClassLoader.defineClass1(Native Method)<br />
	at java.lang.ClassLoader.defineClass(ClassLoader.java:620)<br />
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)<br />
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)<br />
	at java.net.URLClassLoader.access$000(URLClassLoader.java:56)<br />
	at java.net.URLClassLoader$1.run(URLClassLoader.java:195)<br />
	at java.security.AccessController.doPrivileged(Native Method)<br />
	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)<br />
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)<br />
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)<br />
	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)<br />
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)<br />
	at com.infomancers.tests.YielderTests.someStrings(YielderTests.java:71)<br />
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
	at java.lang.reflect.Method.invoke(Method.java:597)<br />
	at org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)<br />
	at org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)<br />
	at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)<br />
	at org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)<br />
	at org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)<br />
	at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:71)<br />
	at org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35)<br />
	at org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)// class version 49.0 (49)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Avah</title>
		<link>http://chaoticjava.com/posts/feedback-regarding-java-yield/comment-page-1/#comment-7649</link>
		<dc:creator>Avah</dc:creator>
		<pubDate>Tue, 14 Aug 2007 07:36:58 +0000</pubDate>
		<guid isPermaLink="false">http://chaoticjava.com/posts/feedback-regarding-java-yield/#comment-7649</guid>
		<description>Whoa!

Did the JUnit itself work (after configuring it to run with the agent?)

Also, can you please try to run it using -javaagent:yielder-0.1.1.jar=debug? it will output the bytecode (before and after the manipulation) and it will make it easier to debug.</description>
		<content:encoded><![CDATA[<p>Whoa!</p>
<p>Did the JUnit itself work (after configuring it to run with the agent?)</p>
<p>Also, can you please try to run it using -javaagent:yielder-0.1.1.jar=debug? it will output the bytecode (before and after the manipulation) and it will make it easier to debug.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
