Beispiel #1
0
 internal static extern void Refactoring_FindSourceDefinitionsAndDetermineSymbolFromParseTree(
     SafeHandle compilationScope,
     IRefactorProgressUI progressUI,
     IntPtr refNodePointer,
     out NamedSymbolKind definitionKind,
     [MarshalAs(UnmanagedType.BStr)] out string rqName,
     [MarshalAs(UnmanagedType.BStr)] out string RQNameForParameterFromOtherPartialMethod,
     [MarshalAs(UnmanagedType.BStr)] out string assemblyName,
     [MarshalAs(UnmanagedType.SafeArray)] out string[] namespaceDefiningAssemblies,
     out ParseTree.Handle anonymousTypePropertyRefOwner,
     out IntPtr anonymousTypePropertyRefPointer,
     out int hasExternalVisibility,
     [MarshalAs(UnmanagedType.SafeArray)] out string[] sourceLocationFilenames,
     [MarshalAs(UnmanagedType.SafeArray)] out IntPtr[] sourceLocationOwners,
     [MarshalAs(UnmanagedType.SafeArray)] out IntPtr[] sourceLocationNodePointers,
     [MarshalAs(UnmanagedType.SafeArray)] out int[] anonymousTypePropertyReferenceToSelf
     );
            // Stolen from Microsoft.VisualStudio.CSharp.Services.Language.Refactoring.RefactoringInterop
            internal static FindSourceDefinitionsAndDetermineSymbolResult FindSourceDefinitionsAndDetermineSymbolFromParseTree(IDECompilation compilation, IRefactorProgressUI progressUI, ParseTreeNode parseTreeNode)
            {
                SourceDefinitionOutputs sourceDefinitionOutputs = new SourceDefinitionOutputs();
                SymbolInfoHolder symbolInfoHolder = new SymbolInfoHolder();

                ParseTree.Handle anonymousTypePropertyRefOwnerHandle;
                NamedSymbolKind definitionKind;

                Refactoring_FindSourceDefinitionsAndDetermineSymbolFromParseTree(
                    CompilationHandle(compilation),
                    progressUI,
                    ParseTreeNodePointer(parseTreeNode),
                    out definitionKind,
                    out symbolInfoHolder.rqName,
                    out symbolInfoHolder.RQNameForParameterFromOtherPartialMethod,
                    out symbolInfoHolder.assemblyName,
                    out symbolInfoHolder.namespaceDefiningAssemblies,
                    out anonymousTypePropertyRefOwnerHandle,
                    out symbolInfoHolder.anonymousTypePropertyRefNodePointer,
                    out sourceDefinitionOutputs.hasExternalVisibility,
                    out sourceDefinitionOutputs.fileNames,
                    out sourceDefinitionOutputs.nodeOwners,
                    out sourceDefinitionOutputs.nodePointers,
                    out symbolInfoHolder.anonymousTypePropertyReferenceToSelfArray
                );
                return new FindSourceDefinitionsAndDetermineSymbolResult(compilation, sourceDefinitionOutputs, symbolInfoHolder);
            }
Beispiel #3
0
            // Stolen from Microsoft.VisualStudio.CSharp.Services.Language.Refactoring.RefactoringInterop
            internal static FindSourceDefinitionsAndDetermineSymbolResult FindSourceDefinitionsAndDetermineSymbolFromParseTree(IDECompilation compilation, IRefactorProgressUI progressUI, ParseTreeNode parseTreeNode)
            {
                SourceDefinitionOutputs sourceDefinitionOutputs = new SourceDefinitionOutputs();
                SymbolInfoHolder        symbolInfoHolder        = new SymbolInfoHolder();

                ParseTree.Handle anonymousTypePropertyRefOwnerHandle;
                NamedSymbolKind  definitionKind;

                Refactoring_FindSourceDefinitionsAndDetermineSymbolFromParseTree(
                    CompilationHandle(compilation),
                    progressUI,
                    ParseTreeNodePointer(parseTreeNode),
                    out definitionKind,
                    out symbolInfoHolder.rqName,
                    out symbolInfoHolder.RQNameForParameterFromOtherPartialMethod,
                    out symbolInfoHolder.assemblyName,
                    out symbolInfoHolder.namespaceDefiningAssemblies,
                    out anonymousTypePropertyRefOwnerHandle,
                    out symbolInfoHolder.anonymousTypePropertyRefNodePointer,
                    out sourceDefinitionOutputs.hasExternalVisibility,
                    out sourceDefinitionOutputs.fileNames,
                    out sourceDefinitionOutputs.nodeOwners,
                    out sourceDefinitionOutputs.nodePointers,
                    out symbolInfoHolder.anonymousTypePropertyReferenceToSelfArray
                    );
                return(new FindSourceDefinitionsAndDetermineSymbolResult(compilation, sourceDefinitionOutputs, symbolInfoHolder));
            }
            internal static extern void Refactoring_FindSourceDefinitionsAndDetermineSymbolFromParseTree(
				SafeHandle compilationScope,
				IRefactorProgressUI progressUI,
				IntPtr refNodePointer,
				out NamedSymbolKind definitionKind,
				[MarshalAs(UnmanagedType.BStr)] out string rqName,
				[MarshalAs(UnmanagedType.BStr)] out string RQNameForParameterFromOtherPartialMethod,
				[MarshalAs(UnmanagedType.BStr)] out string assemblyName,
				[MarshalAs(UnmanagedType.SafeArray)] out string[] namespaceDefiningAssemblies,
				out ParseTree.Handle anonymousTypePropertyRefOwner,
				out IntPtr anonymousTypePropertyRefPointer,
				out int hasExternalVisibility,
				[MarshalAs(UnmanagedType.SafeArray)] out string[] sourceLocationFilenames,
				[MarshalAs(UnmanagedType.SafeArray)] out IntPtr[] sourceLocationOwners,
				[MarshalAs(UnmanagedType.SafeArray)] out IntPtr[] sourceLocationNodePointers,
				[MarshalAs(UnmanagedType.SafeArray)] out int[] anonymousTypePropertyReferenceToSelf
			);