You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2011/04/14 00:23:26 UTC
svn commit: r1091948 - in /tapestry/tapestry5/trunk:
plastic/src/main/java/org/apache/tapestry5/internal/plastic/
plastic/src/main/java/org/apache/tapestry5/plastic/
tapestry-core/src/main/java/org/apache/tapestry5/internal/services/
tapestry-ioc/src/m...
Author: hlship
Date: Wed Apr 13 22:23:25 2011
New Revision: 1091948
URL: http://svn.apache.org/viewvc?rev=1091948&view=rev
Log:
TAP5-853: Rename InstructionBuilder.conditional() to when()
Added:
tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/WhenCallback.java
- copied, changed from r1091947, tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/ConditionCallback.java
Removed:
tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/ConditionCallback.java
Modified:
tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/InstructionBuilderImpl.java
tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassImpl.java
tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/Condition.java
tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/InstructionBuilder.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PropertyConduitSourceImpl.java
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/PropertyShadowBuilderImpl.java
Modified: tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/InstructionBuilderImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/InstructionBuilderImpl.java?rev=1091948&r1=1091947&r2=1091948&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/InstructionBuilderImpl.java (original)
+++ tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/InstructionBuilderImpl.java Wed Apr 13 22:23:25 2011
@@ -23,7 +23,7 @@ import org.apache.tapestry5.internal.pla
import org.apache.tapestry5.internal.plastic.asm.Opcodes;
import org.apache.tapestry5.internal.plastic.asm.Type;
import org.apache.tapestry5.plastic.Condition;
-import org.apache.tapestry5.plastic.ConditionCallback;
+import org.apache.tapestry5.plastic.WhenCallback;
import org.apache.tapestry5.plastic.InstructionBuilder;
import org.apache.tapestry5.plastic.InstructionBuilderCallback;
import org.apache.tapestry5.plastic.MethodDescription;
@@ -579,47 +579,16 @@ public class InstructionBuilderImpl exte
return this;
}
- public InstructionBuilder ifZero(InstructionBuilderCallback ifTrue, InstructionBuilderCallback ifFalse)
- {
- doConditional(IFEQ, ifTrue, ifFalse);
-
- return this;
- }
-
- public InstructionBuilder ifNull(InstructionBuilderCallback ifTrue, InstructionBuilderCallback ifFalse)
- {
- doConditional(IFNULL, ifTrue, ifFalse);
-
- return this;
- }
-
- private void doConditional(int opcode, InstructionBuilderCallback ifTrueCallback,
- InstructionBuilderCallback ifFalseCallback)
+ public InstructionBuilder when(Condition condition, final InstructionBuilderCallback ifTrue)
{
check();
- Label ifTrueLabel = new Label();
- Label endIfLabel = new Label();
-
- // Kind of clumsy code, but it will work.
+ assert ifTrue != null;
- v.visitJumpInsn(opcode, ifTrueLabel);
+ // This is nice for code coverage but could be more efficient, possibly generate
+ // more efficient bytecode, if it talked to the v directly.
- new InstructionBuilderImpl(state).doCallback(ifFalseCallback);
-
- v.visitJumpInsn(GOTO, endIfLabel);
- v.visitLabel(ifTrueLabel);
-
- new InstructionBuilderImpl(state).doCallback(ifTrueCallback);
-
- v.visitLabel(endIfLabel);
- }
-
- public InstructionBuilder conditional(Condition condition, final InstructionBuilderCallback ifTrue)
- {
- check();
-
- return conditional(condition, new ConditionCallback()
+ return when(condition, new WhenCallback()
{
public void ifTrue(InstructionBuilder builder)
{
@@ -632,10 +601,13 @@ public class InstructionBuilderImpl exte
});
}
- public InstructionBuilder conditional(Condition condition, ConditionCallback callback)
+ public InstructionBuilder when(Condition condition, WhenCallback callback)
{
check();
+ assert condition != null;
+ assert callback != null;
+
Label ifFalseLabel = new Label();
Label endIfLabel = new Label();
Modified: tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassImpl.java?rev=1091948&r1=1091947&r2=1091948&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassImpl.java (original)
+++ tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassImpl.java Wed Apr 13 22:23:25 2011
@@ -43,7 +43,7 @@ import org.apache.tapestry5.plastic.Anno
import org.apache.tapestry5.plastic.ClassInstantiator;
import org.apache.tapestry5.plastic.ComputedValue;
import org.apache.tapestry5.plastic.Condition;
-import org.apache.tapestry5.plastic.ConditionCallback;
+import org.apache.tapestry5.plastic.WhenCallback;
import org.apache.tapestry5.plastic.FieldConduit;
import org.apache.tapestry5.plastic.FieldHandle;
import org.apache.tapestry5.plastic.InstanceContext;
@@ -1311,7 +1311,7 @@ public class PlasticClassImpl extends Lo
{
builder.invoke(MethodInvocation.class, boolean.class, "didThrowCheckedException");
- builder.conditional(Condition.NON_ZERO, new InstructionBuilderCallback()
+ builder.when(Condition.NON_ZERO, new InstructionBuilderCallback()
{
public void doBuild(InstructionBuilder builder)
{
Modified: tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/Condition.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/Condition.java?rev=1091948&r1=1091947&r2=1091948&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/Condition.java (original)
+++ tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/Condition.java Wed Apr 13 22:23:25 2011
@@ -15,7 +15,7 @@
package org.apache.tapestry5.plastic;
/**
- * Condition used with {@link InstructionBuilder#conditional(Condition, ConditionCallback)}.
+ * Condition used with {@link InstructionBuilder#when(Condition, WhenCallback)}.
*/
public enum Condition
{
Modified: tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/InstructionBuilder.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/InstructionBuilder.java?rev=1091948&r1=1091947&r2=1091948&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/InstructionBuilder.java (original)
+++ tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/InstructionBuilder.java Wed Apr 13 22:23:25 2011
@@ -396,10 +396,10 @@ public interface InstructionBuilder
* @return this builder
*/
@Opcodes("IFEQ, etc., GOTO")
- InstructionBuilder conditional(Condition condition, ConditionCallback callback);
+ InstructionBuilder when(Condition condition, WhenCallback callback);
/**
- * Simplified version of {@link #conditional(Condition, ConditionCallback)} that
+ * Simplified version of {@link #when(Condition, WhenCallback)} that
* simply executes the callback code when the condition is true and does nothing
* if the condition is false (the more general case).
* <p>
@@ -412,6 +412,6 @@ public interface InstructionBuilder
* @return
*/
@Opcodes("IFEQ, etc., GOTO")
- InstructionBuilder conditional(Condition condition, InstructionBuilderCallback ifTrue);
+ InstructionBuilder when(Condition condition, InstructionBuilderCallback ifTrue);
}
Copied: tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/WhenCallback.java (from r1091947, tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/ConditionCallback.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/WhenCallback.java?p2=tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/WhenCallback.java&p1=tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/ConditionCallback.java&r1=1091947&r2=1091948&rev=1091948&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/ConditionCallback.java (original)
+++ tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/WhenCallback.java Wed Apr 13 22:23:25 2011
@@ -15,9 +15,9 @@
package org.apache.tapestry5.plastic;
/**
- * Used with {@link InstructionBuilder#conditional(Condition, ConditionCallback)}.
+ * Used with {@link InstructionBuilder#when(Condition, WhenCallback)}.
*/
-public interface ConditionCallback
+public interface WhenCallback
{
/** Generates code for when the condition is true. */
void ifTrue(InstructionBuilder builder);
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PropertyConduitSourceImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PropertyConduitSourceImpl.java?rev=1091948&r1=1091947&r2=1091948&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PropertyConduitSourceImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PropertyConduitSourceImpl.java Wed Apr 13 22:23:25 2011
@@ -68,7 +68,7 @@ import org.apache.tapestry5.ioc.util.Ava
import org.apache.tapestry5.ioc.util.BodyBuilder;
import org.apache.tapestry5.ioc.util.UnknownValueException;
import org.apache.tapestry5.plastic.Condition;
-import org.apache.tapestry5.plastic.ConditionCallback;
+import org.apache.tapestry5.plastic.WhenCallback;
import org.apache.tapestry5.plastic.InstructionBuilder;
import org.apache.tapestry5.plastic.InstructionBuilderCallback;
import org.apache.tapestry5.plastic.MethodDescription;
@@ -415,7 +415,7 @@ public class PropertyConduitSourceImpl i
public void doBuild(InstructionBuilder builder)
{
builder.loadArgument(0).dupe(0);
- builder.conditional(Condition.NULL, new InstructionBuilderCallback()
+ builder.when(Condition.NULL, new InstructionBuilderCallback()
{
public void doBuild(InstructionBuilder builder)
{
@@ -804,7 +804,7 @@ public class PropertyConduitSourceImpl i
public void returnResultIfNull(InstructionBuilder builder)
{
- builder.dupe(0).conditional(Condition.NULL, new InstructionBuilderCallback()
+ builder.dupe(0).when(Condition.NULL, new InstructionBuilderCallback()
{
public void doBuild(InstructionBuilder builder)
{
@@ -1516,7 +1516,7 @@ public class PropertyConduitSourceImpl i
createPlasticMethodInvocation(builder, term, method, info);
}
- builder.dupe(0).conditional(Condition.NULL, new InstructionBuilderCallback()
+ builder.dupe(0).when(Condition.NULL, new InstructionBuilderCallback()
{
public void doBuild(InstructionBuilder builder)
{
Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/PropertyShadowBuilderImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/PropertyShadowBuilderImpl.java?rev=1091948&r1=1091947&r2=1091948&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/PropertyShadowBuilderImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/PropertyShadowBuilderImpl.java Wed Apr 13 22:23:25 2011
@@ -24,7 +24,7 @@ import org.apache.tapestry5.ioc.services
import org.apache.tapestry5.ioc.services.PropertyShadowBuilder;
import org.apache.tapestry5.plastic.ClassInstantiator;
import org.apache.tapestry5.plastic.Condition;
-import org.apache.tapestry5.plastic.ConditionCallback;
+import org.apache.tapestry5.plastic.WhenCallback;
import org.apache.tapestry5.plastic.InstructionBuilder;
import org.apache.tapestry5.plastic.InstructionBuilderCallback;
import org.apache.tapestry5.plastic.MethodDescription;
@@ -86,7 +86,7 @@ public class PropertyShadowBuilderImpl i
// Now add the null check.
- builder.dupe(0).conditional(Condition.NULL, new InstructionBuilderCallback()
+ builder.dupe(0).when(Condition.NULL, new InstructionBuilderCallback()
{
public void doBuild(InstructionBuilder builder)
{