summaryrefslogtreecommitdiff
path: root/Library/PackageCache/com.unity.ide.vscode@1.1.4/Editor/ProjectGeneration/AssemblyNameProvider.cs
diff options
context:
space:
mode:
authorAndrew Lee <alee14498@protonmail.com>2020-04-19 17:19:32 -0400
committerAndrew Lee <alee14498@protonmail.com>2020-04-19 17:19:32 -0400
commitc55fba8ab2a1c9d3df65eda4a5a1e957f4aa1f78 (patch)
treeee4d51c7c1d633e11f46453ef1edd3c77c4ef9f7 /Library/PackageCache/com.unity.ide.vscode@1.1.4/Editor/ProjectGeneration/AssemblyNameProvider.cs
downloadProject-Sandbox-c55fba8ab2a1c9d3df65eda4a5a1e957f4aa1f78.tar.gz
Project-Sandbox-c55fba8ab2a1c9d3df65eda4a5a1e957f4aa1f78.tar.bz2
Project-Sandbox-c55fba8ab2a1c9d3df65eda4a5a1e957f4aa1f78.zip
Inital commit
Diffstat (limited to 'Library/PackageCache/com.unity.ide.vscode@1.1.4/Editor/ProjectGeneration/AssemblyNameProvider.cs')
-rw-r--r--Library/PackageCache/com.unity.ide.vscode@1.1.4/Editor/ProjectGeneration/AssemblyNameProvider.cs50
1 files changed, 50 insertions, 0 deletions
diff --git a/Library/PackageCache/com.unity.ide.vscode@1.1.4/Editor/ProjectGeneration/AssemblyNameProvider.cs b/Library/PackageCache/com.unity.ide.vscode@1.1.4/Editor/ProjectGeneration/AssemblyNameProvider.cs
new file mode 100644
index 0000000..43e0972
--- /dev/null
+++ b/Library/PackageCache/com.unity.ide.vscode@1.1.4/Editor/ProjectGeneration/AssemblyNameProvider.cs
@@ -0,0 +1,50 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using UnityEditor;
+using UnityEditor.Compilation;
+
+namespace VSCodeEditor
+{
+ public interface IAssemblyNameProvider
+ {
+ string GetAssemblyNameFromScriptPath(string path);
+ IEnumerable<Assembly> GetAssemblies(Func<string, bool> shouldFileBePartOfSolution);
+ IEnumerable<string> GetAllAssetPaths();
+ UnityEditor.PackageManager.PackageInfo FindForAssetPath(string assetPath);
+ ResponseFileData ParseResponseFile(string responseFilePath, string projectDirectory, string[] systemReferenceDirectories);
+ }
+
+ internal class AssemblyNameProvider : IAssemblyNameProvider
+ {
+ public string GetAssemblyNameFromScriptPath(string path)
+ {
+ return CompilationPipeline.GetAssemblyNameFromScriptPath(path);
+ }
+
+ public IEnumerable<Assembly> GetAssemblies(Func<string, bool> shouldFileBePartOfSolution)
+ {
+ return CompilationPipeline.GetAssemblies()
+ .Where(i => 0 < i.sourceFiles.Length && i.sourceFiles.Any(shouldFileBePartOfSolution));
+ }
+
+ public IEnumerable<string> GetAllAssetPaths()
+ {
+ return AssetDatabase.GetAllAssetPaths();
+ }
+
+ public UnityEditor.PackageManager.PackageInfo FindForAssetPath(string assetPath)
+ {
+ return UnityEditor.PackageManager.PackageInfo.FindForAssetPath(assetPath);
+ }
+
+ public ResponseFileData ParseResponseFile(string responseFilePath, string projectDirectory, string[] systemReferenceDirectories)
+ {
+ return CompilationPipeline.ParseResponseFile(
+ responseFilePath,
+ projectDirectory,
+ systemReferenceDirectories
+ );
+ }
+ }
+}