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); }
// 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)); }