langtools/src/jdk.jshell/share/classes/jdk/internal/jshell/remote/RemoteAgent.java
changeset 37639 d4828c4d569c
parent 36526 3b41f1c69604
child 37644 33cf53901cac
equal deleted inserted replaced
37638:aac00923d48e 37639:d4828c4d569c
   111                         out.flush();
   111                         out.flush();
   112                         break;
   112                         break;
   113                     }
   113                     }
   114                     Method doitMethod;
   114                     Method doitMethod;
   115                     try {
   115                     try {
   116                         this.getClass().getModule().addReads(klass.getModule());
       
   117                         this.getClass().getModule().addExports(RemoteResolutionException.class.getPackage().getName(), klass.getModule());
   116                         this.getClass().getModule().addExports(RemoteResolutionException.class.getPackage().getName(), klass.getModule());
   118                         doitMethod = klass.getDeclaredMethod(DOIT_METHOD_NAME, new Class<?>[0]);
   117                         doitMethod = klass.getDeclaredMethod(DOIT_METHOD_NAME, new Class<?>[0]);
   119                         doitMethod.setAccessible(true);
   118                         doitMethod.setAccessible(true);
   120                         Object res;
   119                         Object res;
   121                         try {
   120                         try {
   182                         out.writeUTF("no such class loaded: " + classname);
   181                         out.writeUTF("no such class loaded: " + classname);
   183                         out.flush();
   182                         out.flush();
   184                         break;
   183                         break;
   185                     }
   184                     }
   186                     try {
   185                     try {
   187                         this.getClass().getModule().addReads(klass.getModule());
       
   188                         Field var = klass.getDeclaredField(varname);
   186                         Field var = klass.getDeclaredField(varname);
   189                         var.setAccessible(true);
   187                         var.setAccessible(true);
   190                         Object res = var.get(null);
   188                         Object res = var.get(null);
   191                         out.writeInt(RESULT_SUCCESS);
   189                         out.writeInt(RESULT_SUCCESS);
   192                         out.writeUTF(valueString(res));
   190                         out.writeUTF(valueString(res));