// <editor-fold defaultstate="collapsed" desc="New and New Array Expressions">
private void emitNewExpression(final Expression expr) {
final NewExpression node = (NewExpression) expr;
final ConstructorInfo constructor = node.getConstructor();
if (constructor == null) {
assert node.getArguments().size() == 0
: "Node with arguments must have a constructor.";
assert node.getType().isPrimitive()
:
"Only primitive type may have no constructor set.";
generator.emitDefaultValue(node.getType());
return;
}
generator.emitNew(constructor.getDeclaringType());
generator.dup();
emitArguments(constructor, node);
generator.call(constructor);
}