Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[21] JEP 441: Pattern Matching for switch #891

Closed
7 tasks done
Tracked by #890
mpalat opened this issue Mar 23, 2023 · 0 comments
Closed
7 tasks done
Tracked by #890

[21] JEP 441: Pattern Matching for switch #891

mpalat opened this issue Mar 23, 2023 · 0 comments
Assignees
Milestone

Comments

@mpalat
Copy link
Contributor

mpalat commented Mar 23, 2023

Ref https://openjdk.org/jeps/441
====snipe===
We're proposing some small changes from the preview versions about to appear in
JDK 20. These include:

  • We're dropping parenthesized patterns. They were leftover from a previous
    version of patterns, and they weren't used very much. They complicate the spec
    for not a lot of gain.

  • We're going to support case labels that are the qualified name of enum
    constants, and allow switches over non-enum types to have enum case labels
    provided they use the qualified names of the enum constants and these labels
    are assignment compatible with the switch type.
    ====snipe===

Spec now available (draft)- https://cr.openjdk.org/~gbierman/jep440+441/latest/

Issues

The following issue will be tracked separately:

@mpalat mpalat added this to the BETA_JAVA21 milestone Mar 23, 2023
@mpalat mpalat closed this as completed Sep 20, 2023
datho7561 added a commit to datho7561/eclipse.jdt.core that referenced this issue Oct 18, 2024
- Use binding to build out a list of possible suggestions
- Handle access modifiers properly

Currently broken:
- completion preceeding another statement eg.

```java
{
  name.|
  Object myObject = null;
}
```

Fixes eclipse-jdt#891

Signed-off-by: David Thompson <davthomp@redhat.com>
datho7561 added a commit to datho7561/eclipse.jdt.core that referenced this issue Oct 22, 2024
- Use binding to build out a list of possible suggestions
- Handle access modifiers properly

Currently broken:
- completion preceeding another statement eg.

```java
{
  name.|
  Object myObject = null;
}
```

Fixes eclipse-jdt#891

Signed-off-by: David Thompson <davthomp@redhat.com>
datho7561 added a commit to datho7561/eclipse.jdt.core that referenced this issue Oct 22, 2024
- Use bindings to build out a list of possible suggestions
- Handle access modifiers properly (`private`, `static`, `abstract`, ...)
  - Exclude members in grandparent types whose access was narrowed in
    parent types
- Fix completion preceeding another statement eg.

```java
{
  name.|
  Object myObject = null;
}
```
- Fix `super.to|`
- Prevent `super.|` and `super.to|` from suggesting methods that are
  abstract in the parent type

Fixes eclipse-jdt#891

Signed-off-by: David Thompson <davthomp@redhat.com>
datho7561 added a commit to datho7561/eclipse.jdt.core that referenced this issue Oct 22, 2024
- Use bindings to build out a list of possible suggestions
- Handle access modifiers properly (`private`, `static`, `abstract`, ...)
  - Exclude members in grandparent types whose access was narrowed in
    parent types
- Fix completion preceeding another statement eg.

```java
{
  name.|
  Object myObject = null;
}
```
- Fix `super.to|`
- Prevent `super.|` and `super.to|` from suggesting methods that are
  abstract in the parent type

Fixes eclipse-jdt#891

Signed-off-by: David Thompson <davthomp@redhat.com>
mickaelistria pushed a commit to mickaelistria/eclipse.jdt.core that referenced this issue Oct 23, 2024
- Use bindings to build out a list of possible suggestions
- Handle access modifiers properly (`private`, `static`, `abstract`, ...)
  - Exclude members in grandparent types whose access was narrowed in
    parent types
- Fix completion preceeding another statement eg.

```java
{
  name.|
  Object myObject = null;
}
```
- Fix `super.to|`
- Prevent `super.|` and `super.to|` from suggesting methods that are
  abstract in the parent type

Fixes eclipse-jdt#891

