Ver Fonte

- Rewrite enumeration member name when it is a Java reserved keyword
and is used as a case in a switch.
- For Java, handle host() call where socket is a ServerSocket.

Christopher George há 10 anos atrás
pai
commit
3eacef2156
2 ficheiros alterados com 8 adições e 2 exclusões
  1. 3 2
      genjava.ml
  2. 5 0
      std/java/_std/sys/net/Socket.hx

+ 3 - 2
genjava.ml

@@ -1525,8 +1525,9 @@ let configure gen =
 							write w "case ";
 							in_value := true;
 							(match e.eexpr with
-								| TField(_,FEnum(e,ef)) ->
-									write w ef.ef_name
+								| TField(_, FEnum(e, ef)) ->
+                           let changed_name = change_id ef.ef_name in
+									write w changed_name
 								| _ ->
 									expr_s w e);
 							write w ":";

+ 5 - 0
std/java/_std/sys/net/Socket.hx

@@ -137,6 +137,11 @@ class Socket {
 		var local = sock.getLocalAddress();
 		var host = new Host(null);
 		host.wrapped = local;
+ 
+		if (boundAddr != null)
+		{
+			return { host: host, port: server.getLocalPort() };
+		}
 
 		return { host: host, port: sock.getLocalPort() };
 	}