aboutsummaryrefslogtreecommitdiff
path: root/src/share/classes/java/lang/invoke/LambdaFormBuffer.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/share/classes/java/lang/invoke/LambdaFormBuffer.java')
-rw-r--r--src/share/classes/java/lang/invoke/LambdaFormBuffer.java15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/share/classes/java/lang/invoke/LambdaFormBuffer.java b/src/share/classes/java/lang/invoke/LambdaFormBuffer.java
index 872a2a5992..cdc88be325 100644
--- a/src/share/classes/java/lang/invoke/LambdaFormBuffer.java
+++ b/src/share/classes/java/lang/invoke/LambdaFormBuffer.java
@@ -46,19 +46,16 @@ final class LambdaFormBuffer {
private static final int F_TRANS = 0x10, F_OWNED = 0x03;
LambdaFormBuffer(LambdaForm lf) {
- this(lf.arity, lf.names, lf.result);
+ this.arity = lf.arity;
+ setNames(lf.names);
+ int result = lf.result;
+ if (result == LAST_RESULT) result = length - 1;
+ if (result >= 0 && lf.names[result].type != V_TYPE)
+ resultName = lf.names[result];
debugName = lf.debugName;
assert(lf.nameRefsAreLegal());
}
- private LambdaFormBuffer(int arity, Name[] names, int result) {
- this.arity = arity;
- setNames(names);
- if (result == LAST_RESULT) result = length - 1;
- if (result >= 0 && names[result].type != V_TYPE)
- resultName = names[result];
- }
-
private LambdaForm lambdaForm() {
assert(!inTrans()); // need endEdit call to tidy things up
return new LambdaForm(debugName, arity, nameArray(), resultIndex());