Lines 84-90
Link Here
|
84 |
ReferenceBinding allocatedType = this.codegenBinding.declaringClass; |
84 |
ReferenceBinding allocatedType = this.codegenBinding.declaringClass; |
85 |
|
85 |
|
86 |
codeStream.new_(allocatedType); |
86 |
codeStream.new_(allocatedType); |
87 |
if (valueRequired) { |
87 |
boolean isUnboxing = (implicitConversion & TypeIds.UNBOXING) != 0; |
|
|
88 |
if (valueRequired || isUnboxing) { |
88 |
codeStream.dup(); |
89 |
codeStream.dup(); |
89 |
} |
90 |
} |
90 |
// better highlight for allocation: display the type individually |
91 |
// better highlight for allocation: display the type individually |
Lines 126-132
Link Here
|
126 |
} |
127 |
} |
127 |
codeStream.invokespecial(syntheticAccessor); |
128 |
codeStream.invokespecial(syntheticAccessor); |
128 |
} |
129 |
} |
129 |
codeStream.generateImplicitConversion(this.implicitConversion); |
130 |
codeStream.generateImplicitConversion(implicitConversion); |
|
|
131 |
if (!valueRequired && isUnboxing) { |
132 |
switch (postConversionType(currentScope).id) { |
133 |
case T_long : |
134 |
case T_double : |
135 |
codeStream.pop2(); |
136 |
break; |
137 |
default : |
138 |
codeStream.pop(); |
139 |
} |
140 |
} |
130 |
codeStream.recordPositionsFrom(pc, this.sourceStart); |
141 |
codeStream.recordPositionsFrom(pc, this.sourceStart); |
131 |
} |
142 |
} |
132 |
|
143 |
|