Skip to content

Commit bd93e17

Browse files
committed
Fix NPE and contract to pass the variable
1 parent 57be84f commit bd93e17

File tree

2 files changed

+14
-9
lines changed

2 files changed

+14
-9
lines changed

lib/src/ktlint/java/com/diffplug/spotless/glue/ktlint/KtlintFormatterFunc.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@
1515
*/
1616
package com.diffplug.spotless.glue.ktlint;
1717

18-
import com.diffplug.spotless.FileSignature;
19-
import com.diffplug.spotless.FormatterFunc;
20-
import com.diffplug.spotless.glue.ktlint.compat.*;
18+
import java.io.File;
19+
import java.util.Map;
2120

2221
import org.jetbrains.annotations.NotNull;
2322

24-
import java.io.File;
25-
import java.util.Map;
23+
import com.diffplug.spotless.FileSignature;
24+
import com.diffplug.spotless.FormatterFunc;
25+
import com.diffplug.spotless.glue.ktlint.compat.*;
2626

2727
public class KtlintFormatterFunc implements FormatterFunc.NeedsFile {
2828

@@ -35,7 +35,7 @@ public class KtlintFormatterFunc implements FormatterFunc.NeedsFile {
3535
private final Map<String, Object> editorConfigOverrideMap;
3636

3737
public KtlintFormatterFunc(String version, boolean isScript, boolean useExperimental, FileSignature editorConfigPath, Map<String, String> userData,
38-
Map<String, Object> editorConfigOverrideMap) {
38+
Map<String, Object> editorConfigOverrideMap) {
3939
int minorVersion = Integer.parseInt(version.split("\\.")[1]);
4040
if (minorVersion >= 48) {
4141
// ExperimentalParams lost two constructor arguments, EditorConfigProperty moved to its own class
@@ -68,6 +68,11 @@ public KtlintFormatterFunc(String version, boolean isScript, boolean useExperime
6868

6969
@Override
7070
public String applyWithFile(String unix, File file) {
71-
return adapter.format(unix, file.getName(), isScript, useExperimental, editorConfigPath.getOnlyFile().getAbsolutePath(), userData, editorConfigOverrideMap);
71+
72+
String absoluteEditorConfigPath = null;
73+
if (editorConfigPath != null) {
74+
absoluteEditorConfigPath = editorConfigPath.getOnlyFile().getAbsolutePath();
75+
}
76+
return adapter.format(unix, file.getName(), isScript, useExperimental, absoluteEditorConfigPath, userData, editorConfigOverrideMap);
7277
}
7378
}

lib/src/main/java/com/diffplug/spotless/kotlin/KtLintStep.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public static FormatterStep createForScript(String version, Provisioner provisio
5959
}
6060

6161
public static FormatterStep createForScript(String version, Provisioner provisioner, boolean useExperimental,
62-
Map<String, String> userData, Map<String, Object> editorConfigOverride) {
62+
FileSignature editorConfigPath, Map<String, String> userData, Map<String, Object> editorConfigOverride) {
6363
return create(version, provisioner, true, useExperimental, userData, editorConfigOverride);
6464
}
6565

@@ -119,7 +119,7 @@ FormatterFunc createFormat() throws Exception {
119119
final ClassLoader classLoader = jarState.getClassLoader();
120120
Class<?> formatterFunc = classLoader.loadClass("com.diffplug.spotless.glue.ktlint.KtlintFormatterFunc");
121121
Constructor<?> constructor = formatterFunc.getConstructor(
122-
String.class, boolean.class, boolean.class, String.class, Map.class, Map.class);
122+
String.class, boolean.class, boolean.class, FileSignature.class, Map.class, Map.class);
123123
return (FormatterFunc.NeedsFile) constructor.newInstance(version, isScript, useExperimental, editorConfigPath, userData, editorConfigOverride);
124124
}
125125
}

0 commit comments

Comments
 (0)