Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/addins/CBinding/Parser/CDocumentParser.cs')
-rwxr-xr-xmain/src/addins/CBinding/Parser/CDocumentParser.cs13
1 files changed, 8 insertions, 5 deletions
diff --git a/main/src/addins/CBinding/Parser/CDocumentParser.cs b/main/src/addins/CBinding/Parser/CDocumentParser.cs
index 0d13cfbbe7..82cea2c6a8 100755
--- a/main/src/addins/CBinding/Parser/CDocumentParser.cs
+++ b/main/src/addins/CBinding/Parser/CDocumentParser.cs
@@ -35,6 +35,7 @@ using MonoDevelop.Ide;
using MonoDevelop.Ide.TypeSystem;
using ICSharpCode.NRefactory.TypeSystem;
using ICSharpCode.NRefactory.TypeSystem.Implementation;
+using MonoDevelop.Core.Text;
namespace CBinding.Parser
{
@@ -43,13 +44,15 @@ namespace CBinding.Parser
/// </summary>
public class CDocumentParser: TypeSystemParser
{
- public override ParsedDocument Parse (bool storeAst, string fileName, TextReader reader, Project project = null)
+ public override System.Threading.Tasks.Task<ParsedDocument> Parse (ParseOptions options, System.Threading.CancellationToken cancellationToken)
{
+ var fileName = options.FileName;
+ var project = options.Project;
var doc = new DefaultParsedDocument (fileName);
doc.Flags |= ParsedDocumentFlags.NonSerializable;
ProjectInformation pi = ProjectInformationManager.Instance.Get (project);
- string content = reader.ReadToEnd ();
+ string content = options.Content.Text;
string[] contentLines = content.Split (new string[]{Environment.NewLine}, StringSplitOptions.None);
var globals = new DefaultUnresolvedTypeDefinition ("", GettextCatalog.GetString ("(Global Scope)"));
@@ -58,7 +61,7 @@ namespace CBinding.Parser
foreach (LanguageItem li in pi.Containers ()) {
if (null == li.Parent && FilePath.Equals (li.File, fileName)) {
var tmp = AddLanguageItem (pi, globals, li, contentLines) as IUnresolvedTypeDefinition;
- if (null != tmp){ doc.TopLevelTypeDefinitions.Add (tmp); }
+ if (null != tmp){ /*doc.TopLevelTypeDefinitions.Add (tmp);*/ }
}
}
@@ -70,8 +73,8 @@ namespace CBinding.Parser
}
}
- doc.TopLevelTypeDefinitions.Add (globals);
- return doc;
+ //doc.TopLevelTypeDefinitions.Add (globals);
+ return System.Threading.Tasks.Task.FromResult((ParsedDocument)doc);
}
/// <summary>