Re: Records are called „methods“ in JShell

Jan Lahoda jan.lahoda at oracle.com
Tue Jul 14 16:36:48 UTC 2020


Hi,

Would you have a small reproducible test case? I don't seem to be able 
to reproduce either.

Thanks,
     Jan

On 14. 07. 20 18:15, Lingo Coder wrote:
> Hi,
> 
> Thanks for looking into this, Jorn.
> 
>> „...Are you sure that you are using the right jshell executable, and
> it's not picking up another one that's on the PATH as well?..“
> 
> I'm sure :)
> 
> I checked, rechecked and then, finally, rechecked that I rechecked.
> 
> How I (re)checked:
> 
> 1. I cleared the value of $PATH in the terminal where I run JShell
> 2. I then set the value of $PATH to be the file system location of the
>     one and only installation of OpenJDK 15-ea (build 15-ea+31-1502)
> 3. I checked that the value of $PATH had only the one single entry
> 4. Does java -version report build 15-ea+31-1502? Confirmed!
> 5. I launched JShell
> 6. Created a record named „JShellChecker“;
> 7. Observed JShell reports: „created *method* JShellChecker“
> 8. Edited the record to implement a JShell .exe location check
> 9. JShell reports: „replaced *method* JShellChecker“
> 
> Observe [1] to check that it is really happening as I describe.
> 
> TIA.
> 
> ----
> [1] https://imgur.com/NYBdYhn
> 
> 
> 
> 
> -------- Original Message --------
> Subject: Re:_Records_are_called_„methods“_in_JSh ell
> From: Jorn Vernee <jorn.vernee at oracle.com>
> Date: Tue, July 14, 2020 3:01 am
> To: Lingo Coder <plugins at lingocoder.com>
> Cc: kulla-dev <kulla-dev at openjdk.java.net>
> 
> Hi,
> 
> I was not able to reproduce this with JDK 15 build 31 (the same version
> that you are using).
> 
> PS C:\Program Files\Java\jdk-15-b31\bin> ./jshell.exe --enable-preview
> |  Welcome to JShell -- Version 15-ea
> |  For an introduction type: /help intro
> 
> jshell> public record Point(int x, int y) {}
> |  created record Point
> 
> jshell> /drop Point
> |  dropped record Point
> 
> Are you sure that you are using the right jshell executable, and it's
> not picking up another one that's on the PATH as well?
> 
> Jorn
> 
> On 14/07/2020 00:04, Michel Trudeau wrote:
>> [Moving this to kulla-dev]
>>
>> On Jul 12, 2020, at 4:35 PM, Lingo Coder <plugins at lingocoder.com> wrote:
>>
>> java -version
>> openjdk version "15-ea" 2020-09-15
>> OpenJDK Runtime Environment (build 15-ea+31-1502)
>> OpenJDK 64-Bit Server VM (build 15-ea+31-1502, mixed mode, sharing)
>>
>> OS: Windows amd64
>>
>> Steps to reproduce
>>
>> 1. Create some records...
>>
>> jshell>public record ConstExpr(Expr e) implements Expr{}
>>
>> jshell>public record PlusExpr(Expr a, Expr b) implements Expr{}
>>
>> jshell>public record TimesExpr(Expr x, Expr y) implements Expr{}
>>
>> jshell>public record NegExpr(Expr n) implements Expr{}
>>
>>
>> 2. Observe that JShell calls the records you just created,
>> „methods“...
>>
>> jshell> ...
>> | created method ConstExpr() ...
>> | created method PlusExpr() ...
>> | created method TimesExpr() ...
>> | created method NegExpr() ...
>>
>> 3. Delete those records. JShell says they're „methods“...
>>
>> jshell> /drop ConstExpr
>> | dropped method ConstExpr()
>>
>> jshell> /drop PlusExpr
>> | dropped method PlusExpr()
>>
>> jshell> /drop TimesExpr
>> | dropped method TimesExpr()
>>
>> jshell> /drop NegExpr
>> | dropped method NegExpr()
>>
>> Same deal with /edit. I did a screen recording if it's any help. [1]
>>
>> I couldn't reproduce this in Linux with the same JDK release/build. It
>> only happens on Windows.
>>
>> ----
>>
>> [1] https://i.imgur.com/ee8sJMf.gif
>>
>>


More information about the kulla-dev mailing list