Skip to content

Commit 7e9ce1a

Browse files
authored
Merge pull request #18 from PalladioSimulator/java17-fix
Fix for Java 17
2 parents ea62a9c + 10910d3 commit 7e9ce1a

File tree

2 files changed

+21
-14
lines changed

2 files changed

+21
-14
lines changed

bundles/jamopp.parser.jdt.singlefile/src/jamopp/parser/jdt/singlefile/ReferenceConverterUtility.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import org.eclipse.jdt.core.dom.SuperConstructorInvocation;
3838
import org.eclipse.jdt.core.dom.SuperFieldAccess;
3939
import org.eclipse.jdt.core.dom.SuperMethodInvocation;
40+
import org.eclipse.jdt.core.dom.TextBlock;
4041
import org.eclipse.jdt.core.dom.ThisExpression;
4142
import org.eclipse.jdt.core.dom.Type;
4243
import org.eclipse.jdt.core.dom.TypeLiteral;
@@ -241,6 +242,13 @@ private static org.emftext.language.java.references.Reference internalConvertToR
241242
parent.setNext(result);
242243
LayoutInformationConverter.convertToMinimalLayoutInformation(result, arr);
243244
return result;
245+
} else if (expr.getNodeType() == ASTNode.TEXT_BLOCK) {
246+
TextBlock textBlock = (TextBlock) expr;
247+
org.emftext.language.java.references.TextBlockReference result = org.emftext.language
248+
.java.references.ReferencesFactory.eINSTANCE.createTextBlockReference();
249+
result.setValue(textBlock.getEscapedValue());
250+
LayoutInformationConverter.convertToMinimalLayoutInformation(result, textBlock);
251+
return result;
244252
}
245253
return null;
246254
}

tests/org.emftext.language.java.test/src/org/emftext/language/java/test/ClassFileParserTest.java

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -96,20 +96,19 @@ public void testResolving() throws Exception {
9696
parseAndReprint(folder + File.separator + "VariableReferencing.java");
9797
}
9898

99-
// Error after switching to Java 17 and Eclipse 2022-12, needs to be investigated further
100-
// @Test
101-
// public void testStaticCalls() throws Exception {
102-
// String registeredType = "AClass";
103-
// JavaClasspath.get().registerClassifier("", registeredType,
104-
// createURI(BIN_FOLDER, registeredType + CLASS_FILE_EXTENSION));
105-
// JavaClasspath.get().registerClassifier(registeredType + "$", "A",
106-
// createURI(BIN_FOLDER, registeredType + "$A" + CLASS_FILE_EXTENSION));
107-
// registeredType = "CallTargetsProvider";
108-
// String pack = "staticcalltarget";
109-
// JavaClasspath.get().registerClassifier(pack, registeredType,
110-
// createURI(BIN_FOLDER, pack, registeredType + CLASS_FILE_EXTENSION));
111-
// parseAndReprint("StaticCalls.java");
112-
// }
99+
@Test
100+
public void testStaticCalls() throws Exception {
101+
String registeredType = "AClass";
102+
JavaClasspath.get().registerClassifier("", registeredType,
103+
createURI(BIN_FOLDER, registeredType + CLASS_FILE_EXTENSION));
104+
JavaClasspath.get().registerClassifier(registeredType + "$", "A",
105+
createURI(BIN_FOLDER, registeredType + "$A" + CLASS_FILE_EXTENSION));
106+
registeredType = "CallTargetsProvider";
107+
String pack = "staticcalltarget";
108+
JavaClasspath.get().registerClassifier(pack, registeredType,
109+
createURI(BIN_FOLDER, pack, registeredType + CLASS_FILE_EXTENSION));
110+
parseAndReprint("StaticCalls.java");
111+
}
113112

114113
private URI createURI(String... relPath) {
115114
return URI.createFileURI(Paths.get(".", relPath).toAbsolutePath().toString());

0 commit comments

Comments
 (0)