Browse Source

Added basic code completion interfaces.

newNRvisualizers
Mike Krüger 15 years ago
parent
commit
c82538ebe4
  1. 38
      ICSharpCode.NRefactory/Completion/DisplayFlags.cs
  2. 47
      ICSharpCode.NRefactory/Completion/ICompletionData.cs
  3. 49
      ICSharpCode.NRefactory/Completion/ICompletionDataFactory.cs
  4. 37
      ICSharpCode.NRefactory/Completion/IEntityCompletionData.cs
  5. 7
      ICSharpCode.NRefactory/ICSharpCode.NRefactory.csproj

38
ICSharpCode.NRefactory/Completion/DisplayFlags.cs

@ -0,0 +1,38 @@ @@ -0,0 +1,38 @@
//
// DisplayFlags.cs
//
// Author:
// Mike Krüger <mkrueger@xamarin.com>
//
// Copyright (c) 2011 Xamarin Inc. (http://xamarin.com)
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
using System;
namespace ICSharpCode.NRefactory
{
[Flags]
public enum DisplayFlags
{
None = 0,
Hidden = 1,
Obsolete = 2
}
}

47
ICSharpCode.NRefactory/Completion/ICompletionData.cs

@ -0,0 +1,47 @@ @@ -0,0 +1,47 @@
//
// ICompletionData.cs
//
// Author:
// Mike Krüger <mkrueger@xamarin.com>
//
// Copyright (c) 2011 Xamarin Inc. (http://xamarin.com)
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
using System;
using System.Collections.Generic;
namespace ICSharpCode.NRefactory
{
public interface ICompletionData
{
string DisplayText { get; set; }
string Description { get; set; }
DisplayFlags DisplayFlags { get; set; }
bool HasOverloads {
get;
}
IEnumerable<ICompletionData> OverloadedData {
get;
}
}
}

49
ICSharpCode.NRefactory/Completion/ICompletionDataFactory.cs

@ -0,0 +1,49 @@ @@ -0,0 +1,49 @@
//
// ICompletionDataFactory.cs
//
// Author:
// Mike Krüger <mkrueger@xamarin.com>
//
// Copyright (c) 2011 Xamarin Inc. (http://xamarin.com)
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
using System;
using ICSharpCode.NRefactory.TypeSystem;
namespace ICSharpCode.NRefactory
{
public interface ICompletionDataFactory
{
ICompletionData CreateEntityCompletionData (IEntity entity);
/// <summary>
/// Creates a generic completion data.
/// </summary>
/// <returns>
/// The title of the completion data
/// </param>
/// <param name='description'>
/// The description of the literal.
/// </param>
/// <param name='insertText'>
/// The insert text. If null, title is taken.
/// </param>
ICompletionData CreateLiteralCompletionData (string title, string description, string insertText = null);
}
}

37
ICSharpCode.NRefactory/Completion/IEntityCompletionData.cs

@ -0,0 +1,37 @@ @@ -0,0 +1,37 @@
//
// IEntityCompletionData.cs
//
// Author:
// Mike Krüger <mkrueger@xamarin.com>
//
// Copyright (c) 2011 Xamarin Inc. (http://xamarin.com)
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
using System;
using ICSharpCode.NRefactory.TypeSystem;
namespace ICSharpCode.NRefactory
{
public interface IEntityCompletionData : ICompletionData
{
IEntity Entity {
get;
}
}
}

7
ICSharpCode.NRefactory/ICSharpCode.NRefactory.csproj

@ -185,10 +185,13 @@ @@ -185,10 +185,13 @@
<Compile Include="Utils\TreeTraversal.cs" />
<Compile Include="TypeSystem\Error.cs" />
<Compile Include="TypeSystem\IAnnotatable.cs" />
<Compile Include="Completion\ICompletionData.cs" />
<Compile Include="Completion\DisplayFlags.cs" />
<Compile Include="Completion\ICompletionDataFactory.cs" />
<Compile Include="Completion\IEntityCompletionData.cs" />
</ItemGroup>
<ItemGroup>
<Folder Include="Editor" />
<Folder Include="Semantics" />
<Folder Include="Completion\" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Mono.Cecil\Mono.Cecil.csproj">

Loading…
Cancel
Save