mirror of
https://github.com/tiennm99/lombok.git
synced 2026-10-14 12:16:49 +00:00
[fixes #2950] Patch language server semantic highlighting
This commit is contained in:
1 parent
ba2b47b974
commit
b50aa64f72
2 files changed
+9
-21
No files matched your search
@@ -87,7 +87,6 @@ public class EclipsePatcher implements AgentLauncher.AgentLaunchable {
|
||||
patchHideGeneratedNodes(sm);
|
||||
patchPostCompileHookEclipse(sm);
|
||||
patchFixSourceTypeConverter(sm);
|
||||
patchDisableLombokForCodeCleanup(sm);
|
||||
patchListRewriteHandleGeneratedMethods(sm);
|
||||
patchSyntaxAndOccurrencesHighlighting(sm);
|
||||
patchSortMembersOperation(sm);
|
||||
@@ -206,14 +205,6 @@ public class EclipsePatcher implements AgentLauncher.AgentLaunchable {
|
||||
.build());
|
||||
}
|
||||
|
||||
private static void patchDisableLombokForCodeCleanup(ScriptManager sm) {
|
||||
sm.addScriptIfWitness(OSGI_TYPES, ScriptBuilder.exitEarly()
|
||||
.target(new MethodTarget("org.eclipse.jdt.core.dom.ASTNode", "accept", "void", "org.eclipse.jdt.core.dom.ASTVisitor"))
|
||||
.decisionMethod(new Hook("lombok.launch.PatchFixesHider$PatchFixes", "isRefactoringVisitorAndGenerated", "boolean", "org.eclipse.jdt.core.dom.ASTNode", "org.eclipse.jdt.core.dom.ASTVisitor"))
|
||||
.request(StackRequest.THIS, StackRequest.PARAM1)
|
||||
.build());
|
||||
}
|
||||
|
||||
private static void patchListRewriteHandleGeneratedMethods(ScriptManager sm) {
|
||||
sm.addScriptIfWitness(OSGI_TYPES, ScriptBuilder.replaceMethodCall()
|
||||
.target(new MethodTarget("org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteAnalyzer$ListRewriter", "rewriteList"))
|
||||
@@ -308,6 +299,12 @@ public class EclipsePatcher implements AgentLauncher.AgentLaunchable {
|
||||
"org.eclipse.jdt.core.dom.SimpleName[]"))
|
||||
.request(StackRequest.RETURN_VALUE).build());
|
||||
|
||||
sm.addScriptIfWitness(OSGI_TYPES, ScriptBuilder.exitEarly()
|
||||
.target(new MethodTarget("org.eclipse.jdt.core.dom.ASTNode", "accept", "void", "org.eclipse.jdt.core.dom.ASTVisitor"))
|
||||
.decisionMethod(new Hook("lombok.launch.PatchFixesHider$PatchFixes", "isBlockedVisitorAndGenerated", "boolean", "org.eclipse.jdt.core.dom.ASTNode", "org.eclipse.jdt.core.dom.ASTVisitor"))
|
||||
.request(StackRequest.THIS, StackRequest.PARAM1)
|
||||
.build());
|
||||
|
||||
patchRefactorScripts(sm);
|
||||
patchFormatters(sm);
|
||||
}
|
||||
|
||||
@@ -414,23 +414,14 @@ final class PatchFixesHider {
|
||||
return result;
|
||||
}
|
||||
|
||||
public static boolean isRefactoringVisitorAndGenerated(org.eclipse.jdt.core.dom.ASTNode node, org.eclipse.jdt.core.dom.ASTVisitor visitor) {
|
||||
public static boolean isBlockedVisitorAndGenerated(org.eclipse.jdt.core.dom.ASTNode node, org.eclipse.jdt.core.dom.ASTVisitor visitor) {
|
||||
if (visitor == null) return false;
|
||||
|
||||
String className = visitor.getClass().getName();
|
||||
if (!(className.startsWith("org.eclipse.jdt.internal.corext.fix") || className.startsWith("org.eclipse.jdt.internal.ui.fix"))) return false;
|
||||
if (!(className.startsWith("org.eclipse.jdt.internal.corext.fix") || className.startsWith("org.eclipse.jdt.internal.ui.fix") || className.startsWith("org.eclipse.jdt.ls.core.internal.semantictokens.SemanticTokensVisitor"))) return false;
|
||||
if (className.equals("org.eclipse.jdt.internal.corext.fix.VariableDeclarationFixCore$WrittenNamesFinder")) return false;
|
||||
|
||||
boolean result = false;
|
||||
try {
|
||||
result = ((Boolean)node.getClass().getField("$isGenerated").get(node)).booleanValue();
|
||||
if (!result && node.getParent() != null && node.getParent() instanceof org.eclipse.jdt.core.dom.QualifiedName) {
|
||||
result = isGenerated(node.getParent());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
// better to assume it isn't generated
|
||||
}
|
||||
return result;
|
||||
return isGenerated(node);
|
||||
}
|
||||
|
||||
public static boolean isListRewriteOnGeneratedNode(org.eclipse.jdt.core.dom.rewrite.ListRewrite rewrite) {
|
||||
|
||||
Reference in new issue
Block a user