diff: introduce [intellij.platform.util.diff] module

GitOrigin-RevId: 6b7dfd2cd82c6135bc00fc6d97eade6e4b9ec77b
This commit is contained in:
Aleksey Pivovarov
2021-12-22 20:52:33 +03:00
committed by intellij-monorepo-bot
parent 1df1e0c5ba
commit 7c8fe72fc4
67 changed files with 31 additions and 2 deletions

1
.idea/modules.xml generated
View File

@@ -810,6 +810,7 @@
<module fileurl="file://$PROJECT_DIR$/platform/util/intellij.platform.util.iml" filepath="$PROJECT_DIR$/platform/util/intellij.platform.util.iml" />
<module fileurl="file://$PROJECT_DIR$/platform/util/base/intellij.platform.util.base.iml" filepath="$PROJECT_DIR$/platform/util/base/intellij.platform.util.base.iml" />
<module fileurl="file://$PROJECT_DIR$/platform/util-class-loader/intellij.platform.util.classLoader.iml" filepath="$PROJECT_DIR$/platform/util-class-loader/intellij.platform.util.classLoader.iml" />
<module fileurl="file://$PROJECT_DIR$/platform/util/diff/intellij.platform.util.diff.iml" filepath="$PROJECT_DIR$/platform/util/diff/intellij.platform.util.diff.iml" />
<module fileurl="file://$PROJECT_DIR$/platform/util-ex/intellij.platform.util.ex.iml" filepath="$PROJECT_DIR$/platform/util-ex/intellij.platform.util.ex.iml" />
<module fileurl="file://$PROJECT_DIR$/platform/util/immutable-key-value-store/intellij.platform.util.immutableKeyValueStore.iml" filepath="$PROJECT_DIR$/platform/util/immutable-key-value-store/intellij.platform.util.immutableKeyValueStore.iml" />
<module fileurl="file://$PROJECT_DIR$/platform/util/immutable-key-value-store/benchmark/intellij.platform.util.immutableKeyValueStore.benchmark.iml" filepath="$PROJECT_DIR$/platform/util/immutable-key-value-store/benchmark/intellij.platform.util.immutableKeyValueStore.benchmark.iml" />

View File

@@ -209,6 +209,7 @@ final class PlatformModules {
"intellij.platform.util",
"intellij.platform.util.text.matching",
"intellij.platform.util.base",
"intellij.platform.util.diff",
"intellij.platform.util.xmlDom",
"intellij.platform.extensions",
"intellij.platform.tracing.rt",

View File

@@ -13,6 +13,7 @@
<orderEntry type="module" module-name="intellij.platform.util.ui" />
<orderEntry type="module" module-name="intellij.platform.util" />
<orderEntry type="module" module-name="intellij.platform.util.ex" />
<orderEntry type="module" module-name="intellij.platform.util.diff" />
<orderEntry type="module" module-name="intellij.platform.util.classLoader" />
<orderEntry type="module" module-name="intellij.platform.ide.impl" />
<orderEntry type="module" module-name="intellij.platform.jps.model.serialization" />

View File

@@ -32,5 +32,6 @@
<orderEntry type="module" module-name="intellij.platform.util.xmlDom" />
<orderEntry type="library" name="automaton" level="project" />
<orderEntry type="library" name="Guava" level="project" />
<orderEntry type="module" module-name="intellij.platform.util.diff" />
</component>
</module>

View File

@@ -8,6 +8,7 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="intellij.platform.util.diff" exported="" />
<orderEntry type="module" module-name="intellij.platform.ide.core" exported="" />
<orderEntry type="module" module-name="intellij.platform.util.ui" />
<orderEntry type="module" module-name="intellij.platform.core.ui" />

View File

@@ -711,7 +711,7 @@ public final class ComparisonManagerImpl extends ComparisonManager {
@NotNull BitSet ignored) {
int offset = lineOffsets.getLineStart(index);
List<ByWord.InlineChunk> innerChunks = ByWord.getInlineChunks(getLineContent(index, text, lineOffsets));
return ContainerUtil.filter(innerChunks, it -> it instanceof ByWord.WordChunk &&
return ContainerUtil.filter(innerChunks, it -> ByWord.isWordChunk(it) &&
!isIgnoredRange(ignored, offset + it.getOffset1(), offset + it.getOffset2()));
}

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="intellij.platform.util.base" />
<orderEntry type="module" module-name="intellij.platform.util.rt" />
<orderEntry type="library" name="kotlin-stdlib-jdk8" level="project" />
<orderEntry type="library" name="jetbrains-annotations" level="project" />
<orderEntry type="library" name="fastutil-min" level="project" />
</component>
</module>

View File

@@ -483,6 +483,10 @@ public final class ByWord {
return Couple.of(ranges1, ranges2);
}
public static boolean isWordChunk(@NotNull InlineChunk chunk) {
return chunk instanceof WordChunk;
}
//
// Whitespaces matching
//
@@ -866,6 +870,7 @@ public final class ByWord {
public interface InlineChunk {
int getOffset1();
int getOffset2();
}

View File

@@ -133,7 +133,7 @@ public final class DiffIterableUtil {
@NotNull
public static Iterable<Pair<Range, Boolean>> iterateAll(@NotNull final DiffIterable iterable) {
return () -> new Iterator<>() {
return () -> new Iterator<Pair<Range, Boolean>>() {
@NotNull private final Iterator<Range> myChanges = iterable.changes();
@NotNull private final Iterator<Range> myUnchanged = iterable.unchanged();

View File

@@ -39,6 +39,7 @@
<orderEntry type="library" name="kotlin-stdlib-jdk8" level="project" />
<orderEntry type="module" module-name="intellij.platform.util.base" exported="" />
<orderEntry type="module" module-name="intellij.platform.util.text.matching" exported="" />
<orderEntry type="module" module-name="intellij.platform.util.diff" />
<orderEntry type="library" name="aalto-xml" level="project" />
<orderEntry type="module" module-name="intellij.platform.util.xmlDom" />
<orderEntry type="library" name="kotlinx-coroutines-jdk8" level="project" />

View File

@@ -44,6 +44,7 @@ public final class ClassPathUtil {
XmlDomReader.class, // module 'intellij.platform.util.xmlDom'
MinusculeMatcher.class, // module 'intellij.platform.util.text.matching'
com.intellij.openapi.util.SystemInfoRt.class, // module 'intellij.platform.util.rt'
com.intellij.diff.comparison.ComparisonUtil.class, // module 'intellij.platform.util.diff'
com.intellij.util.lang.UrlClassLoader.class, // module 'intellij.platform.util.classLoader'
Xx3UnencodedString.class, // intellij.platform.util.rt.java8 (required for classLoader)
org.intellij.lang.annotations.Flow.class, // jetbrains-annotations-java5

View File

@@ -29,5 +29,6 @@
<orderEntry type="module" module-name="intellij.platform.bootstrap" scope="TEST" />
<orderEntry type="module" module-name="intellij.platform.ide.util.io" scope="TEST" />
<orderEntry type="module" module-name="intellij.platform.util.ex" scope="TEST" />
<orderEntry type="module" module-name="intellij.platform.util.diff" scope="TEST" />
</component>
</module>