mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 15:19:59 +07:00
EelApi: move IjentPath to intellij.platform.eel
GitOrigin-RevId: fdae3e80a498e2c6480cd62fb7f82c2b6d3cb72d
This commit is contained in:
committed by
intellij-monorepo-bot
parent
ed880ef479
commit
bbedb129a3
1
.idea/modules.xml
generated
1
.idea/modules.xml
generated
@@ -644,6 +644,7 @@
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/editor-ui-ex/intellij.platform.editor.ex.iml" filepath="$PROJECT_DIR$/platform/editor-ui-ex/intellij.platform.editor.ex.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/eel/intellij.platform.eel.iml" filepath="$PROJECT_DIR$/platform/eel/intellij.platform.eel.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/eelProvider/intellij.platform.eel.provider.iml" filepath="$PROJECT_DIR$/platform/eelProvider/intellij.platform.eel.provider.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/eel/intellij.platform.eel.tests.iml" filepath="$PROJECT_DIR$/platform/eel/intellij.platform.eel.tests.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/execution/intellij.platform.execution.iml" filepath="$PROJECT_DIR$/platform/execution/intellij.platform.execution.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/execution.dashboard/intellij.platform.execution.dashboard.iml" filepath="$PROJECT_DIR$/platform/execution.dashboard/intellij.platform.execution.dashboard.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/execution-impl/intellij.platform.execution.impl.iml" filepath="$PROJECT_DIR$/platform/execution-impl/intellij.platform.execution.impl.iml" />
|
||||
|
||||
18
platform/eel/intellij.platform.eel.tests.iml
Normal file
18
platform/eel/intellij.platform.eel.tests.iml
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$/tests">
|
||||
<sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" name="kotlin-stdlib" level="project" />
|
||||
<orderEntry type="module" module-name="intellij.platform.eel" scope="TEST" />
|
||||
<orderEntry type="library" scope="TEST" name="JUnit5" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="JUnit5Params" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="kotlin-test" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="kotlin-test-assertions-core-jvm" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="kotlinx-coroutines-test" level="project" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -1,8 +1,8 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.platform.ijent.fs
|
||||
package com.intellij.platform.eel.path
|
||||
|
||||
import com.intellij.platform.ijent.fs.IjentPathResult.Err
|
||||
import com.intellij.platform.ijent.fs.IjentPathResult.Ok
|
||||
import com.intellij.platform.eel.path.IjentPathResult.Err
|
||||
import com.intellij.platform.eel.path.IjentPathResult.Ok
|
||||
|
||||
internal class ArrayListIjentAbsolutePath private constructor(
|
||||
private val _root: Root,
|
||||
@@ -1,8 +1,5 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.platform.ijent.fs
|
||||
|
||||
import com.intellij.util.SmartList
|
||||
import com.intellij.util.asSafely
|
||||
package com.intellij.platform.eel.path
|
||||
|
||||
internal class ArrayListIjentRelativePath private constructor(
|
||||
private val parts: List<String>,
|
||||
@@ -28,7 +25,7 @@ internal class ArrayListIjentRelativePath private constructor(
|
||||
}
|
||||
|
||||
override fun resolve(other: IjentPath.Relative): IjentPathResult<ArrayListIjentRelativePath> {
|
||||
val result = SmartList<String>()
|
||||
val result = mutableListOf<String>()
|
||||
result += parts
|
||||
if (other != EMPTY) {
|
||||
for (i in 0..<other.nameCount) {
|
||||
@@ -55,7 +52,7 @@ internal class ArrayListIjentRelativePath private constructor(
|
||||
}
|
||||
|
||||
override fun normalize(): IjentPath.Relative {
|
||||
val result = SmartList<String>()
|
||||
val result = mutableListOf<String>()
|
||||
for (part in parts) {
|
||||
when (part) {
|
||||
"." -> Unit
|
||||
@@ -102,7 +99,7 @@ internal class ArrayListIjentRelativePath private constructor(
|
||||
override fun toString(): String = parts.joinToString("/")
|
||||
|
||||
override fun equals(other: Any?): Boolean =
|
||||
other?.asSafely<IjentPath.Relative>()?.compareTo(this) == 0
|
||||
other is IjentPath.Relative && other.compareTo(this) == 0
|
||||
|
||||
override fun hashCode(): Int =
|
||||
parts.hashCode()
|
||||
@@ -1,9 +1,10 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.platform.ijent.fs
|
||||
package com.intellij.platform.eel.path
|
||||
|
||||
import com.intellij.platform.eel.EelPlatform
|
||||
import com.intellij.platform.ijent.fs.IjentPath.Absolute.OS
|
||||
import com.intellij.platform.eel.path.IjentPath.Absolute.OS
|
||||
import java.nio.file.InvalidPathException
|
||||
import kotlin.Throws
|
||||
|
||||
sealed interface IjentPathResult<P : IjentPath> {
|
||||
data class Ok<P : IjentPath>(val path: P) : IjentPathResult<P>
|
||||
@@ -0,0 +1,5 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
@ApiStatus.Internal
|
||||
package com.intellij.platform.eel.path;
|
||||
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
@@ -1,8 +1,6 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.platform.ijent.community.impl.nio
|
||||
package com.intellij.platform.eel.path
|
||||
|
||||
import com.intellij.platform.ijent.fs.IjentPath
|
||||
import com.intellij.platform.ijent.fs.IjentPathResult
|
||||
import io.kotest.matchers.shouldBe
|
||||
import io.kotest.matchers.types.shouldBeTypeOf
|
||||
import org.junit.jupiter.api.DynamicTest
|
||||
@@ -36,11 +34,11 @@ class IjentAbsolutePathTest {
|
||||
|
||||
for (rawPath in (unixPaths + windowsPaths)) {
|
||||
add(dynamicTest(rawPath) {
|
||||
val ijentPath = IjentPath.Absolute
|
||||
val eelPath = IjentPath.Absolute
|
||||
.parse(rawPath, null)
|
||||
.shouldBeTypeOf<IjentPathResult.Ok<IjentPath.Absolute>>()
|
||||
.path
|
||||
ijentPath.toString() shouldBe rawPath
|
||||
eelPath.toString() shouldBe rawPath
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,6 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.platform.ijent.community.impl.nio
|
||||
package com.intellij.platform.eel.path
|
||||
|
||||
import com.intellij.platform.ijent.fs.IjentPath
|
||||
import com.intellij.platform.ijent.fs.getOrThrow
|
||||
import io.kotest.assertions.throwables.shouldThrowAny
|
||||
import io.kotest.assertions.withClue
|
||||
import io.kotest.matchers.be
|
||||
@@ -5,7 +5,6 @@
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/resources" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.platform.ijent.community.impl
|
||||
|
||||
import com.intellij.platform.eel.path.IjentPath
|
||||
import com.intellij.platform.ijent.IjentApi
|
||||
import com.intellij.platform.ijent.IjentPosixApi
|
||||
import com.intellij.platform.ijent.IjentPosixInfo
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.platform.ijent.community.impl
|
||||
|
||||
import com.intellij.platform.eel.path.IjentPath
|
||||
import com.intellij.platform.ijent.fs.*
|
||||
|
||||
@Suppress("unused") // Usages are to be implemented later.
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.platform.ijent.community.impl
|
||||
|
||||
import com.intellij.platform.eel.path.IjentPath
|
||||
import com.intellij.platform.ijent.fs.IjentFileInfo
|
||||
import com.intellij.platform.ijent.fs.IjentPath
|
||||
import com.intellij.platform.ijent.fs.IjentPosixFileInfo
|
||||
import java.time.ZonedDateTime
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.intellij.platform.ijent.community.impl.nio
|
||||
|
||||
import com.intellij.openapi.diagnostic.logger
|
||||
import com.intellij.openapi.diagnostic.thisLogger
|
||||
import com.intellij.platform.eel.path.IjentPath
|
||||
import com.intellij.platform.ijent.fs.*
|
||||
import com.intellij.platform.ijent.spi.RECOMMENDED_MAX_PACKET_SIZE
|
||||
import java.io.IOException
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.platform.ijent.community.impl.nio
|
||||
|
||||
import com.intellij.platform.eel.path.IjentPath
|
||||
import com.intellij.platform.eel.path.getOrThrow
|
||||
import com.intellij.platform.ijent.fs.*
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
import java.net.URI
|
||||
|
||||
@@ -3,8 +3,9 @@ package com.intellij.platform.ijent.community.impl.nio
|
||||
|
||||
import com.intellij.openapi.diagnostic.thisLogger
|
||||
import com.intellij.platform.core.nio.fs.BasicFileAttributesHolder2.FetchAttributesFilter
|
||||
import com.intellij.platform.eel.path.IjentPath
|
||||
import com.intellij.platform.eel.path.getOrThrow
|
||||
import com.intellij.platform.ijent.community.impl.IjentFsResultImpl
|
||||
import com.intellij.platform.ijent.community.impl.nio.IjentNioFileSystemProvider.Companion.newFileSystemMap
|
||||
import com.intellij.platform.ijent.community.impl.nio.IjentNioFileSystemProvider.UnixFilePermissionBranch.*
|
||||
import com.intellij.platform.ijent.fs.*
|
||||
import com.intellij.platform.ijent.fs.IjentFileInfo.Type.*
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
|
||||
package com.intellij.platform.ijent.community.impl.nio
|
||||
|
||||
import com.intellij.platform.eel.path.IjentPath
|
||||
import com.intellij.platform.eel.path.getOrThrow
|
||||
import com.intellij.platform.ijent.fs.*
|
||||
import com.intellij.util.text.nullize
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
package com.intellij.platform.ijent.community.impl.nio
|
||||
|
||||
import com.intellij.platform.core.nio.fs.BasicFileAttributesHolder2
|
||||
import com.intellij.platform.eel.path.IjentPath
|
||||
import com.intellij.platform.eel.path.getOrThrow
|
||||
import com.intellij.platform.ijent.fs.IjentFileSystemPosixApi
|
||||
import com.intellij.platform.ijent.fs.IjentFileSystemWindowsApi
|
||||
import com.intellij.platform.ijent.fs.IjentPath
|
||||
import com.intellij.platform.ijent.fs.getOrThrow
|
||||
import java.net.URI
|
||||
import java.nio.file.*
|
||||
import java.nio.file.attribute.BasicFileAttributes
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.platform.ijent.fs
|
||||
|
||||
import com.intellij.platform.eel.path.IjentPath
|
||||
import java.time.ZonedDateTime
|
||||
|
||||
sealed interface IjentFileInfo {
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
package com.intellij.platform.ijent.fs
|
||||
|
||||
import com.intellij.openapi.util.NlsSafe
|
||||
import com.intellij.platform.eel.path.IjentPath
|
||||
import com.intellij.platform.ijent.IjentInfo
|
||||
import com.intellij.platform.ijent.IjentPosixInfo
|
||||
import com.intellij.platform.ijent.IjentUnavailableException
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.platform.ijent.fs
|
||||
|
||||
import com.intellij.platform.eel.path.IjentPath
|
||||
import com.intellij.platform.ijent.fs.IjentFileSystemApi.CopyOptions
|
||||
import com.intellij.platform.ijent.fs.IjentFileSystemApi.FileWriterCreationMode
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
package com.intellij.platform.ijent.fs
|
||||
|
||||
import com.intellij.openapi.util.NlsSafe
|
||||
import com.intellij.platform.eel.path.IjentPath
|
||||
import org.jetbrains.annotations.Nls
|
||||
import java.io.IOException
|
||||
|
||||
|
||||
Reference in New Issue
Block a user