5
// Mike Krüger <mkrueger@novell.com>
7
// Copyright (C) 2008 Novell, Inc (http://www.novell.com)
9
// Permission is hereby granted, free of charge, to any person obtaining
10
// a copy of this software and associated documentation files (the
11
// "Software"), to deal in the Software without restriction, including
12
// without limitation the rights to use, copy, modify, merge, publish,
13
// distribute, sublicense, and/or sell copies of the Software, and to
14
// permit persons to whom the Software is furnished to do so, subject to
15
// the following conditions:
17
// The above copyright notice and this permission notice shall be
18
// included in all copies or substantial portions of the Software.
20
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
24
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
25
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
30
using System.Collections.Generic;
32
namespace MonoDevelop.Projects.Dom
34
public class SearchTypeRequest
37
List<IReturnType> genericParameters;
38
ICompilationUnit currentCompilationUnit;
39
int caretLine, caretColumn;
40
bool caseSensitive = true;
52
public ICompilationUnit CurrentCompilationUnit {
54
return currentCompilationUnit;
58
public int CaretLine {
64
public int CaretColumn {
70
public bool CaseSensitive {
75
caseSensitive = value;
79
public IType CallingType {
88
public List<IReturnType> GenericParameters {
90
return genericParameters;
94
public SearchTypeRequest (ICompilationUnit currentCompilationUnit)
96
this.currentCompilationUnit = currentCompilationUnit;
98
this.caretColumn = -1;
99
// this.genericParameterCount = -1;
102
public SearchTypeRequest (ICompilationUnit currentCompilationUnit, string name)
104
this.currentCompilationUnit = currentCompilationUnit;
106
this.caretColumn = -1;
108
// this.genericParameterCount = -1;
111
public SearchTypeRequest (ICompilationUnit currentCompilationUnit, IReturnType rtype, IType callingType)
113
this.currentCompilationUnit = currentCompilationUnit;
114
this.callingType = callingType;
116
this.caretColumn = -1;
118
name = rtype.Namespace;
119
foreach (ReturnTypePart rpart in rtype.Parts) {
123
if (rpart.GenericArguments.Count > 0)
124
name += "`" + rpart.GenericArguments.Count;
126
this.genericParameters = new List<IReturnType> (rtype.GenericArguments);
130
public SearchTypeRequest (ICompilationUnit currentCompilationUnit, int caretLine, int caretColumn, string name)
132
this.currentCompilationUnit = currentCompilationUnit;
133
this.caretLine = caretLine;
134
this.caretColumn = caretColumn;
136
// this.genericParameterCount = -1;
139
public SearchTypeRequest (ICompilationUnit currentCompilationUnit, IType callingType, string name)
141
this.currentCompilationUnit = currentCompilationUnit;
142
this.callingType = callingType;
144
// this.genericParameterCount = -1;
147
public SearchTypeRequest (ICompilationUnit currentCompilationUnit, int caretLine, int caretColumn, string name, List<IReturnType> genericParameters)
149
this.currentCompilationUnit = currentCompilationUnit;
150
this.caretLine = caretLine;
151
this.caretColumn = caretColumn;
153
this.genericParameters = genericParameters;
158
public class SearchTypeResult
162
public IReturnType Result {
168
public SearchTypeResult (IType type)
170
this.result = new DomReturnType (type.FullName);
173
public SearchTypeResult (IReturnType result)
175
this.result = result;
178
public override string ToString ()
180
return string.Format ("[SearchTypeResult: Result={0}]", Result);