# HG changeset patch # User Jaroslav Tulach # Date 1354054882 -3600 # Node ID 66b552a2e108d8c73d46cf5930be93e68dcfb77b # Parent bcbaed2a6627804fc2f92fb01dc1c9fd8dae81d7 Eliminating the need to initialize the prototype in advance diff -r bcbaed2a6627 -r 66b552a2e108 vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java --- a/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Tue Nov 27 23:01:24 2012 +0100 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Tue Nov 27 23:21:22 2012 +0100 @@ -102,6 +102,9 @@ for (String superInterface : jc.getSuperInterfaces()) { out.append("\n p.$instOf_").append(superInterface.replace('/', '_')).append(" = true;"); } + out.append("\n if (arguments.length === 0) {"); + out.append("\n return new ").append(className).append("();"); + out.append("\n }"); out.append("\n }"); out.append("\n if (arguments.length === 0) {"); for (FieldData v : jc.getFields()) { @@ -114,7 +117,6 @@ out.append("\n }"); out.append("\n return new ").append(className).append(";"); out.append("\n}"); - out.append("\n").append(className).append("(true);"); StringBuilder sb = new StringBuilder(); for (String init : toInitilize.toArray()) { sb.append("\n").append(init).append("();");