Signed-off-by: David Thompson <davthomp@redhat.com>
akurtakov pushed a commit to akurtakov/eclipse.jdt.core that referenced this issue Nov 12, 2024
- Use bindings to build out a list of possible suggestions
- Handle access modifiers properly (`private`, `static`, `abstract`, ...)
  - Exclude members in grandparent types whose access was narrowed in
    parent types
- Fix completion preceeding another statement eg.

```java
{
  name.|
  Object myObject = null;
}
```
- Fix `super.to|`
- Prevent `super.|` and `super.to|` from suggesting methods that are
  abstract in the parent type

Fixes eclipse-jdt#891

Signed-off-by: David Thompson <davthomp@redhat.com>
mickaelistria pushed a commit to mickaelistria/eclipse.jdt.core that referenced this issue Dec 5, 2024
- Use bindings to build out a list of possible suggestions
- Handle access modifiers properly (`private`, `static`, `abstract`, ...)
  - Exclude members in grandparent types whose access was narrowed in
    parent types
- Fix completion preceeding another statement eg.

```java
{
  name.|
  Object myObject = null;
}
```
- Fix `super.to|`
- Prevent `super.|` and `super.to|` from suggesting methods that are
  abstract in the parent type

Fixes eclipse-jdt#891

Signed-off-by: David Thompson <davthomp@redhat.com>
mickaelistria pushed a commit to mickaelistria/eclipse.jdt.core that referenced this issue Dec 6, 2024
- Use bindings to build out a list of possible suggestions
- Handle access modifiers properly (`private`, `static`, `abstract`, ...)
  - Exclude members in grandparent types whose access was narrowed in
    parent types
- Fix completion preceeding another statement eg.

```java
{
  name.|
  Object myObject = null;
}
```
- Fix `super.to|`
- Prevent `super.|` and `super.to|` from suggesting methods that are
  abstract in the parent type

Fixes eclipse-jdt#891

Signed-off-by: David Thompson <davthomp@redhat.com>
mickaelistria pushed a commit to mickaelistria/eclipse.jdt.core that referenced this issue Dec 13, 2024
- Use bindings to build out a list of possible suggestions
- Handle access modifiers properly (`private`, `static`, `abstract`, ...)
  - Exclude members in grandparent types whose access was narrowed in
    parent types
- Fix completion preceeding another statement eg.

```java
{
  name.|
  Object myObject = null;
}
```
- Fix `super.to|`
- Prevent `super.|` and `super.to|` from suggesting methods that are
  abstract in the parent type

Fixes eclipse-jdt#891

Signed-off-by: David Thompson <davthomp@redhat.com>
datho7561 added a commit to datho7561/eclipse.jdt.core that referenced this issue Dec 13, 2024
- Use bindings to build out a list of possible suggestions
- Handle access modifiers properly (`private`, `static`, `abstract`, ...)
  - Exclude members in grandparent types whose access was narrowed in
    parent types
- Fix completion preceeding another statement eg.

```java
{
  name.|
  Object myObject = null;
}
```
- Fix `super.to|`
- Prevent `super.|` and `super.to|` from suggesting methods that are
  abstract in the parent type

Fixes eclipse-jdt#891

Signed-off-by: David Thompson <davthomp@redhat.com>
mickaelistria pushed a commit to mickaelistria/eclipse.jdt.core that referenced this issue Dec 15, 2024
- Use bindings to build out a list of possible suggestions
- Handle access modifiers properly (`private`, `static`, `abstract`, ...)
  - Exclude members in grandparent types whose access was narrowed in
    parent types
- Fix completion preceeding another statement eg.

```java
{
  name.|
  Object myObject = null;
}
```
- Fix `super.to|`
- Prevent `super.|` and `super.to|` from suggesting methods that are
  abstract in the parent type

Fixes eclipse-jdt#891

Signed-off-by: David Thompson <davthomp@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants