Skip to content

Commit

Permalink
discard the new wait0 private method in Object
Browse files Browse the repository at this point in the history
or the test will fail in Java 21
  • Loading branch information
LorenzoBettini committed May 14, 2024
1 parent 3546425 commit 27f2cf3
Showing 1 changed file with 21 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import java.util.List;

import org.eclipse.xtext.common.types.JvmDeclaredType;
import org.eclipse.xtext.common.types.JvmVisibility;
import org.eclipse.xtext.xbase.XCastedExpression;
import org.eclipse.xtext.xbase.XTypeLiteral;
import org.eclipse.xtext.xbase.tests.AbstractXbaseTestCase;
Expand Down Expand Up @@ -143,23 +144,35 @@ public void testUnmodifiableIterator() throws Exception {
ResolvedFeatures resolvedOperations = toResolvedOperations(UnmodifiableIterator.class);
List<IResolvedOperation> all = resolvedOperations.getAllOperations();
Assert.assertFalse(all.isEmpty());
Assert.assertEquals(all.toString(), 2,
Iterables.size(Iterables.filter(all, (IResolvedOperation it) -> it.getDeclaration().isAbstract())));
Assert.assertEquals(all.toString(), (1 + 6),
Iterables.size(Iterables.filter(all, (IResolvedOperation it) -> it.getDeclaration().isFinal())));
var abstractOperations = Iterables.filter(all,
it -> it.getDeclaration().isAbstract());
Assert.assertEquals(abstractOperations.toString(), 2,
Iterables.size(abstractOperations));
// avoid the new wait0 private method
// or the test will break with Java 21
// https://github.com/openjdk/jdk/commit/9583e3657e43cc1c6f2101a64534564db2a9bd84
var finalNonFinalOperations = Iterables.filter(all,
it -> it.getDeclaration().isFinal() &&
it.getDeclaration().getVisibility() != JvmVisibility.PRIVATE);
Assert.assertEquals(finalNonFinalOperations.toString(), (1 + 6),
Iterables.size(finalNonFinalOperations));
List<IResolvedOperation> declared = resolvedOperations.getDeclaredOperations();
Assert.assertEquals(1, declared.size());
Assert.assertEquals(declared.toString(), 1, declared.size());
}

@Test
public void testAbstractList() throws Exception {
ResolvedFeatures resolvedOperations = toResolvedOperations(AbstractList.class);
List<IResolvedOperation> all = resolvedOperations.getAllOperations();
Assert.assertFalse(all.isEmpty());
Assert.assertEquals(all.toString(), 1 + 1,
Iterables.size(Iterables.filter(all, (IResolvedOperation it) -> it.getDeclaration().isAbstract())));
// the new method getLast added in Java 21 will not disturb this test
// that only considers abstract declarations
var abstractOperations = Iterables.filter(all,
it -> it.getDeclaration().isAbstract());
Assert.assertEquals(abstractOperations.toString(), 1 + 1,
Iterables.size(abstractOperations));
List<IResolvedOperation> declared = resolvedOperations.getDeclaredOperations();
Assert.assertEquals(1, Iterables.size(Iterables.filter(declared, (IResolvedOperation it) -> it.getDeclaration().isAbstract())));
Assert.assertEquals(declared.toString(), 1, Iterables.size(Iterables.filter(declared, (IResolvedOperation it) -> it.getDeclaration().isAbstract())));
}

@Test
Expand Down

0 comments on commit 27f2cf3

Please sign in to comment.