Map System.getProperty to Util.$getDefine. J2CL emulates getProperty via native helper, and GWT re-writes them via pass so there is no observable change in GWT. Change-Id: Icd46e14e2811cc1f9389331f9318d2c87158c4d2
diff --git a/user/super/com/google/gwt/emul/java/lang/System.java b/user/super/com/google/gwt/emul/java/lang/System.java index 3400d30..a3b3062 100644 --- a/user/super/com/google/gwt/emul/java/lang/System.java +++ b/user/super/com/google/gwt/emul/java/lang/System.java
@@ -25,6 +25,8 @@ import javaemul.internal.DateUtil; import javaemul.internal.HashCodes; +import jsinterop.annotations.JsMethod; + /** * General-purpose low-level utility methods. GWT only supports a limited subset * of these methods due to browser limitations. Only the documented methods are @@ -105,16 +107,14 @@ /** * The compiler replaces getProperty by the actual value of the property. */ - public static String getProperty(String key) { - throw new AssertionError("System.getProperty should have been replaced by the compiler."); - } + @JsMethod(name = "$getDefine", namespace = "nativebootstrap.Util") + public static native String getProperty(String key); /** * The compiler replaces getProperty by the actual value of the property. */ - public static String getProperty(String key, String def) { - throw new AssertionError("System.getProperty should have been replaced by the compiler."); - } + @JsMethod(name = "$getDefine", namespace = "nativebootstrap.Util") + public static native String getProperty(String key, String def); public static int identityHashCode(Object o) { return HashCodes.getIdentityHashCode(o);