diff --git a/platform/remote-servers/impl/src/com/intellij/remoteServer/agent/impl/RemoteAgentReflectiveProxyFactory.java b/platform/remote-servers/impl/src/com/intellij/remoteServer/agent/impl/RemoteAgentReflectiveProxyFactory.java index 351ee61f2903..01268e0eaf7b 100644 --- a/platform/remote-servers/impl/src/com/intellij/remoteServer/agent/impl/RemoteAgentReflectiveProxyFactory.java +++ b/platform/remote-servers/impl/src/com/intellij/remoteServer/agent/impl/RemoteAgentReflectiveProxyFactory.java @@ -119,6 +119,13 @@ public class RemoteAgentReflectiveProxyFactory extends RemoteAgentProxyFactoryBa myMirrorType = mirrorValue.getClass(); myMirrorValue = value == null ? null : mirrorValue; } + else if (type.isEnum()) { + @SuppressWarnings("unchecked") + Class mirroredEnum = (Class)mirrorClassLoader.loadClass(type.getName()); + myMirrorType = mirroredEnum; + //noinspection unchecked + myMirrorValue = value == null ? null : Enum.valueOf(mirroredEnum, ((Enum)value).name()); + } else if (type.isInterface()) { myMirrorType = mirrorClassLoader.loadClass(type.getName()); myMirrorValue = value == null ? null