From 476a58ec44915fd2b14eea23693b7b3f5081c880 Mon Sep 17 00:00:00 2001 From: Kyle Date: Wed, 27 Jul 2022 23:00:58 -0400 Subject: [PATCH 1/2] adds catcher for the RecordDeclaration * StructuresLocateEvent leverages a `record` which isn't supported by JavaParser just yet. --- src/main/java/io/github/bensku/tsbind/AstGenerator.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/io/github/bensku/tsbind/AstGenerator.java b/src/main/java/io/github/bensku/tsbind/AstGenerator.java index db79463..39aa3cc 100644 --- a/src/main/java/io/github/bensku/tsbind/AstGenerator.java +++ b/src/main/java/io/github/bensku/tsbind/AstGenerator.java @@ -94,6 +94,11 @@ public Optional parseType(SourceUnit source) { } catch (UnsolvedSymbolException e) { System.err.println("failed to resolve symbol " + e.getName() + " in " + source.name + "; omitting entire type!"); return Optional.empty(); + } catch (Exception e) { + // RecordDeclaration doesn't get caught by the above. + // StructuresLocateEvent in Paper 1.18 is triggering this. + System.err.println("failed to resolve in " + source.name + "; omitting entire type!"); + return Optional.empty(); } } else { return Optional.empty(); From f50d8601f84fc43d165599cc5221a42ddd198fdc Mon Sep 17 00:00:00 2001 From: Kyle Date: Wed, 27 Jul 2022 23:01:16 -0400 Subject: [PATCH 2/2] bumps java parser to 3.24.2 --- build.gradle | 2 +- src/main/java/io/github/bensku/tsbind/AstGenerator.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 2de75cf..890f0f6 100644 --- a/build.gradle +++ b/build.gradle @@ -12,7 +12,7 @@ compileJava { } dependencies { - implementation 'com.github.javaparser:javaparser-symbol-solver-core:3.22.1' + implementation 'com.github.javaparser:javaparser-symbol-solver-core:3.24.2' implementation 'com.google.code.gson:gson:2.8.6' implementation 'com.beust:jcommander:1.81' implementation 'org.jsoup:jsoup:1.13.1' diff --git a/src/main/java/io/github/bensku/tsbind/AstGenerator.java b/src/main/java/io/github/bensku/tsbind/AstGenerator.java index 39aa3cc..6ab7cfc 100644 --- a/src/main/java/io/github/bensku/tsbind/AstGenerator.java +++ b/src/main/java/io/github/bensku/tsbind/AstGenerator.java @@ -307,7 +307,7 @@ private static class PublicFilterResult { private PublicFilterResult filterPublicTypes(List types) { PublicFilterResult result = new PublicFilterResult(); for (ClassOrInterfaceType type : types) { - ResolvedReferenceType resolved = type.resolve(); + ResolvedReferenceType resolved = type.resolve().asReferenceType(); if (isPublic(resolved.getTypeDeclaration().orElse(null))) { result.publicTypes.add(resolved); } else {