[Monodevelop-patches-list] r1267 - in trunk/MonoDevelop/src: AddIns/BackendBindings/CSharpBinding AddIns/BackendBindings/CSharpBinding/Parser AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree AddIns/BackendBindings/CSharpBinding/Project AddIns/DisplayBindings/SourceEditor AddIns/DisplayBindings/SourceEditor/CodeCompletion AddIns/DisplayBindings/SourceEditor/InsightWindow Libraries/MonoDevelop.Gui.Widgets Libraries/MonoDevelop.Gui.Widgets/Tree Main/Base Main/Base/Commands Main/Base/Gui/CompletionDatabaseWizard Main/Base/Gui/ContentInterfaces Main/Base/Gui/Pads/ClassScout/NodeBuilder Main/Base/Internal/CollectionUtilities Main/Base/Internal/Parser Main/Base/Internal/Parser/Collections Main/Base/Internal/Parser/Implementations Main/Base/Internal/Parser/PersistenceLayer Main/Base/Internal/Parser/ReflectionLayer Main/Base/Internal/Parser/SharpAssemblyLayer Main/Base/Services/AmbienceService Main/Base/Services/ClassBrowserIcons Main/Base/Services/ParserService Main/Base/Services/Project

commit-watcher at mono-cvs.ximian.com commit-watcher at mono-cvs.ximian.com
Sat Mar 27 16:37:08 EST 2004


Author: tberman
Date: 2004-03-27 16:37:08 -0500 (Sat, 27 Mar 2004)
New Revision: 1267

Added:
   trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/ExpressionFinder.cs
   trunk/MonoDevelop/src/Libraries/MonoDevelop.Gui.Widgets/ChangeLog
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/IExpressionFinder.cs
Modified:
   trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/CSharpAmbience.cs
   trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/CSharpBinding.cmbx
   trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/CSharpBinding.prjx
   trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/ChangeLog
   trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Makefile.am
   trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/CSharpVisitor.cs
   trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/Parser.cs
   trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/Resolver.cs
   trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/AttributeSection.cs
   trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Class.cs
   trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/CompilationUnit.cs
   trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Constructor.cs
   trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Event.cs
   trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Field.cs
   trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Indexer.cs
   trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Method.cs
   trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Parameter.cs
   trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Property.cs
   trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/ReturnType.cs
   trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/TypeVisitor.cs
   trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpCompilerParameters.cs
   trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpProject.cs
   trunk/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor/ChangeLog
   trunk/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor/CodeCompletion/CodeCompletionData.cs
   trunk/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor/CodeCompletion/CodeCompletionDataProvider.cs
   trunk/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor/CodeCompletion/CommentCompletionDataProvider.cs
   trunk/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor/InsightWindow/IndexerInsightDataProvider.cs
   trunk/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor/InsightWindow/MethodInsightDataProvider.cs
   trunk/MonoDevelop/src/Libraries/MonoDevelop.Gui.Widgets/Tree/TreeNodeCollection.cs
   trunk/MonoDevelop/src/Main/Base/ChangeLog
   trunk/MonoDevelop/src/Main/Base/Commands/AutostartCommands.cs
   trunk/MonoDevelop/src/Main/Base/Gui/CompletionDatabaseWizard/CreateDBGenerator.cs
   trunk/MonoDevelop/src/Main/Base/Gui/ContentInterfaces/IParseInformationListener.cs
   trunk/MonoDevelop/src/Main/Base/Gui/Pads/ClassScout/NodeBuilder/DefaultDotNetClassScoutNodeBuilder.cs
   trunk/MonoDevelop/src/Main/Base/Internal/CollectionUtilities/Comparers.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/ClassType.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/AttributeCollection.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/AttributeSectionCollection.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/ClassCollection.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/CommentCollection.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/EventCollection.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/FieldCollection.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/IUsingCollection.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/MethodCollection.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/ParameterCollection.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/PropertyCollection.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/TagCollection.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/TypedCSharpCollection.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Comment.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/IAttribute.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/IClass.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/IComment.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/ICompilationUnit.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/ICompilationUnitBase.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/IDecoration.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/IEvent.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/IField.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/IIndexer.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/IMember.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/IMethod.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/IParameter.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/IParser.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/IProperty.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/IRegion.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/IReturnType.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/IUsing.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractAttribute.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractClass.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractComment.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractCompilationUnit.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractDecoration.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractEvent.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractField.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractIndexer.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractMember.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractMethod.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractNamedEntity.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractParameter.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractProperty.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractReturnType.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractUsing.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/DefaultRegion.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/ModifierEnum.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/ParameterModifier.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentClass.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentEvent.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentField.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentIndexer.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentMethod.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentParameter.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentProperty.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentReturnType.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionClass.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionEvent.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionField.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionIndexer.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionMethod.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionParameter.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionProperty.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionReturnType.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyAttribute.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyClass.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyEvent.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyField.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyIndexer.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyMethod.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyParameter.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyProperty.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyReturnType.cs
   trunk/MonoDevelop/src/Main/Base/Internal/Parser/Tag.cs
   trunk/MonoDevelop/src/Main/Base/Makefile.am
   trunk/MonoDevelop/src/Main/Base/Services/AmbienceService/AbstractAmbience.cs
   trunk/MonoDevelop/src/Main/Base/Services/AmbienceService/AmbienceReflectionDecorator.cs
   trunk/MonoDevelop/src/Main/Base/Services/AmbienceService/IAmbience.cs
   trunk/MonoDevelop/src/Main/Base/Services/AmbienceService/NetAmbience.cs
   trunk/MonoDevelop/src/Main/Base/Services/ClassBrowserIcons/ClassBrowserIconsService.cs
   trunk/MonoDevelop/src/Main/Base/Services/ParserService/AssemblyInformation.cs
   trunk/MonoDevelop/src/Main/Base/Services/ParserService/ClassProxy.cs
   trunk/MonoDevelop/src/Main/Base/Services/ParserService/ClassProxyCollection.cs
   trunk/MonoDevelop/src/Main/Base/Services/ParserService/DefaultParserService.cs
   trunk/MonoDevelop/src/Main/Base/Services/ParserService/IParserService.cs
   trunk/MonoDevelop/src/Main/Base/Services/ParserService/ParseInformation.cs
   trunk/MonoDevelop/src/Main/Base/Services/Project/ParseInformationEventHandler.cs
Log:
fixed a bunch of bugs, updated from #D some stuff, lots of new shit, very cool


Modified: trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/CSharpAmbience.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/CSharpAmbience.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/CSharpAmbience.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -9,7 +9,7 @@
 using System.Collections;
 using System.Text;
 
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 using MonoDevelop.Core.Properties;
 using MonoDevelop.Core.Services;
 

Modified: trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/CSharpBinding.cmbx
===================================================================
--- trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/CSharpBinding.cmbx	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/CSharpBinding.cmbx	2004-03-27 21:37:08 UTC (rev 1267)
@@ -1,16 +1,16 @@
-<Combine fileversion="1.0" name="CSharpBinding" description="">
-  <StartMode startupentry="CSharpBinding" single="True">
-    <Execute entry="CSharpBinding" type="None" />
-  </StartMode>
-  <Entries>
-    <Entry filename=".\CSharpBinding.prjx" />
-  </Entries>
-  <Configurations active="Debug">
-    <Configuration name="Release">
-      <Entry name="CSharpBinding" configurationname="Debug" build="False" />
-    </Configuration>
-    <Configuration name="Debug">
-      <Entry name="CSharpBinding" configurationname="Debug" build="False" />
-    </Configuration>
-  </Configurations>
+<Combine fileversion="1.0" name="CSharpBinding" description="">
+  <StartMode startupentry="CSharpBinding" single="True">
+    <Execute entry="CSharpBinding" type="None" />
+  </StartMode>
+  <Entries>
+    <Entry filename=".\CSharpBinding.prjx" />
+  </Entries>
+  <Configurations active="Debug">
+    <Configuration name="Release">
+      <Entry name="CSharpBinding" configurationname="Debug" build="False" />
+    </Configuration>
+    <Configuration name="Debug">
+      <Entry name="CSharpBinding" configurationname="Debug" build="False" />
+    </Configuration>
+  </Configurations>
 </Combine>
\ No newline at end of file

Modified: trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/CSharpBinding.prjx
===================================================================
--- trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/CSharpBinding.prjx	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/CSharpBinding.prjx	2004-03-27 21:37:08 UTC (rev 1267)
@@ -1,160 +1,162 @@
-<Project name="CSharpBinding" description="fewfew" newfilesearch="None" enableviewstate="True" version="1.1" projecttype="C#">
-  <Contents>
-    <File name=".\CSharpBindingCompilerManager.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\CSharpLanguageBinding.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\CSharpBindingExecutionManager.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\Project\CSharpProject.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\Project\CSharpCompilerParameters.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\FormattingStrategy\CSharpFormattingStrategy.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\Gui\ChooseRuntimePanel.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\Gui\CodeGenerationPanel.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\Gui\OutputOptionsPanel.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\Class.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\CompilationUnit.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\Event.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\Field.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\Indexer.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\Method.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\Parameter.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\Property.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\ReturnType.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\Parser\CSharpVisitor.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\Parser\Parser.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\Parser\Resolver.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\Parser\TypeVisitor.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\Constructor.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\AttributeSection.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\CSharpAmbience.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\.svn\prop-base\CSharpAmbience.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\.svn\prop-base\CSharpBinding.cmbx.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\.svn\prop-base\CSharpBinding.prjx.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\.svn\prop-base\CSharpBindingCompilerManager.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\.svn\prop-base\CSharpBindingExecutionManager.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\.svn\prop-base\CSharpLanguageBinding.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\.svn\props\CSharpAmbience.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\.svn\props\CSharpBinding.cmbx.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\.svn\props\CSharpBinding.prjx.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\.svn\props\CSharpBindingCompilerManager.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\.svn\props\CSharpBindingExecutionManager.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\.svn\props\CSharpLanguageBinding.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\.svn\text-base\CSharpAmbience.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\.svn\text-base\CSharpBinding.cmbx.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\.svn\text-base\CSharpBinding.prjx.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\.svn\text-base\CSharpBindingCompilerManager.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\.svn\text-base\CSharpBindingExecutionManager.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\.svn\text-base\CSharpLanguageBinding.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\.svn\wcprops\CSharpAmbience.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\.svn\wcprops\CSharpBinding.cmbx.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\.svn\wcprops\CSharpBinding.prjx.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\.svn\wcprops\CSharpBindingCompilerManager.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\.svn\wcprops\CSharpBindingExecutionManager.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\.svn\wcprops\CSharpLanguageBinding.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\FormattingStrategy\.svn\prop-base\CSharpFormattingStrategy.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\FormattingStrategy\.svn\props\CSharpFormattingStrategy.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\FormattingStrategy\.svn\text-base\CSharpFormattingStrategy.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\FormattingStrategy\.svn\wcprops\CSharpFormattingStrategy.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Gui\.svn\prop-base\ChooseRuntimePanel.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Gui\.svn\prop-base\CodeGenerationPanel.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Gui\.svn\prop-base\OutputOptionsPanel.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Gui\.svn\props\ChooseRuntimePanel.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Gui\.svn\props\CodeGenerationPanel.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Gui\.svn\props\OutputOptionsPanel.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Gui\.svn\text-base\ChooseRuntimePanel.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Gui\.svn\text-base\CodeGenerationPanel.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Gui\.svn\text-base\OutputOptionsPanel.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Gui\.svn\wcprops\ChooseRuntimePanel.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Gui\.svn\wcprops\CodeGenerationPanel.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Gui\.svn\wcprops\OutputOptionsPanel.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\.svn\prop-base\CSharpVisitor.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\.svn\prop-base\Parser.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\.svn\prop-base\Resolver.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\.svn\prop-base\TypeVisitor.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\.svn\props\CSharpVisitor.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\.svn\props\Parser.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\.svn\props\Resolver.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\.svn\props\TypeVisitor.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\.svn\text-base\CSharpVisitor.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\.svn\text-base\Parser.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\.svn\text-base\Resolver.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\.svn\text-base\TypeVisitor.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\.svn\wcprops\CSharpVisitor.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\.svn\wcprops\Parser.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\.svn\wcprops\Resolver.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\.svn\wcprops\TypeVisitor.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\prop-base\Class.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\prop-base\CompilationUnit.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\prop-base\Constructor.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\prop-base\Event.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\prop-base\Field.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\prop-base\Indexer.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\prop-base\Method.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\prop-base\Parameter.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\prop-base\Property.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\prop-base\ReturnType.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\props\Class.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\props\CompilationUnit.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\props\Constructor.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\props\Event.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\props\Field.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\props\Indexer.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\props\Method.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\props\Parameter.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\props\Property.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\props\ReturnType.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\text-base\AttributeSection.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\text-base\Class.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\text-base\CompilationUnit.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\text-base\Constructor.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\text-base\Event.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\text-base\Field.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\text-base\Indexer.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\text-base\Method.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\text-base\Parameter.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\text-base\Property.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\text-base\ReturnType.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\wcprops\AttributeSection.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\wcprops\Class.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\wcprops\CompilationUnit.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\wcprops\Constructor.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\wcprops\Event.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\wcprops\Field.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\wcprops\Indexer.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\wcprops\Method.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\wcprops\Parameter.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\wcprops\Property.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Parser\SharpDevelopTree\.svn\wcprops\ReturnType.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Project\.svn\prop-base\CSharpCompilerParameters.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Project\.svn\prop-base\CSharpProject.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Project\.svn\props\CSharpCompilerParameters.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Project\.svn\props\CSharpProject.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Project\.svn\text-base\CSharpCompilerParameters.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Project\.svn\text-base\CSharpProject.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Project\.svn\wcprops\CSharpCompilerParameters.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-    <File name=".\Project\.svn\wcprops\CSharpProject.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
-  </Contents>
-  <References>
-    <Reference type="Assembly" refto="..\..\..\..\bin\SharpDevelop.Base.dll" localcopy="False" />
-    <Reference type="Assembly" refto="..\..\..\..\bin\ICSharpCode.Core.dll" localcopy="False" />
-    <Reference type="Assembly" refto="..\..\..\..\bin\ICSharpCode.TextEditor.dll" localcopy="False" />
-    <Reference type="Assembly" refto="..\..\..\..\bin\ICSharpCode.XmlForms.dll" localcopy="False" />
-    <Reference type="Assembly" refto="..\..\..\..\bin\ICSharpCode.SharpRefactory.dll" localcopy="False" />
-  </References>
-  <DeploymentInformation target="" script="" strategy="File" />
-  <Configuration runwithwarnings="True" name="Debug">
-    <CodeGeneration runtime="MsNet" compiler="Csc" warninglevel="4" includedebuginformation="True" optimize="True" unsafecodeallowed="True" generateoverflowchecks="True" mainclass="" target="Library" definesymbols="" generatexmldocumentation="False" win32Icon="" />
-    <Execution commandlineparameters="" consolepause="False" />
-    <Output directory="..\..\..\..\AddIns\AddIns\BackendBindings" assembly="CSharpBinding" executeScript="..\..\..\..\bin\SharpDevelop.exe" executeBeforeBuild="" executeAfterBuild="" />
-  </Configuration>
-  <Configurations active="Debug">
-    <Configuration runwithwarnings="True" name="Debug">
-      <CodeGeneration runtime="MsNet" compiler="Csc" warninglevel="4" includedebuginformation="True" optimize="True" unsafecodeallowed="True" generateoverflowchecks="True" mainclass="" target="Library" definesymbols="" generatexmldocumentation="False" win32Icon="" />
-      <Execution commandlineparameters="" consolepause="False" />
-      <Output directory="..\..\..\..\AddIns\AddIns\BackendBindings" assembly="CSharpBinding" executeScript="..\..\..\..\bin\SharpDevelop.exe" executeBeforeBuild="" executeAfterBuild="" />
-    </Configuration>
-    <Configuration runwithwarnings="False" name="Release">
-      <CodeGeneration runtime="MsNet" compiler="Csc" warninglevel="4" includedebuginformation="True" optimize="True" unsafecodeallowed="True" generateoverflowchecks="True" mainclass="" target="Library" definesymbols="" generatexmldocumentation="False" win32Icon="" />
-      <Execution commandlineparameters="" consolepause="True" />
-      <Output directory="..\..\..\..\AddIns\AddIns\BackendBindings" assembly="CSharpBinding" executeScript="" executeBeforeBuild="" executeAfterBuild="" />
-    </Configuration>
-  </Configurations>
+<Project name="CSharpBinding" standardNamespace="NewProject" description="" newfilesearch="None" enableviewstate="True" version="1.1" projecttype="C#">
+  <Contents>
+    <File name=".\CSharpBindingCompilerManager.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name=".\CSharpLanguageBinding.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name=".\CSharpBindingExecutionManager.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name=".\Project\CSharpProject.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name=".\Project\CSharpCompilerParameters.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name=".\FormattingStrategy\CSharpFormattingStrategy.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name=".\Gui\ChooseRuntimePanel.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name=".\Gui\CodeGenerationPanel.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name=".\Gui\OutputOptionsPanel.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\Class.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\CompilationUnit.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\Event.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\Field.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\Indexer.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\Method.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\Parameter.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\Property.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\ReturnType.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name=".\Parser\CSharpVisitor.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name=".\Parser\Parser.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name=".\Parser\Resolver.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name=".\Parser\TypeVisitor.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\Constructor.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\AttributeSection.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name=".\CSharpAmbience.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+    <File name=".\.svn\prop-base\CSharpAmbience.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\.svn\prop-base\CSharpBinding.cmbx.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\.svn\prop-base\CSharpBinding.prjx.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\.svn\prop-base\CSharpBindingCompilerManager.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\.svn\prop-base\CSharpBindingExecutionManager.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\.svn\prop-base\CSharpLanguageBinding.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\.svn\props\CSharpAmbience.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\.svn\props\CSharpBinding.cmbx.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\.svn\props\CSharpBinding.prjx.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\.svn\props\CSharpBindingCompilerManager.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\.svn\props\CSharpBindingExecutionManager.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\.svn\props\CSharpLanguageBinding.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\.svn\text-base\CSharpAmbience.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\.svn\text-base\CSharpBinding.cmbx.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\.svn\text-base\CSharpBinding.prjx.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\.svn\text-base\CSharpBindingCompilerManager.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\.svn\text-base\CSharpBindingExecutionManager.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\.svn\text-base\CSharpLanguageBinding.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\.svn\wcprops\CSharpAmbience.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\.svn\wcprops\CSharpBinding.cmbx.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\.svn\wcprops\CSharpBinding.prjx.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\.svn\wcprops\CSharpBindingCompilerManager.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\.svn\wcprops\CSharpBindingExecutionManager.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\.svn\wcprops\CSharpLanguageBinding.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\FormattingStrategy\.svn\prop-base\CSharpFormattingStrategy.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\FormattingStrategy\.svn\props\CSharpFormattingStrategy.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\FormattingStrategy\.svn\text-base\CSharpFormattingStrategy.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\FormattingStrategy\.svn\wcprops\CSharpFormattingStrategy.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Gui\.svn\prop-base\ChooseRuntimePanel.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Gui\.svn\prop-base\CodeGenerationPanel.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Gui\.svn\prop-base\OutputOptionsPanel.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Gui\.svn\props\ChooseRuntimePanel.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Gui\.svn\props\CodeGenerationPanel.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Gui\.svn\props\OutputOptionsPanel.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Gui\.svn\text-base\ChooseRuntimePanel.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Gui\.svn\text-base\CodeGenerationPanel.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Gui\.svn\text-base\OutputOptionsPanel.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Gui\.svn\wcprops\ChooseRuntimePanel.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Gui\.svn\wcprops\CodeGenerationPanel.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Gui\.svn\wcprops\OutputOptionsPanel.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\.svn\prop-base\CSharpVisitor.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\.svn\prop-base\Parser.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\.svn\prop-base\Resolver.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\.svn\prop-base\TypeVisitor.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\.svn\props\CSharpVisitor.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\.svn\props\Parser.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\.svn\props\Resolver.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\.svn\props\TypeVisitor.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\.svn\text-base\CSharpVisitor.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\.svn\text-base\Parser.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\.svn\text-base\Resolver.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\.svn\text-base\TypeVisitor.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\.svn\wcprops\CSharpVisitor.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\.svn\wcprops\Parser.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\.svn\wcprops\Resolver.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\.svn\wcprops\TypeVisitor.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\prop-base\Class.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\prop-base\CompilationUnit.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\prop-base\Constructor.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\prop-base\Event.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\prop-base\Field.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\prop-base\Indexer.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\prop-base\Method.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\prop-base\Parameter.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\prop-base\Property.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\prop-base\ReturnType.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\props\Class.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\props\CompilationUnit.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\props\Constructor.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\props\Event.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\props\Field.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\props\Indexer.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\props\Method.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\props\Parameter.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\props\Property.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\props\ReturnType.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\text-base\AttributeSection.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\text-base\Class.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\text-base\CompilationUnit.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\text-base\Constructor.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\text-base\Event.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\text-base\Field.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\text-base\Indexer.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\text-base\Method.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\text-base\Parameter.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\text-base\Property.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\text-base\ReturnType.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\wcprops\AttributeSection.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\wcprops\Class.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\wcprops\CompilationUnit.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\wcprops\Constructor.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\wcprops\Event.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\wcprops\Field.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\wcprops\Indexer.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\wcprops\Method.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\wcprops\Parameter.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\wcprops\Property.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\SharpDevelopTree\.svn\wcprops\ReturnType.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Project\.svn\prop-base\CSharpCompilerParameters.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Project\.svn\prop-base\CSharpProject.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Project\.svn\props\CSharpCompilerParameters.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Project\.svn\props\CSharpProject.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Project\.svn\text-base\CSharpCompilerParameters.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Project\.svn\text-base\CSharpProject.cs.svn-base" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Project\.svn\wcprops\CSharpCompilerParameters.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Project\.svn\wcprops\CSharpProject.cs.svn-work" subtype="Code" buildaction="Exclude" dependson="" data="" />
+    <File name=".\Parser\ExpressionFinder.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
+  </Contents>
+  <References>
+    <Reference type="Assembly" refto="..\..\..\..\bin\SharpDevelop.Base.dll" localcopy="False" />
+    <Reference type="Assembly" refto="..\..\..\..\bin\ICSharpCode.Core.dll" localcopy="False" />
+    <Reference type="Assembly" refto="..\..\..\..\bin\ICSharpCode.TextEditor.dll" localcopy="False" />
+    <Reference type="Assembly" refto="..\..\..\..\bin\ICSharpCode.XmlForms.dll" localcopy="False" />
+    <Reference type="Assembly" refto="..\..\..\..\bin\ICSharpCode.SharpRefactory.dll" localcopy="False" />
+    <Reference type="Assembly" refto="..\..\..\..\bin\ICSharpCode.Debugger.dll" localcopy="True" />
+  </References>
+  <DeploymentInformation target="" script="" strategy="File" />
+  <Configuration runwithwarnings="True" name="Debug">
+    <CodeGeneration runtime="MsNet" compiler="Csc" warninglevel="4" nowarn="" includedebuginformation="True" optimize="True" unsafecodeallowed="True" generateoverflowchecks="True" mainclass="" target="Library" definesymbols="" generatexmldocumentation="False" win32Icon="" />
+    <Execution commandlineparameters="" consolepause="False" />
+    <Output directory="..\..\..\..\AddIns\AddIns\BackendBindings" assembly="CSharpBinding" executeScript="..\..\..\..\bin\SharpDevelop.exe" executeBeforeBuild="" executeAfterBuild="" />
+  </Configuration>
+  <Configurations active="Debug">
+    <Configuration runwithwarnings="True" name="Debug">
+      <CodeGeneration runtime="MsNet" compiler="Csc" warninglevel="4" nowarn="" includedebuginformation="True" optimize="True" unsafecodeallowed="True" generateoverflowchecks="True" mainclass="" target="Library" definesymbols="" generatexmldocumentation="False" win32Icon="" />
+      <Execution commandlineparameters="" consolepause="False" />
+      <Output directory="..\..\..\..\AddIns\AddIns\BackendBindings" assembly="CSharpBinding" executeScript="..\..\..\..\bin\SharpDevelop.exe" executeBeforeBuild="" executeAfterBuild="" />
+    </Configuration>
+    <Configuration runwithwarnings="False" name="Release">
+      <CodeGeneration runtime="MsNet" compiler="Csc" warninglevel="4" nowarn="" includedebuginformation="True" optimize="True" unsafecodeallowed="True" generateoverflowchecks="True" mainclass="" target="Library" definesymbols="" generatexmldocumentation="False" win32Icon="" />
+      <Execution commandlineparameters="" consolepause="True" />
+      <Output directory="..\..\..\..\AddIns\AddIns\BackendBindings" assembly="CSharpBinding" executeScript="" executeBeforeBuild="" executeAfterBuild="" />
+    </Configuration>
+  </Configurations>
 </Project>
\ No newline at end of file

Modified: trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/ChangeLog
===================================================================
--- trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/ChangeLog	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/ChangeLog	2004-03-27 21:37:08 UTC (rev 1267)
@@ -1,3 +1,7 @@
+2003-03-27  Todd Berman  <tberman at sevenl.net>
+
+	* *: update parser and other things from upstream.
+
 2003-03-26  John Luke  <jluke at cfl.rr.com>
 
 	* CSharpBindingExecutionManager.cs: use xterm instead of

Modified: trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Makefile.am
===================================================================
--- trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Makefile.am	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Makefile.am	2004-03-27 21:37:08 UTC (rev 1267)
@@ -29,6 +29,7 @@
 ./Parser/CSharpVisitor.cs \
 ./Parser/Resolver.cs \
 ./Parser/Parser.cs \
+./Parser/ExpressionFinder.cs \
 ./CSharpBindingExecutionManager.cs \
 ./CSharpAmbience.cs \
 ./Project/CSharpProject.cs \

Modified: trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/CSharpVisitor.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/CSharpVisitor.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/CSharpVisitor.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -6,7 +6,7 @@
 
 using RefParser = ICSharpCode.SharpRefactory.Parser;
 using AST = ICSharpCode.SharpRefactory.Parser.AST;
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 using CSharpBinding.Parser.SharpDevelopTree;
 
 namespace CSharpBinding.Parser
@@ -67,7 +67,7 @@
 			return null;
 		}
 		
-//		ModifierEnum VisitModifier(MonoDevelop.SharpRefactory.Parser.Modifier m)
+//		ModifierEnum VisitModifier(ICSharpCode.SharpRefactory.Parser.Modifier m)
 //		{
 //			return (ModifierEnum)m;
 //		}
@@ -138,7 +138,7 @@
 		{
 			DefaultRegion region     = GetRegion(methodDeclaration.StartLocation, methodDeclaration.EndLocation);
 			DefaultRegion bodyRegion = GetRegion(methodDeclaration.EndLocation, methodDeclaration.Body != null ? methodDeclaration.Body.EndLocation : new Point(-1, -1));
-			
+//			Console.WriteLine(region + " --- " + bodyRegion);
 			ReturnType type = new ReturnType(methodDeclaration.TypeReference);
 			Class c       = (Class)currentClass.Peek();
 			
@@ -215,11 +215,19 @@
 		{
 			DefaultRegion region     = GetRegion(eventDeclaration.StartLocation, eventDeclaration.EndLocation);
 			DefaultRegion bodyRegion = GetRegion(eventDeclaration.BodyStart,     eventDeclaration.BodyEnd);
-			
 			ReturnType type = new ReturnType(eventDeclaration.TypeReference);
 			Class c = (Class)currentClass.Peek();
-			Event e = new Event(eventDeclaration.Name, type, eventDeclaration.Modifier, region, bodyRegion);
-			c.Events.Add(e);
+			Event e = null;
+			
+			if (eventDeclaration.VariableDeclarators != null) {
+				foreach (ICSharpCode.SharpRefactory.Parser.AST.VariableDeclaration varDecl in eventDeclaration.VariableDeclarators) {
+					e = new Event(varDecl.Name, type, eventDeclaration.Modifier, region, bodyRegion);
+					c.Events.Add(e);
+				}
+			} else {
+				e = new Event(eventDeclaration.Name, type, eventDeclaration.Modifier, region, bodyRegion);
+				c.Events.Add(e);
+			}
 			return null;
 		}
 		

Added: trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/ExpressionFinder.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/ExpressionFinder.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/ExpressionFinder.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -0,0 +1,380 @@
+using System;
+using System.Text;
+using MonoDevelop.Internal.Parser;
+
+namespace CSharpBinding.Parser
+{
+	/// <summary>
+	/// Description of ExpressionFinder.	
+	/// </summary>
+	public class ExpressionFinder : IExpressionFinder
+	{
+		public string FindExpression(string inText, int offset)
+		{
+			this.text = FilterComments(inText, ref offset);
+			this.text   = text;
+			this.offset = this.lastAccept = offset;
+			this.state  = START;
+			if (this.text == null) {
+				return null;
+			}
+			
+			while (state != ERROR) {
+				ReadNextToken();
+				//Console.WriteLine("cur state {0} got token {1} going to {2}", GetStateName(state), GetTokenName(curTokenType), GetStateName(stateTable[state, curTokenType]));
+				state = stateTable[state, curTokenType];
+				
+				if (state == ACCEPT || state == ACCEPT2) {
+					lastAccept = this.offset;
+				}
+				if (state == ACCEPTNOMORE) {
+					return this.text.Substring(this.offset + 1, offset - this.offset);
+				}
+			}
+			return this.text.Substring(this.lastAccept + 1, offset - this.lastAccept);
+		}
+		
+		#region Comment Filter and 'inside string watcher'
+		int initialOffset;
+		public string FilterComments(string text, ref int offset)
+		{
+			this.initialOffset = offset;
+			StringBuilder outText = new StringBuilder();
+			int curOffset = 0;
+			while (curOffset <= initialOffset) {
+				char ch = text[curOffset];
+				
+				switch (ch) {
+					case '@':
+						if (curOffset + 1 < text.Length && text[curOffset + 1] == '"') {
+							outText.Append(text[curOffset++]); // @
+							outText.Append(text[curOffset++]); // "
+							if (!ReadVerbatimString(outText, text, ref curOffset)) {
+								return null;
+							}
+						}else{
+							outText.Append(ch);
+							++curOffset;
+						}
+						break;
+					case '\'':
+						outText.Append(ch);
+						curOffset++;
+						// to read '" and '\" ... this should work for these cases
+						if (curOffset <= initialOffset) {
+							outText.Append(text[curOffset++]);
+						}
+						if (curOffset <= initialOffset) {
+							outText.Append(text[curOffset++]);
+						}
+						break;
+					case '"':
+						outText.Append(ch);
+						curOffset++;
+						if (!ReadString(outText, text, ref curOffset)) {
+							return null;
+						}
+						break;
+					case '/':
+						if (curOffset + 1 < text.Length && text[curOffset + 1] == '/') {
+							offset    -= 2;
+							curOffset += 2;
+							if (!ReadToEOL(text, ref curOffset, ref offset)) {
+								return null;
+							}
+						} else if (curOffset + 1 < text.Length && text[curOffset + 1] == '*') {
+							offset    -= 2;
+							curOffset += 2;
+							if (!ReadMultiLineComment(text, ref curOffset, ref offset)) {
+								return null;
+							}
+						} else {
+							goto default;
+						}
+						break;
+					default:
+						outText.Append(ch);
+						++curOffset;
+						break;
+				}
+			}
+			
+			return outText.ToString();
+		}
+		
+		bool ReadToEOL(string text, ref int curOffset, ref int offset)
+		{
+			while (curOffset <= initialOffset) {
+				char ch = text[curOffset++];
+				--offset;
+				if (ch == '\n') {
+					return true;
+				}
+			}
+			return false;
+		}
+		
+		bool ReadString(StringBuilder outText, string text, ref int curOffset)
+		{
+			while (curOffset <= initialOffset) {
+				char ch = text[curOffset++];
+				outText.Append(ch);
+				if (ch == '"') {
+					return true;
+				} else if (ch == '\\') {
+					outText.Append(text[curOffset++]);
+				}
+			}
+			return false;
+		}
+		
+		bool ReadVerbatimString(StringBuilder outText, string text, ref int curOffset)
+		{
+			while (curOffset <= initialOffset) {
+				char ch = text[curOffset++];
+				outText.Append(ch);
+				if (ch == '"') {
+					if (curOffset < text.Length && text[curOffset] == '"') {
+						outText.Append(text[curOffset++]);
+					} else {
+						return true;
+					}
+				}
+			}
+			return false;
+		}
+		
+		bool ReadMultiLineComment(string text, ref int curOffset, ref int offset)
+		{
+			while (curOffset <= initialOffset) {
+				char ch = text[curOffset++];
+				--offset;
+				if (ch == '*') {
+					if (curOffset < text.Length && text[curOffset] == '/') {
+						++curOffset;
+						--offset;
+						return true;
+					}
+				}
+			}
+			return false;
+		}
+		#endregion
+		
+		#region mini backward lexer
+		string text;
+		int    offset;
+		
+		char GetNext()
+		{
+			if (offset >= 0) {
+				return text[offset--];
+			}
+			return '\0';
+		}
+		
+		char Peek()
+		{
+			if (offset >= 0) {
+				return text[offset];
+			}
+			return '\0';
+		}
+		
+		void UnGet()
+		{
+			++offset;
+		}
+		
+		// tokens for our lexer
+		static int Err     = 0;
+		static int Dot     = 1;
+		static int StrLit  = 2;
+		static int Ident   = 3;
+		static int New     = 4;
+		static int Bracket = 5;
+		static int Parent  = 6;
+		static int Curly   = 7;
+		static int Using   = 8;
+		int curTokenType;
+		
+		string GetTokenName(int state)
+		{
+			string[] stateName = new string[] {
+				"Err", "Dot", "StrLit", "Ident", "New", "Bracket", "Paren", "Curly", "Using"
+			};
+			return stateName[state];
+		}
+		
+		void ReadNextToken()
+		{
+			char ch = GetNext();
+				
+			curTokenType = Err;
+			if (ch == '\0') {
+				return;
+			}
+			while (Char.IsWhiteSpace(ch)) {
+				ch = GetNext();
+			}
+			
+			switch (ch) {
+				case '}':
+					if (ReadBracket('{', '}')) {
+						curTokenType = Curly;
+					}
+					break;
+				case ')':
+					if (ReadBracket('(', ')')) {
+						curTokenType = Parent;
+					}
+					break;
+				case ']':
+					if (ReadBracket('[', ']')) {
+						curTokenType = Bracket;
+					}
+					break;
+				case '.':
+					curTokenType = Dot;
+					break;
+				case '\'':
+				case '"':
+					if (ReadStringLiteral(ch)) {
+						curTokenType = StrLit;
+					}
+					break;
+				default:
+					string ident = ReadIdentifier(ch);
+					if (ident != null) {
+						switch (ident) {
+							case "new":
+								curTokenType = New;
+								break;
+							case "using":
+								curTokenType = Using;
+								break;
+							default:
+								curTokenType = Ident;
+								break;
+						}
+					}
+					break;
+			}
+		}
+		
+		bool ReadStringLiteral(char litStart)
+		{
+			while (true) {
+				char ch = GetNext();
+				if (ch == '\0') {
+					return false;
+				}
+				if (ch == litStart) {
+					if (Peek() == '@' && litStart == '"') {
+						GetNext();
+					}
+					return true;
+				}
+			}
+		}
+		
+		bool ReadBracket(char openBracket, char closingBracket)
+		{
+			int curlyBraceLevel    = 0;
+			int squareBracketLevel = 0;
+			int parenthesisLevel   = 0;
+			switch (openBracket) {
+				case '(':
+					parenthesisLevel++;
+					break;
+				case '[':
+					squareBracketLevel++;
+					break;
+				case '{':
+					curlyBraceLevel++;
+					break;
+			}
+			
+			while (parenthesisLevel != 0 || squareBracketLevel != 0 || curlyBraceLevel != 0) {
+				char ch = GetNext();
+				if (ch == '\0') {
+					return false;
+				}
+				switch (ch) {
+					case '(':
+						parenthesisLevel--;
+						break;
+					case '[':
+						squareBracketLevel--;
+						break;
+					case '{':
+						curlyBraceLevel--;
+						break;
+					case ')':
+						parenthesisLevel++;
+						break;
+					case ']':
+						squareBracketLevel++;
+						break;
+					case '}':
+						curlyBraceLevel++;
+						break;
+				}
+			}
+			return true;
+		}
+		
+		string ReadIdentifier(char ch)
+		{
+			string identifier = ch.ToString();
+			while (IsIdentifierPart(Peek())) {
+				identifier = GetNext() + identifier;
+			}
+			return identifier;
+		}
+		
+		bool IsIdentifierPart(char ch)
+		{
+			return Char.IsLetterOrDigit(ch) || ch == '_';
+		}
+		#endregion
+		
+		#region finite state machine 
+		static int ERROR  = 0;
+		static int START  = 1;
+		static int DOT    = 2;
+		static int MORE   = 3;
+		static int CURLY  = 4;
+		static int CURLY2 = 5;
+		static int CURLY3 = 6;
+		
+		static int ACCEPT = 7;
+		static int ACCEPTNOMORE = 8;
+		static int ACCEPT2 = 9;
+		
+		string GetStateName(int state)
+		{
+			string[] stateName = new string[] {
+				"ERROR", "START", "DOT", "MORE", "CURLY", "CURLY2", "CURLY3", "ACCEPT", "ACCEPTNOMORE", "ACCEPT2"
+			};
+			return stateName[state];
+		}
+		
+		int state = 0;
+		int lastAccept = 0;
+		static int[,] stateTable = new int[,] {
+			//                   Err,     Dot,     Str,      ID,         New,     Brk,     Par,     Cur,   Using
+			/*ERROR*/        { ERROR,   ERROR,   ERROR,   ERROR,        ERROR,  ERROR,   ERROR,   ERROR,   ERROR},
+			/*START*/        { ERROR,     DOT,  ACCEPT,  ACCEPT,        ERROR,   MORE, ACCEPT2,   CURLY,   ACCEPTNOMORE},
+			/*DOT*/          { ERROR,   ERROR,  ACCEPT,  ACCEPT,        ERROR,   MORE,  ACCEPT,   CURLY,   ERROR},
+			/*MORE*/         { ERROR,   ERROR,  ACCEPT,  ACCEPT,        ERROR,   MORE, ACCEPT2,   CURLY,   ERROR},
+			/*CURLY*/        { ERROR,   ERROR,   ERROR,   ERROR,        ERROR, CURLY2,   ERROR,   ERROR,   ERROR},
+			/*CURLY2*/       { ERROR,   ERROR,   ERROR,  CURLY3,        ERROR,  ERROR,   ERROR,   ERROR,   ERROR},
+			/*CURLY3*/       { ERROR,   ERROR,   ERROR,   ERROR, ACCEPTNOMORE,  ERROR,   ERROR,   ERROR,   ERROR},
+			/*ACCEPT*/       { ERROR,    MORE,   ERROR,   ERROR,       ACCEPT,  ERROR,   ERROR,   ERROR,   ACCEPTNOMORE},
+			/*ACCEPTNOMORE*/ { ERROR,   ERROR,   ERROR,   ERROR,        ERROR,  ERROR,   ERROR,   ERROR,   ERROR},
+			/*ACCEPT2*/      { ERROR,    MORE,   ERROR,  ACCEPT,       ACCEPT,  ERROR,   ERROR,   ERROR,   ERROR},
+		};
+		#endregion 
+	}
+}

Modified: trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/Parser.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/Parser.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/Parser.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -5,8 +5,10 @@
 //     <version value="$version"/>
 // </file>
 using System;
+using System.Drawing;
+using System.Collections;
 using MonoDevelop.Services;
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 using CSharpBinding.Parser.SharpDevelopTree;
 using ICSharpCode.SharpRefactory.Parser;
 
@@ -21,31 +23,76 @@
 				lexerTags = value;
 			}
 		}
+		public IExpressionFinder ExpressionFinder {
+			get {
+				return new ExpressionFinder();
+			}
+		}
 		
+		void RetrieveRegions(CompilationUnit cu, SpecialTracker tracker)
+		{
+			for (int i = 0; i < tracker.CurrentSpecials.Count; ++i) {
+				PreProcessingDirective directive = tracker.CurrentSpecials[i] as PreProcessingDirective;
+				if (directive != null) {
+					if (directive.Cmd == "#region") {
+						int deep = 1; 
+						for (int j = i + 1; j < tracker.CurrentSpecials.Count; ++j) {
+							PreProcessingDirective nextDirective = tracker.CurrentSpecials[j] as PreProcessingDirective;
+							if (nextDirective != null) {
+								switch (nextDirective.Cmd) {
+									case "#region":
+										++deep;
+										break;
+									case "#endregion":
+										--deep;
+										if (deep == 0) {
+											cu.FoldingRegions.Add(new FoldingRegion(directive.Arg.Trim(), new DefaultRegion(directive.Start, new Point(nextDirective.End.X - 2, nextDirective.End.Y))));
+											goto end;
+										}
+										break;
+								}
+							}
+						}
+						end: ;
+					}
+				}
+			}
+		}
+		
 		public ICompilationUnitBase Parse(string fileName)
 		{
 			ICSharpCode.SharpRefactory.Parser.Parser p = new ICSharpCode.SharpRefactory.Parser.Parser();
 			
-			p.Parse(new Lexer(new FileReader(fileName)));
+			Lexer lexer = new Lexer(new FileReader(fileName));
+			p.Parse(lexer);
 			
 			CSharpVisitor visitor = new CSharpVisitor();
 			visitor.Visit(p.compilationUnit, null);
 			visitor.Cu.ErrorsDuringCompile = p.Errors.count > 0;
+			RetrieveRegions(visitor.Cu, lexer.SpecialTracker);
 			return visitor.Cu;
 		}
 		
 		public ICompilationUnitBase Parse(string fileName, string fileContent)
 		{
 			ICSharpCode.SharpRefactory.Parser.Parser p = new ICSharpCode.SharpRefactory.Parser.Parser();
-			p.Parse(new Lexer(new StringReader(fileContent)));
 			
+			Lexer lexer = new Lexer(new StringReader(fileContent));
+			p.Parse(lexer);
+			
 			CSharpVisitor visitor = new CSharpVisitor();
 			visitor.Visit(p.compilationUnit, null);
 			visitor.Cu.ErrorsDuringCompile = p.Errors.count > 0;
 			visitor.Cu.Tag = p.compilationUnit;
+			RetrieveRegions(visitor.Cu, lexer.SpecialTracker);
 			return visitor.Cu;
 		}
 		
+		public ArrayList CtrlSpace(IParserService parserService, int caretLine, int caretColumn, string fileName)
+		{
+			return new Resolver().CtrlSpace(parserService, caretLine, caretColumn, fileName);
+		}
+		
 		public ResolveResult Resolve(IParserService parserService, string expression, int caretLineNumber, int caretColumn, string fileName, string fileContent)
 		{
 			return new Resolver().Resolve(parserService, expression, caretLineNumber, caretColumn, fileName, fileContent);

Modified: trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/Resolver.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/Resolver.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/Resolver.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -10,7 +10,7 @@
 using System.Drawing;
 
 using MonoDevelop.Services;
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 using CSharpBinding.Parser.SharpDevelopTree;
 using ICSharpCode.SharpRefactory.Parser.AST;
 using ICSharpCode.SharpRefactory.Parser;
@@ -59,7 +59,10 @@
 		
 		public ResolveResult Resolve(IParserService parserService, string expression, int caretLineNumber, int caretColumn, string fileName, string fileContent)
 		{
-//			Console.WriteLine("Start Resolving");
+			Console.WriteLine("Start Resolving");
+			if (expression == null) {
+				return null;
+			}
 			expression = expression.TrimStart(null);
 			if (expression == "") {
 				return null;
@@ -89,27 +92,48 @@
 				return new ResolveResult(namespaces);
 			}
 			
-//			Console.WriteLine("Not in Using");
+			Console.WriteLine("Not in Using");
 			this.caretLine     = caretLineNumber;
 			this.caretColumn   = caretColumn;
 			
 			this.parserService = parserService;
-			IParseInformation parseInfo = parserService.GetParseInformation (fileName, fileContent);
-			
+			IParseInformation parseInfo = parserService.GetParseInformation(fileName);
 			ICSharpCode.SharpRefactory.Parser.AST.CompilationUnit fileCompilationUnit = parseInfo.MostRecentCompilationUnit.Tag as ICSharpCode.SharpRefactory.Parser.AST.CompilationUnit;
 			if (fileCompilationUnit == null) {
-//				MonoDevelop.SharpRefactory.Parser.Parser fileParser = new MonoDevelop.SharpRefactory.Parser.Parser();
+//				ICSharpCode.SharpRefactory.Parser.Parser fileParser = new ICSharpCode.SharpRefactory.Parser.Parser();
 //				fileParser.Parse(new Lexer(new StringReader(fileContent)));
 				Console.WriteLine("!Warning: no parseinformation!");
 				return null;
 			}
-			
-			
+			/*
+			//// try to find last expression in original string, it could be like " if (act!=null) act"
+			//// in this case only "act" should be parsed as expression  
+			!!is so!! don't change things that work
+			Expression expr=null;	// tentative expression
+			Lexer l=null;
+			ICSharpCode.SharpRefactory.Parser.Parser p = new ICSharpCode.SharpRefactory.Parser.Parser();
+			while (expression.Length > 0) {
+				l = new Lexer(new StringReader(expression));
+				expr = p.ParseExpression(l);
+				if (l.LookAhead.val != "" && expression.LastIndexOf(l.LookAhead.val) >= 0) {
+					if (expression.Substring(expression.LastIndexOf(l.LookAhead.val) + l.LookAhead.val.Length).Length > 0) 
+						expression=expression.Substring(expression.LastIndexOf(l.LookAhead.val) + l.LookAhead.val.Length).Trim();
+					else {
+						expression=l.LookAhead.val.Trim();
+						l=new Lexer(new StringReader(expression));
+						expr=p.ParseExpression(l);
+						break;
+					}
+				} else {
+					if (l.Token.val!="" || expr!=null) break;
+				}
+			}
+			//// here last subexpression should be fixed in expr
+			if it should be changed in expressionfinder don't fix it here
+			*/
+			ICSharpCode.SharpRefactory.Parser.Parser p = new ICSharpCode.SharpRefactory.Parser.Parser();
 			Lexer l = new Lexer(new StringReader(expression));
-			ICSharpCode.SharpRefactory.Parser.Parser p = new ICSharpCode.SharpRefactory.Parser.Parser();
 			Expression expr = p.ParseExpression(l);
-			
-			
 			if (expr == null) {
 				return null;
 			}
@@ -122,24 +146,33 @@
 			cu = (ICompilationUnit)cSharpVisitor.Visit(fileCompilationUnit, null);
 			if (cu != null) {
 				callingClass = GetInnermostClass();
-//				Console.WriteLine("CallingClass is " + callingClass == null ? "null" : callingClass.Name);
+				Console.WriteLine("CallingClass is " + callingClass == null ? "null" : callingClass.Name);
 			}
-//			Console.WriteLine(expr.ToString());
+			Console.WriteLine("expression = " + expr.ToString());
 			IReturnType type = expr.AcceptVisitor(typeVisitor, null) as IReturnType;
-//			Console.WriteLine("type visited");
+			Console.WriteLine("type visited");
 			if (type == null || type.PointerNestingLevel != 0) {
 //				Console.WriteLine("Type == null || type.PointerNestingLevel != 0");
-//				if (type != null) {
-//					Console.WriteLine("PointerNestingLevel is " + type.PointerNestingLevel);
-//				} else {
-//					Console.WriteLine("Type == null");
-//				}
-				return null;
+				if (type != null) {
+					Console.WriteLine("PointerNestingLevel is " + type.PointerNestingLevel);
+				} else {
+					Console.WriteLine("Type == null");
+				}
+				//// when type is null might be file needs to be reparsed - some vars were lost
+				fileCompilationUnit=parserService.ParseFile(fileName, fileContent).MostRecentCompilationUnit.Tag 
+					as ICSharpCode.SharpRefactory.Parser.AST.CompilationUnit;
+				lookupTableVisitor.Visit(fileCompilationUnit,null);
+				cu = (ICompilationUnit)cSharpVisitor.Visit(fileCompilationUnit, null);
+				if (cu != null) {
+					callingClass = GetInnermostClass();
+				}
+				type=expr.AcceptVisitor(typeVisitor,null) as IReturnType;
+				if (type==null)	return null;
 			}
 			if (type.ArrayDimensions != null && type.ArrayDimensions.Length > 0) {
 				type = new ReturnType("System.Array");
 			}
-//			Console.WriteLine("Here: Type is " + type.FullyQualifiedName);
+			Console.WriteLine("Here: Type is " + type.FullyQualifiedName);
 			IClass returnClass = SearchType(type.FullyQualifiedName, cu);
 			if (returnClass == null) {
 				// Try if type is Namespace:
@@ -163,7 +196,7 @@
 		
 		ArrayList ListMembers(ArrayList members, IClass curType)
 		{
-			Console.WriteLine("LIST MEMBERS!!!");
+//			Console.WriteLine("LIST MEMBERS!!!");
 //			Console.WriteLine("showStatic = " + showStatic);
 //			Console.WriteLine(curType.InnerClasses.Count + " classes");
 //			Console.WriteLine(curType.Properties.Count + " properties");
@@ -182,6 +215,15 @@
 				if (MustBeShowen(curType, p)) {
 					members.Add(p);
 //					Console.WriteLine("Member added");
+				} else {
+					//// for some public static properties msutbeshowen is false, so additional check
+					//// this is lame fix because curType doesn't allow to find out if to show only
+					//// static public or simply public properties
+					if (((AbstractMember)p).ReturnType!=null) {
+						// if public add it to completion window
+						if (((AbstractDecoration)p).IsPublic) members.Add(p);
+//						Console.WriteLine("Property {0} added", p.FullyQualifiedName);
+					}
 				}
 			}
 //			Console.WriteLine("ADDING METHODS!!!");
@@ -202,6 +244,12 @@
 				if (MustBeShowen(curType, f)) {
 					members.Add(f);
 //					Console.WriteLine("Member added");
+				} else {
+					//// enum fields must be shown here if present
+					if (curType.ClassType == ClassType.Enum) {
+						if (IsAccessible(curType,f)) members.Add(f);
+//						Console.WriteLine("Member {0} added", f.FullyQualifiedName);
+					}
 				}
 			}
 //			Console.WriteLine("ClassType = " + curType.ClassType);
@@ -269,6 +317,7 @@
 //			Console.WriteLine("member:" + member.Modifiers);
 			if ((!showStatic &&  ((member.Modifiers & ModifierEnum.Static) == ModifierEnum.Static)) ||
 			    ( showStatic && !((member.Modifiers & ModifierEnum.Static) == ModifierEnum.Static))) {
+				//// enum type fields are not shown here - there is no info in member about enum field
 				return false;
 			}
 //			Console.WriteLine("Testing Accessibility");
@@ -435,9 +484,9 @@
 //			Console.WriteLine("LookUpTable has {0} entries", lookupTableVisitor.variables.Count);
 //			Console.WriteLine("Listing Variables:");
 			IDictionaryEnumerator enumerator = lookupTableVisitor.variables.GetEnumerator();
-//			while (enumerator.MoveNext()) {
-//				Console.WriteLine(enumerator.Key);
-//			}
+			while (enumerator.MoveNext()) {
+				Console.WriteLine(enumerator.Key);
+			}
 //			Console.WriteLine("end listing");
 			ArrayList variables = (ArrayList)lookupTableVisitor.variables[name];
 			if (variables == null || variables.Count <= 0) {
@@ -480,7 +529,15 @@
 			if (callingClass == null) {
 				return null;
 			}
-			
+			//// somehow search in callingClass fields is not returning anything, so I am searching here once again
+			foreach (IField f in callingClass.Fields) {
+				if (f.Name == typeName) {
+//					Console.WriteLine("Field found " + f.Name);
+					return f.ReturnType;
+				}
+			}
+			//// end of mod for search in Fields
+		
 			// try if typeName is a method parameter
 			IReturnType p = SearchMethodParameter(typeName);
 			if (p != null) {
@@ -738,5 +795,52 @@
 				}
 			}
 		}
+		
+		public ArrayList CtrlSpace(IParserService parserService, int caretLine, int caretColumn, string fileName)
+		{
+			ArrayList result = new ArrayList();
+			this.parserService = parserService;
+			IParseInformation parseInfo = parserService.GetParseInformation(fileName);
+			ICSharpCode.SharpRefactory.Parser.AST.CompilationUnit fileCompilationUnit = parseInfo.MostRecentCompilationUnit.Tag as ICSharpCode.SharpRefactory.Parser.AST.CompilationUnit;
+			if (fileCompilationUnit == null) {
+				Console.WriteLine("!Warning: no parseinformation!");
+				return null;
+			}
+			lookupTableVisitor = new LookupTableVisitor();
+			lookupTableVisitor.Visit(fileCompilationUnit, null);
+			CSharpVisitor cSharpVisitor = new CSharpVisitor();
+			cu = (ICompilationUnit)cSharpVisitor.Visit(fileCompilationUnit, null);
+			if (cu != null) {
+				callingClass = GetInnermostClass();
+//				Console.WriteLine("CallingClass is " + callingClass == null ? "null" : callingClass.Name);
+			}
+			foreach (string name in lookupTableVisitor.variables.Keys) {
+				ArrayList variables = (ArrayList)lookupTableVisitor.variables[name];
+				if (variables != null && variables.Count > 0) {
+					foreach (LocalLookupVariable v in variables) {
+						if (IsInside(new Point(caretColumn, caretLine), v.StartPos, v.EndPos)) {
+							result.Add(v);
+							break;
+						}
+					}
+				}
+			}
+			if (callingClass != null) {
+				result = ListMembers(result, callingClass);
+			}
+			string n = "";
+			result.AddRange(parserService.GetNamespaceContents(n));
+			foreach (IUsing u in cu.Usings) {
+				if (u != null && (u.Region == null || u.Region.IsInside(caretLine, caretColumn))) {
+					foreach (string name in u.Usings) {
+						result.AddRange(parserService.GetNamespaceContents(name));
+					}
+					foreach (string alias in u.Aliases.Keys) {
+						result.Add(alias);
+					}
+				}
+			}
+			return result;
+		}
 	}
 }

Modified: trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/AttributeSection.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/AttributeSection.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/AttributeSection.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -1,6 +1,6 @@
 // created on 08.09.2003 at 16:17
 
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 using System.Collections;
 
 namespace CSharpBinding.Parser.SharpDevelopTree

Modified: trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Class.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Class.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Class.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -2,7 +2,7 @@
 
 using System.Diagnostics;
 
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 using ICSharpCode.SharpRefactory.Parser;
 
 namespace CSharpBinding.Parser.SharpDevelopTree

Modified: trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/CompilationUnit.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/CompilationUnit.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/CompilationUnit.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -1,6 +1,6 @@
 // created on 04.08.2003 at 17:31
 
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 
 namespace CSharpBinding.Parser.SharpDevelopTree
 {

Modified: trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Constructor.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Constructor.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Constructor.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -1,6 +1,6 @@
 // created on 06.08.2003 at 12:35
 
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 using ICSharpCode.SharpRefactory.Parser;
 
 namespace CSharpBinding.Parser.SharpDevelopTree

Modified: trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Event.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Event.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Event.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -1,6 +1,6 @@
 // created on 06.08.2003 at 12:30
 
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 using ICSharpCode.SharpRefactory.Parser;
 
 namespace CSharpBinding.Parser.SharpDevelopTree

Modified: trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Field.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Field.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Field.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -1,6 +1,6 @@
 // created on 04.08.2003 at 18:06
 
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 using ICSharpCode.SharpRefactory.Parser;
 
 namespace CSharpBinding.Parser.SharpDevelopTree

Modified: trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Indexer.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Indexer.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Indexer.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -1,6 +1,6 @@
 // created on 06.08.2003 at 12:34
 
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 using ICSharpCode.SharpRefactory.Parser;
 
 namespace CSharpBinding.Parser.SharpDevelopTree

Modified: trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Method.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Method.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Method.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -1,6 +1,6 @@
 // created on 06.08.2003 at 12:35
 using System;
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 using ICSharpCode.SharpRefactory.Parser;
 
 namespace CSharpBinding.Parser.SharpDevelopTree

Modified: trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Parameter.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Parameter.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Parameter.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -1,6 +1,6 @@
 // created on 07.08.2003 at 20:12
 
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 
 namespace CSharpBinding.Parser.SharpDevelopTree
 {

Modified: trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Property.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Property.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/Property.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -1,6 +1,6 @@
 // created on 06.08.2003 at 12:36
 
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 using ICSharpCode.SharpRefactory.Parser;
 
 namespace CSharpBinding.Parser.SharpDevelopTree

Modified: trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/ReturnType.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/ReturnType.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/SharpDevelopTree/ReturnType.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -1,6 +1,6 @@
 // created on 04.08.2003 at 18:08
 
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 
 namespace CSharpBinding.Parser.SharpDevelopTree
 {
@@ -26,25 +26,25 @@
 		
 		public ReturnType(string fullyQualifiedName)
 		{
-			base.fullyQualifiedName = fullyQualifiedName;
+			base.FullyQualifiedName = fullyQualifiedName;
 		}
 		
 		public ReturnType(string fullyQualifiedName, int[] arrayDimensions, int pointerNestingLevel)
 		{
-			this.fullyQualifiedName  = fullyQualifiedName;
+			this.FullyQualifiedName  = fullyQualifiedName;
 			this.arrayDimensions     = arrayDimensions;
 			this.pointerNestingLevel = pointerNestingLevel;
 		}
 		
 		public ReturnType(ICSharpCode.SharpRefactory.Parser.AST.TypeReference type)
 		{
-			base.fullyQualifiedName  = type.SystemType;
+			base.FullyQualifiedName  = type.SystemType;
 			base.arrayDimensions     = type.RankSpecifier == null ? new int[] { } : type.RankSpecifier;
 			base.pointerNestingLevel = type.PointerNestingLevel;
 		}
 		public ReturnType Clone()
 		{
-			return new ReturnType(fullyQualifiedName, arrayDimensions, pointerNestingLevel);
+			return new ReturnType(FullyQualifiedName, arrayDimensions, pointerNestingLevel);
 		}
 	}
 }

Modified: trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/TypeVisitor.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/TypeVisitor.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Parser/TypeVisitor.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,7 +7,7 @@
 using ICSharpCode.SharpRefactory.Parser.AST;
 using CSharpBinding.Parser.SharpDevelopTree;
 
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 
 namespace CSharpBinding.Parser
 {

Modified: trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpCompilerParameters.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpCompilerParameters.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpCompilerParameters.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -8,15 +8,16 @@
 using System;
 using System.Xml;
 using System.Diagnostics;
-
+using System.ComponentModel;
+using MonoDevelop.Gui.Components;
 using MonoDevelop.Internal.Project;
 
 namespace CSharpBinding
 {
 	public enum CompileTarget {
-		Exe,
-		Library, 
+		Exe, 
 		WinExe, 
+		Library,
 		Module
 	};
 	
@@ -37,7 +38,7 @@
 	public class CSharpCompilerParameters : AbstractProjectConfiguration
 	{
 		[XmlNodeName("CodeGeneration")]
-		protected class CodeGeneration 
+		public class CodeGeneration 
 		{
 			[XmlAttribute("runtime")]
 			public NetRuntime netRuntime         = NetRuntime.MsNet;
@@ -48,6 +49,9 @@
 			[XmlAttribute("warninglevel")]
 			public int  warninglevel       = 4;
 			
+			[XmlAttribute("nowarn")]
+			public string noWarnings      = String.Empty;
+			
 			[XmlAttribute("includedebuginformation")]
 			public bool debugmode          = true;
 			
@@ -78,7 +82,7 @@
 		}
 		
 		[XmlNodeName("Execution")]
-		protected class Execution
+		public class Execution
 		{
 			[XmlAttribute("commandlineparameters")]
 			public string  commandLineParameters = String.Empty;
@@ -90,6 +94,7 @@
 		protected CodeGeneration codeGeneration = new CodeGeneration();
 		protected Execution      execution      = new Execution();
 		
+		[Browsable(false)]
 		public CsharpCompiler CsharpCompiler {
 			get {
 				return codeGeneration.csharpCompiler;
@@ -99,6 +104,7 @@
 			}
 		}
 		
+		[Browsable(false)]
 		public NetRuntime NetRuntime {
 			get {
 				return codeGeneration.netRuntime;
@@ -108,24 +114,33 @@
 			}
 		}
 		
-		public bool GenerateXmlDocumentation {
+		[Browsable(false)]
+		public string Win32Icon {
 			get {
-				return codeGeneration.generateXmlDocumentation;
+				return codeGeneration.win32Icon;
 			}
 			set {
-				codeGeneration.generateXmlDocumentation = value;
+				codeGeneration.win32Icon = value;
 			}
 		}
-		
-		public string Win32Icon {
+#region Code Generation
+		[DefaultValue("")]
+		[LocalizedProperty("${res:BackendBindings.CompilerOptions.CodeGeneration.MainClass}",
+		                   Category    = "${res:BackendBindings.CompilerOptions.CodeGeneration}",
+		                   Description = "${res:BackendBindings.CompilerOptions.CodeGeneration.MainClass.Description}")]
+		public string MainClass {
 			get {
-				return codeGeneration.win32Icon;
+				return codeGeneration.mainclass;
 			}
 			set {
-				codeGeneration.win32Icon = value;
+				codeGeneration.mainclass = value;
 			}
 		}
 		
+		[DefaultValue("")]
+		[LocalizedProperty("${res:BackendBindings.CompilerOptions.CodeGeneration.DefineSymbols}",
+		                   Category    = "${res:BackendBindings.CompilerOptions.CodeGeneration}",
+		                   Description = "${res:BackendBindings.CompilerOptions.CodeGeneration.DefineSymbols.Description}")]
 		public string DefineSymbols {
 			get {
 				return codeGeneration.definesymbols;
@@ -135,78 +150,122 @@
 			}
 		}
 		
-		public string CommandLineParameters {
+		[DefaultValue(true)]
+		[LocalizedProperty("${res:BackendBindings.CompilerOptions.CodeGeneration.DebugMode}",
+		                   Category    = "${res:BackendBindings.CompilerOptions.CodeGeneration}",
+		                   Description = "${res:BackendBindings.CompilerOptions.CodeGeneration.DebugMode.Description}")]
+		public bool Debugmode {
 			get {
-				return execution.commandLineParameters;
+				return codeGeneration.debugmode;
 			}
 			set {
-				execution.commandLineParameters = value;
+				codeGeneration.debugmode = value;
 			}
 		}
 		
-		public int WarningLevel {
+		[DefaultValue(true)]
+		[LocalizedProperty("${res:BackendBindings.CompilerOptions.CodeGeneration.Optimize}",
+		                   Category    = "${res:BackendBindings.CompilerOptions.CodeGeneration}",
+		                   Description = "${res:BackendBindings.CompilerOptions.CodeGeneration.Optimize.Description}")]
+		public bool Optimize {
 			get {
-				return codeGeneration.warninglevel;
+				return codeGeneration.optimize;
 			}
 			set {
-				codeGeneration.warninglevel = value;
+				codeGeneration.optimize = value;
 			}
 		}
 		
-		public bool PauseConsoleOutput {
+		[DefaultValue(false)]
+		[LocalizedProperty("${res:BackendBindings.CompilerOptions.CodeGeneration.UnsafeCode}",
+		                   Category    = "${res:BackendBindings.CompilerOptions.CodeGeneration}",
+		                   Description = "${res:BackendBindings.CompilerOptions.CodeGeneration.UnsafeCode.Description}")]
+		public bool UnsafeCode {
 			get {
-				return execution.pauseconsoleoutput;
+				return codeGeneration.unsafecode;
 			}
 			set {
-				execution.pauseconsoleoutput = value;
+				codeGeneration.unsafecode = value;
 			}
 		}
 		
-		public bool Debugmode {
+		[DefaultValue(true)]
+		[LocalizedProperty("${res:BackendBindings.CompilerOptions.CodeGeneration.GenerateOverflowChecks}",
+		                   Category    = "${res:BackendBindings.CompilerOptions.CodeGeneration}",
+		                   Description = "${res:BackendBindings.CompilerOptions.CodeGeneration.GenerateOverflowChecks.Description}")]
+		public bool GenerateOverflowChecks {
 			get {
-				return codeGeneration.debugmode;
+				return codeGeneration.generateOverflowChecks;
 			}
 			set {
-				codeGeneration.debugmode = value;
+				codeGeneration.generateOverflowChecks = value;
 			}
 		}
 		
-		public bool Optimize {
+		[DefaultValue(false)]
+		[LocalizedProperty("${res:BackendBindings.CompilerOptions.CodeGeneration.GenerateXmlDocumentation}",
+		                   Category    = "${res:BackendBindings.CompilerOptions.CodeGeneration}",
+		                   Description = "${res:BackendBindings.CompilerOptions.CodeGeneration.GenerateXmlDocumentation.Description}")]
+		public bool GenerateXmlDocumentation {
 			get {
-				return codeGeneration.optimize;
+				return codeGeneration.generateXmlDocumentation;
 			}
 			set {
-				codeGeneration.optimize = value;
+				codeGeneration.generateXmlDocumentation = value;
 			}
 		}
 		
-		public bool UnsafeCode {
+#endregion
+
+#region Errors and Warnings 
+		[DefaultValue(4)]
+		[LocalizedProperty("${res:BackendBindings.CompilerOptions.WarningAndErrorCategory.WarningLevel}",
+		                   Category    = "${res:BackendBindings.CompilerOptions.WarningAndErrorCategory}",
+		                   Description = "${res:BackendBindings.CompilerOptions.WarningAndErrorCategory.WarningLevel.Description}")]
+		public int WarningLevel {
 			get {
-				return codeGeneration.unsafecode;
+				return codeGeneration.warninglevel;
 			}
 			set {
-				codeGeneration.unsafecode = value;
+				codeGeneration.warninglevel = value;
 			}
 		}
 		
-		public bool GenerateOverflowChecks {
+		[DefaultValue("")]
+		[LocalizedProperty("${res:BackendBindings.CompilerOptions.WarningAndErrorCategory.NoWarnings}",
+		                   Category    = "${res:BackendBindings.CompilerOptions.WarningAndErrorCategory}",
+		                   Description = "${res:BackendBindings.CompilerOptions.WarningAndErrorCategory.NoWarnings.Description}")]
+		public string NoWarnings {
 			get {
-				return codeGeneration.generateOverflowChecks;
+				return codeGeneration.noWarnings;
 			}
 			set {
-				codeGeneration.generateOverflowChecks = value;
+				codeGeneration.noWarnings = value;
 			}
 		}
+#endregion
+		[Browsable(false)]
+		public string CommandLineParameters {
+			get {
+				return execution.commandLineParameters;
+			}
+			set {
+				execution.commandLineParameters = value;
+			}
+		}
 		
-		public string MainClass {
+		[Browsable(false)]
+		public bool PauseConsoleOutput {
 			get {
-				return codeGeneration.mainclass;
+				return execution.pauseconsoleoutput;
 			}
 			set {
-				codeGeneration.mainclass = value;
+				execution.pauseconsoleoutput = value;
 			}
 		}
 		
+		
+		[Browsable(false)]
 		public CompileTarget CompileTarget {
 			get {
 				return codeGeneration.compiletarget;

Modified: trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpProject.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpProject.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpProject.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -1,7 +1,7 @@
-// <file>
+// <file>
 //     <copyright see="prj:///doc/copyright.txt"/>
 //     <license see="prj:///doc/license.txt"/>
-//     <owner name="Mike Krüger" email="mike at icsharpcode.net"/>
+//     <owner name="Mike Krüger" email="mike at icsharpcode.net"/>
 //     <version value="$version"/>
 // </file>
 
@@ -21,7 +21,7 @@
 	/// This class describes a C Sharp project and it compilation options.
 	/// </summary>
 	public class CSharpProject : AbstractProject
-	{		
+	{
 		public override string ProjectType {
 			get {
 				return CSharpLanguageBinding.LanguageName;

Modified: trunk/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor/ChangeLog
===================================================================
--- trunk/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor/ChangeLog	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor/ChangeLog	2004-03-27 21:37:08 UTC (rev 1267)
@@ -1,3 +1,8 @@
+2004-03-27  Todd Berman  <tberman at sevenl.net>
+
+	* CodeCompletion/*Provider.cs:
+	* InsightWindow/*Provider.cs: update to reflect parser differences.
+
 2004-03-26  John Luke  <jluke at cfl.rr.com>
 
 	* Gui/SourceEditorView.xs: add DeleteLine for control + L and

Modified: trunk/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor/CodeCompletion/CodeCompletionData.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor/CodeCompletion/CodeCompletionData.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor/CodeCompletion/CodeCompletionData.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -11,7 +11,7 @@
 using System.Text.RegularExpressions;
 using System.IO;
 
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 using MonoDevelop.Services;
 using MonoDevelop.Core.Services;
 using MonoDevelop.SourceEditor.Gui;

Modified: trunk/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor/CodeCompletion/CodeCompletionDataProvider.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor/CodeCompletion/CodeCompletionDataProvider.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor/CodeCompletion/CodeCompletionDataProvider.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -18,7 +18,7 @@
 using MonoDevelop.Gui;
 using MonoDevelop.Internal.Templates;
 using MonoDevelop.Services;
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 
 using MonoDevelop.SourceEditor.Gui;
 using Stock = MonoDevelop.Gui.Stock;
@@ -97,8 +97,7 @@
 				                                caretLineNumber,
 				                                caretColumn,
 				                                fileName,
-				                                textArea.Buffer.Text,
-								lang);
+				                                textArea.Buffer.Text);
 					AddResolveResults(results);
 				}
 			}

Modified: trunk/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor/CodeCompletion/CommentCompletionDataProvider.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor/CodeCompletion/CommentCompletionDataProvider.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor/CodeCompletion/CommentCompletionDataProvider.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -16,7 +16,7 @@
 using MonoDevelop.Internal.Templates;
 using MonoDevelop.Services;
 
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 using MonoDevelop.SourceEditor.Gui;
 using Stock = MonoDevelop.Gui.Stock;
 

Modified: trunk/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor/InsightWindow/IndexerInsightDataProvider.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor/InsightWindow/IndexerInsightDataProvider.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor/InsightWindow/IndexerInsightDataProvider.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -14,7 +14,7 @@
 using MonoDevelop.Core.Properties;
 using MonoDevelop.Internal.Templates;
 using MonoDevelop.Services;
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 
 using MonoDevelop.SourceEditor.Gui;
 using MonoDevelop.SourceEditor.CodeCompletion;
@@ -69,7 +69,9 @@
 						methods.Add(indexer);
 					}
 				}
-				foreach (object o in results.ResolveContents) {
+
+				//FIXME: This shouldnt be commented out, but i replaced the parser and cant figure this out
+				/*foreach (object o in results.ResolveContents) {
 					if (o is IClass) {
 						foreach (IClass c in ((IClass)o).ClassInheritanceTree) {
 							foreach (IIndexer indexer in c.Indexer) {
@@ -77,7 +79,7 @@
 							}
 						}
 					}
-				}
+				}*/
 			}
 		}
 		

Modified: trunk/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor/InsightWindow/MethodInsightDataProvider.cs
===================================================================
--- trunk/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor/InsightWindow/MethodInsightDataProvider.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/AddIns/DisplayBindings/SourceEditor/InsightWindow/MethodInsightDataProvider.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -14,7 +14,7 @@
 using MonoDevelop.Core.Properties;
 using MonoDevelop.Internal.Templates;
 using MonoDevelop.Services;
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 
 using MonoDevelop.SourceEditor.Gui;
 using MonoDevelop.SourceEditor.CodeCompletion;

Added: trunk/MonoDevelop/src/Libraries/MonoDevelop.Gui.Widgets/ChangeLog
===================================================================
--- trunk/MonoDevelop/src/Libraries/MonoDevelop.Gui.Widgets/ChangeLog	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Libraries/MonoDevelop.Gui.Widgets/ChangeLog	2004-03-27 21:37:08 UTC (rev 1267)
@@ -0,0 +1,3 @@
+2004-03-27  Todd Berman  <tberman at sevenl.net>
+
+	* Tree/TreeNodeCollection.cs: fix indentation

Modified: trunk/MonoDevelop/src/Libraries/MonoDevelop.Gui.Widgets/Tree/TreeNodeCollection.cs
===================================================================
--- trunk/MonoDevelop/src/Libraries/MonoDevelop.Gui.Widgets/Tree/TreeNodeCollection.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Libraries/MonoDevelop.Gui.Widgets/Tree/TreeNodeCollection.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -5,9 +5,9 @@
     public class TreeNodeCollection: IList {
 		private ArrayList list;
                                                                                                                              
-        public TreeNodeCollection() {
+		public TreeNodeCollection() {
 			list = new ArrayList();
-        }
+		}
 
 		public int Count {
 			get { return list.Count; }

Modified: trunk/MonoDevelop/src/Main/Base/ChangeLog
===================================================================
--- trunk/MonoDevelop/src/Main/Base/ChangeLog	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/ChangeLog	2004-03-27 21:37:08 UTC (rev 1267)
@@ -1,3 +1,19 @@
+2004-03-27  Todd Berman  <tberman at sevenl.net>
+
+	* Internal/Parser/*: update to new parser from upstream.
+	* Gui/ContentInterfaces/IParseInformationListener.cs: update.
+	* Gui/Pads/ClassScout/NodeBuilder/DefaultDotNetClassScoutNodeBuilder.cs:
+		rework to use SortUtilities and a TreeNodeComparer for removal
+		this should fix 99% of those strange class browser bugs.
+	* Gui/CompletionDatabaseWizard/CreateDBGenerator.cs:
+		update to reflect new parser changes.
+	* Services/ParserService/*: update from upstream, add some of our mods
+	* Services/ProjectService/ParseInformationEventHandler.cs:
+	* Services/ClassBrowserIcons/ClassBrowserIconsService.cs:
+	* Services/AmbienceService/*:
+	* Commands/AutostartCommands.cs: update to reflect other changes.
+	* Makefile.am: update with new files.
+
 2004-03-26  John Luke  <jluke at cfl.rr.com>
 
 	* Gui/Dialogs/SharpDevelopAboutPanels.cs:

Modified: trunk/MonoDevelop/src/Main/Base/Commands/AutostartCommands.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Commands/AutostartCommands.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Commands/AutostartCommands.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -26,7 +26,7 @@
 
 using SA = MonoDevelop.SharpAssembly.Assembly;
 
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 
 namespace MonoDevelop.Commands
 {

Modified: trunk/MonoDevelop/src/Main/Base/Gui/CompletionDatabaseWizard/CreateDBGenerator.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Gui/CompletionDatabaseWizard/CreateDBGenerator.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Gui/CompletionDatabaseWizard/CreateDBGenerator.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -20,9 +20,9 @@
 			string path = this.CreateCodeCompletionDir();
 			DefaultParserService parserService  = (DefaultParserService)MonoDevelop.Core.Services.ServiceManager.Services.GetService(typeof(DefaultParserService));
 			if (Fast) {
-				parserService.GenerateCodeCompletionDatabaseFast(path, progress);
+				parserService.GenerateCodeCompletionDatabase (path, progress);
 			} else {
-				parserService.GenerateEfficientCodeCompletionDatabase(path, progress);
+				parserService.GenerateCodeCompletionDatabase (path, progress);
 			}
 		}
 	}

Modified: trunk/MonoDevelop/src/Main/Base/Gui/ContentInterfaces/IParseInformationListener.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Gui/ContentInterfaces/IParseInformationListener.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Gui/ContentInterfaces/IParseInformationListener.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,7 +7,7 @@
 
 using System;
 using System.Drawing.Printing;
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 using MonoDevelop.Services;
 
 namespace MonoDevelop.Gui

Modified: trunk/MonoDevelop/src/Main/Base/Gui/Pads/ClassScout/NodeBuilder/DefaultDotNetClassScoutNodeBuilder.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Gui/Pads/ClassScout/NodeBuilder/DefaultDotNetClassScoutNodeBuilder.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Gui/Pads/ClassScout/NodeBuilder/DefaultDotNetClassScoutNodeBuilder.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -17,7 +17,7 @@
 using MonoDevelop.Core.Properties;
 
 using MonoDevelop.Internal.Project;
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 using MonoDevelop.Core.Services;
 using MonoDevelop.Services;
 using MonoDevelop.Gui.Widgets;
@@ -60,16 +60,16 @@
 			
 			ICompilationUnit unit = (ICompilationUnit)e.ParseInformation.MostRecentCompilationUnit;
 			foreach (IClass c in unit.Classes) {
+				classNode.Text = c.Name;
+				classNode.Image = classBrowserIconService.GetIcon (c);
 				// TODO: Perf check
 				TreeNode node = GetNodeByPath(c.Namespace, parentNode.Nodes, false);
 				if (node != null) {
-					foreach (TreeNode nd in node.Nodes) {
-						if (nd.Text == c.Name) {
-							nd.Remove ();
-							DropPhantomNamespaces (c.Namespace, parentNode.Nodes);
-							return;
-						}
+					int oldIndex = SortUtility.BinarySearch (classNode, node.Nodes, TreeNodeComparer.Default);
+					if (oldIndex >= 0) {
+						node.Nodes[oldIndex].Remove ();
 					}
+					DropPhantomNamespaces (c.Namespace, parentNode.Nodes);
 				}
 			}
 		}
@@ -87,6 +87,7 @@
 			Type fus = typeof (FileUtilityService);
 			FileUtilityService fileUtilityService = (FileUtilityService)ServiceManager.Services.GetService(fus);
 			Type iconserv = typeof (IconService);
+			
 			IconService iconService = (IconService)ServiceManager.Services.GetService(iconserv);
 			GetCurrentAmbience();
 
@@ -229,6 +230,11 @@
 			string[] treepath   = directory.Split(new char[] { '.' });
 			TreeNodeCollection curcollection = root;
 			TreeNode           curnode       = null;
+			if (treepath.Length == 1 && treepath[0].Length == 0) {
+				if (root.Count == 0)
+					return null;
+				return root[0].Parent;
+			}
 			foreach (string path in treepath) {
 				if (path.Length == 0 || path[0] == '.') {
 					continue;

Modified: trunk/MonoDevelop/src/Main/Base/Internal/CollectionUtilities/Comparers.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/CollectionUtilities/Comparers.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/CollectionUtilities/Comparers.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -67,10 +67,25 @@
 
 namespace System.Collections.Specialized
 {
-	public class TreeNodeComparer {
+	[Serializable]
+	public class TreeNodeComparer : IComparer {
 		
 		public static Gtk.TreeIterCompareFunc GtkProjectNode = new Gtk.TreeIterCompareFunc (GtkProjectNodeComparer);
 		public static Gtk.TreeIterCompareFunc GtkDefault = new Gtk.TreeIterCompareFunc (GtkDefaultComparer);
+		public static IComparer Default = new TreeNodeComparer ();
+
+		public int Compare(object x, object y) {
+			int cmp = ((TreeNode)x).Image.CompareTo (((TreeNode)y).Image);
+			if(cmp == 0) {
+//				cmp = x.SelectedImageIndex - y.SelectedImageIndex;
+//				if(cmp == 0) {
+					cmp = ((TreeNode)x).Text.CompareTo(((TreeNode)y).Text);
+//				}
+			}
+
+			return cmp;
+		}
+
 			
 		static int GtkProjectNodeComparer (Gtk.TreeModel model, Gtk.TreeIter a, Gtk.TreeIter b)
 		{

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/ClassType.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/ClassType.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/ClassType.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -5,7 +5,7 @@
 //     <version value="$version"/>
 // </file>
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	public enum ClassType {
 		Class,

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/AttributeCollection.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/AttributeCollection.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/AttributeCollection.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,7 +7,7 @@
 using System;
 using System.Collections;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	/// <summary>
 	///     <para>

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/AttributeSectionCollection.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/AttributeSectionCollection.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/AttributeSectionCollection.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,7 +7,7 @@
 using System;
 using System.Collections;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	/// <summary>
 	///     <para>

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/ClassCollection.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/ClassCollection.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/ClassCollection.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,7 +7,7 @@
 using System;
 using System.Collections;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	/// <summary>
 	///     <para>

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/CommentCollection.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/CommentCollection.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/CommentCollection.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,7 +7,7 @@
 using System;
 using System.Collections;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	/// <summary>
 	///     <para>

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/EventCollection.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/EventCollection.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/EventCollection.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,7 +7,7 @@
 using System;
 using System.Collections;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	
 	

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/FieldCollection.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/FieldCollection.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/FieldCollection.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,7 +7,7 @@
 using System;
 using System.Collections;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	/// <summary>
 	///     <para>

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/IUsingCollection.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/IUsingCollection.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/IUsingCollection.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,7 +7,7 @@
 using System;
 using System.Collections;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	/// <summary>
 	///     <para>

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/MethodCollection.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/MethodCollection.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/MethodCollection.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,7 +7,7 @@
 using System;
 using System.Collections;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	/// <summary>
 	///     <para>

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/ParameterCollection.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/ParameterCollection.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/ParameterCollection.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,7 +7,7 @@
 using System;
 using System.Collections;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	/// <summary>
 	///     <para>

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/PropertyCollection.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/PropertyCollection.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/PropertyCollection.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,7 +7,7 @@
 using System;
 using System.Collections;
 
-namespace SharpDevelop.Internal.Parser 
+namespace MonoDevelop.Internal.Parser 
 {
 	/// <summary>
 	///     <para>

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/TagCollection.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/TagCollection.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/TagCollection.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -8,7 +8,7 @@
 using System;
 using System.Collections;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	
 	/// <summary>

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/TypedCSharpCollection.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/TypedCSharpCollection.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Collections/TypedCSharpCollection.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,7 +7,7 @@
 using System;
 using System.Collections;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	/// <summary>
 	///     <para>

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Comment.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Comment.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Comment.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -6,7 +6,7 @@
 // </file>
 using System;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	[Serializable]
 	public class Comment : System.MarshalByRefObject

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/IAttribute.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/IAttribute.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/IAttribute.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,7 +7,7 @@
 using System;
 using System.Collections;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	public interface IAttributeSection: IComparable
 	{

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/IClass.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/IClass.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/IClass.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -10,18 +10,14 @@
 using System.Collections.Specialized;
 using System.Reflection;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	public interface IClass : IDecoration
 	{
-		ICompilationUnit CompilationUnit {
-			get;
-		}
-
 		string FullyQualifiedName {
 			get;
 		}
-
+		
 		string Name {
 			get;
 		}
@@ -32,8 +28,12 @@
 		
 		ClassType ClassType {
 			get;
+		}		
+		
+		ICompilationUnit CompilationUnit {
+			get;
 		}
-
+		
 		IRegion Region {
 			get;
 		}

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/IComment.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/IComment.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/IComment.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -6,7 +6,7 @@
 // </file>
 using System.Collections.Specialized;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	public interface IComment
 	{

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/ICompilationUnit.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/ICompilationUnit.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/ICompilationUnit.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -8,7 +8,7 @@
 using System.Collections;
 using System.Collections.Specialized;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	public interface ICompilationUnit : ICompilationUnitBase
 	{
@@ -35,5 +35,9 @@
 		TagCollection TagComments {
 			get;
 		}
+		
+		ArrayList FoldingRegions {
+			get;
+		}
 	}
 }

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/ICompilationUnitBase.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/ICompilationUnitBase.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/ICompilationUnitBase.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -8,7 +8,7 @@
 using System.Collections;
 using System.Collections.Specialized;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	public interface ICompilationUnitBase
 	{

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/IDecoration.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/IDecoration.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/IDecoration.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,7 +7,7 @@
 using System;
 using System.Reflection;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	public interface IDecoration: IComparable
 	{

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/IEvent.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/IEvent.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/IEvent.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,14 +7,10 @@
 using System;
 using System.Reflection;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	public interface IEvent : IMember
 	{
-		IRegion Region {
-			get;
-		}
-		
 		IRegion BodyRegion {
 			get;
 		}

Added: trunk/MonoDevelop/src/Main/Base/Internal/Parser/IExpressionFinder.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/IExpressionFinder.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/IExpressionFinder.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -0,0 +1,19 @@
+// <file>
+//     <copyright see="prj:///doc/copyright.txt"/>
+//     <license see="prj:///doc/license.txt"/>
+//     <owner name="Mike Krüger" email="mike at icsharpcode.net"/>
+//     <version value="$version"/>
+// </file>
+
+using System;
+
+namespace MonoDevelop.Internal.Parser
+{
+	public interface IExpressionFinder
+	{
+		/// <summary>
+		/// Finds an expression before the current offset.
+		/// </summary>
+		string FindExpression(string text, int offset);
+	}
+}

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/IField.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/IField.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/IField.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,13 +7,10 @@
 using System;
 using System.Reflection;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	public interface IField : IMember
 	{
-		IRegion Region {
-			get;
-		}
 
 	}
 }

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/IIndexer.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/IIndexer.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/IIndexer.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -6,14 +6,10 @@
 // </file>
 using System;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	public interface IIndexer: IMember
 	{
-		IRegion Region {
-			get;
-		}
-		
 		IRegion BodyRegion {
 			get;
 		}

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/IMember.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/IMember.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/IMember.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,13 +7,16 @@
 using System;
 using System.Reflection;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	public interface IMember : IDecoration
 	{
 		string FullyQualifiedName {
 			get;
 		}
+		IRegion Region {
+			get;
+		}
 
 		string Name {
 			get;

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/IMethod.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/IMethod.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/IMethod.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,14 +7,10 @@
 using System;
 using System.Reflection;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	public interface IMethod : IMember
 	{
-		IRegion Region {
-			get;
-		}
-		
 		IRegion BodyRegion {
 			get;
 		}

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/IParameter.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/IParameter.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/IParameter.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,7 +7,7 @@
 using System;
 using System.Reflection;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 
 	public interface IParameter: IComparable

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/IParser.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/IParser.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/IParser.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -11,15 +11,15 @@
 
 using MonoDevelop.Services;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
-	[Flags]
-	public enum ShowMembers {
-		Public     = 1,
-		Protected  = 2,
-		Private    = 4,
-		Static     = 8
-	}
+//	[Flags]
+//	public enum ShowMembers {
+//		Public     = 1,
+//		Protected  = 2,
+//		Private    = 4,
+//		Static     = 8
+//	}
 	
 	public class ResolveResult
 	{
@@ -67,50 +67,50 @@
 			this.members = members;
 			namespaces = new StringCollection();
 		}
-		object[]    resolveContents;
-		ShowMembers showMembers;
-		
-		public bool ShowPublic {
-			get {
-				return (showMembers & ShowMembers.Public) == ShowMembers.Public;
-			}
-		}
-
-		public bool ShowProtected {
-			get {
-				return (showMembers & ShowMembers.Protected) == ShowMembers.Protected;
-			}
-		}
-		
-		public bool ShowPrivate {
-			get {
-				return (showMembers & ShowMembers.Private) == ShowMembers.Private;
-			}
-		}
-
-		public bool ShowStatic {
-			get {
-				return (showMembers & ShowMembers.Static) == ShowMembers.Static;
-			}
-		}
-		
-		public object[] ResolveContents {
-			get {
-				return resolveContents;
-			}
-		}
-		
-		public ShowMembers ShowMembers {
-			get {
-				return showMembers;
-			}
-		}
-		
-		public ResolveResult(object[] resolveContents, ShowMembers showMembers)
-		{
-			this.resolveContents = resolveContents;
-			this.showMembers     = showMembers;
-		}
+//		object[]    resolveContents;
+//		ShowMembers showMembers;
+//		
+//		public bool ShowPublic {
+//			get {
+//				return (showMembers & ShowMembers.Public) == ShowMembers.Public;
+//			}
+//		}
+//
+//		public bool ShowProtected {
+//			get {
+//				return (showMembers & ShowMembers.Protected) == ShowMembers.Protected;
+//			}
+//		}
+//		
+//		public bool ShowPrivate {
+//			get {
+//				return (showMembers & ShowMembers.Private) == ShowMembers.Private;
+//			}
+//		}
+//
+//		public bool ShowStatic {
+//			get {
+//				return (showMembers & ShowMembers.Static) == ShowMembers.Static;
+//			}
+//		}
+//		
+//		public object[] ResolveContents {
+//			get {
+//				return resolveContents;
+//			}
+//		}
+//		
+//		public ShowMembers ShowMembers {
+//			get {
+//				return showMembers;
+//			}
+//		}
+//		
+//		public ResolveResult(object[] resolveContents, ShowMembers showMembers)
+//		{
+//			this.resolveContents = resolveContents;
+//			this.showMembers     = showMembers;
+//		}
 	}
 	
 	public interface IParser {
@@ -119,6 +119,10 @@
 			set;
 		}
 		
+		IExpressionFinder ExpressionFinder {
+			get;
+		}
+		
 		ICompilationUnitBase Parse(string fileName);
 		ICompilationUnitBase Parse(string fileName, string fileContent);
 		
@@ -132,5 +136,8 @@
 		                      int caretColumn, 
 		                      string fileName,
 		                      string fileContent);
+		
+		
+		ArrayList CtrlSpace(IParserService parserService, int caretLine, int caretColumn, string fileName);
 	}
 }

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/IProperty.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/IProperty.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/IProperty.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,14 +7,10 @@
 using System;
 using System.Reflection;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	public interface IProperty : IMember
 	{
-		IRegion Region {
-			get;
-		}
-		
 		IRegion BodyRegion {
 			get;
 		}

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/IRegion.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/IRegion.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/IRegion.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -5,7 +5,8 @@
 //     <version value="$version"/>
 // </file>
 using System;
-namespace SharpDevelop.Internal.Parser
+
+namespace MonoDevelop.Internal.Parser
 {
 	public interface IRegion: IComparable
 	{

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/IReturnType.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/IReturnType.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/IReturnType.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -6,7 +6,7 @@
 // </file>
 
 using System;
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	public interface IReturnType: IComparable
 	{

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/IUsing.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/IUsing.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/IUsing.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -9,7 +9,7 @@
 using System.Collections;
 using System.Collections.Specialized;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	public interface IUsing
 	{
@@ -27,5 +27,8 @@
 
 		IClass SearchType(string partitialTypeName);
 		string SearchNamespace(string partitialNamespaceName);
+		
+		IClass SearchType(string partitialTypeName, bool caseSensitive);
+		string SearchNamespace(string partitialNamespaceName, bool caseSensitivecaseSensitivecaseSensitivecaseSensitivecaseSensitivecaseSensitivecaseSensitivecaseSensitivecaseSensitivecaseSensitivecaseSensitivecaseSensitivecaseSensitivecaseSensitivecaseSensitivecaseSensitivecaseSensitivecaseSensitivecaseSensitivecaseSensitive);
 	}
 }

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractAttribute.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractAttribute.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractAttribute.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -8,7 +8,7 @@
 using System.Collections;
 using System.Collections.Utility;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	[Serializable]
 	public class AbstractAttributeSection : IAttributeSection

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractClass.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractClass.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractClass.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -11,10 +11,10 @@
 using System.Collections.Utility;
 using MonoDevelop.Services;
 
-namespace SharpDevelop.Internal.Parser {
-	
+namespace MonoDevelop.Internal.Parser
+{
 	[Serializable]
-	public abstract class AbstractClass : AbstractNamedEntity, IClass
+	public abstract class AbstractClass : AbstractNamedEntity, IClass, IComparable
 	{
 		protected ClassType        classType;
 		protected IRegion          region;
@@ -101,11 +101,13 @@
 		}
 
 
-		public virtual int CompareTo(IClass value) {
+		public virtual int CompareTo(IClass value)
+		{
 			int cmp;
 			
-			if(0 != (cmp = base.CompareTo((IDecoration)value)))
+			if(0 != (cmp = base.CompareTo((IDecoration)value))) {
 				return cmp;
+			}
 			
 			if (FullyQualifiedName != null) {
 				cmp = FullyQualifiedName.CompareTo(value.FullyQualifiedName);

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractComment.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractComment.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractComment.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,7 +7,7 @@
 using System;
 using System.Collections.Specialized;
 
-namespace SharpDevelop.Internal.Parser {
+namespace MonoDevelop.Internal.Parser {
 
 	[Serializable]
 	public abstract class AbstractComment : System.MarshalByRefObject, IComment

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractCompilationUnit.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractCompilationUnit.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractCompilationUnit.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -5,10 +5,35 @@
 //     <version value="$version"/>
 // </file>
 using System;
+using System.Collections;
 using System.Collections.Specialized;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
+	public class FoldingRegion
+	{
+		string  name;
+		IRegion region;
+		
+		public string Name {
+			get {
+				return name;
+			}
+		}
+		
+		public IRegion Region {
+			get {
+				return region;
+			}
+		}
+		
+		public FoldingRegion(string name, IRegion region)
+		{
+			this.name = name;
+			this.region = region;
+		}
+	}
+	
 	[Serializable]
 	public abstract class AbstractCompilationUnit : ICompilationUnit
 	{
@@ -17,6 +42,7 @@
 		protected AttributeSectionCollection attributes = new AttributeSectionCollection();
 		protected bool errorsDuringCompile = false;
 		protected object tag               = null;
+		protected ArrayList foldingRegions = new ArrayList();
 		
 		public bool ErrorsDuringCompile {
 			get {
@@ -53,6 +79,12 @@
 				return classes;
 			}
 		}
+		
+		public ArrayList FoldingRegions {
+			get {
+				return foldingRegions;
+			}
+		}
 
 		public abstract CommentCollection MiscComments {
 			get;

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractDecoration.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractDecoration.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractDecoration.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -5,18 +5,21 @@
 //     <version value="$version"/>
 // </file>
 using System;
+using System.Collections;
 using System.Collections.Utility;
 using System.Reflection;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	[Serializable]
 	public abstract class AbstractDecoration : MarshalByRefObject, IDecoration
 	{
 		protected ModifierEnum               modifiers     = ModifierEnum.None;
-		protected AttributeSectionCollection attributes    = new AttributeSectionCollection();
-		protected string                     documentation = String.Empty;
+		protected AttributeSectionCollection attributes    = null;
+		int    documentationHash = -1;
+		static Hashtable documentationHashtable = new Hashtable();
 		
+		
 		public virtual ModifierEnum Modifiers {
 			get {
 				return modifiers;
@@ -25,14 +28,26 @@
 
 		public virtual AttributeSectionCollection Attributes {
 			get {
+				if (attributes == null) {
+					attributes = new AttributeSectionCollection();
+				}
 				return attributes;
 			}
 		}
 
 		public string Documentation {
 			get {
-				return documentation;
+				if (documentationHash == -1) {
+					return String.Empty;
+				}
+				return (string)documentationHashtable[documentationHash];
 			}
+			set {
+				documentationHash = value.GetHashCode();
+				if (documentationHashtable[documentationHash] == null) {
+					documentationHashtable[documentationHash] = value;
+				}
+			}
 		}
 		
 		public bool IsAbstract {

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractEvent.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractEvent.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractEvent.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -8,22 +8,16 @@
 using System.Reflection;
 using System.Collections.Utility;
 
-namespace SharpDevelop.Internal.Parser {
+namespace MonoDevelop.Internal.Parser {
 	[Serializable]
 	public abstract class AbstractEvent : AbstractMember, IEvent
 	{
-		protected IRegion          region;
 		protected IRegion          bodyRegion;
 		protected EventAttributes  eventAttributes;
 		protected IMethod          addMethod;
 		protected IMethod          removeMethod;
 		protected IMethod          raiseMethod;
 		
-		public virtual IRegion Region {
-			get {
-				return region;
-			}
-		}
 		public virtual IRegion BodyRegion {
 			get {
 				return bodyRegion;

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractField.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractField.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractField.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -8,18 +8,10 @@
 using System.Collections.Utility;
 using System.Reflection;
 
-namespace SharpDevelop.Internal.Parser {
+namespace MonoDevelop.Internal.Parser {
 	[Serializable]
 	public abstract class AbstractField : AbstractMember, IField
 	{
-		protected IRegion      region;
-
-		public virtual IRegion Region {
-			get {
-				return region;
-			}
-		}
-
 		public virtual int CompareTo(IField field) 
 		{
 			int cmp;
@@ -55,7 +47,8 @@
 			return 0;
 		}
 		
-		int IComparable.CompareTo(object value) {
+		int IComparable.CompareTo(object value)
+		{
 			return CompareTo((IField)value);
 		}
 	}

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractIndexer.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractIndexer.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractIndexer.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,22 +7,15 @@
 using System;
 using System.Collections.Utility;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	[Serializable]
 	public abstract class AbstractIndexer : AbstractMember, IIndexer
 	{
-		protected IRegion             region;
 		protected IRegion             bodyRegion;
 		protected IRegion             getterRegion;
 		protected IRegion             setterRegion;
 		protected ParameterCollection parameters = new ParameterCollection();
-
-		public virtual IRegion Region {
-			get {
-				return region;
-			}
-		}
 		
 		public virtual IRegion BodyRegion {
 			get {

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractMember.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractMember.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractMember.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,14 +7,21 @@
 
 using System;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	[Serializable]
 	public abstract class AbstractMember : AbstractNamedEntity, IMember
 	{
 		protected IClass declaringType;
 		protected IReturnType returnType;
+		protected IRegion          region;
 		
+		public virtual IRegion Region {
+			get {
+				return region;
+			}
+		}
+		
 		public IClass DeclaringType {
 			get {
 				return declaringType;

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractMethod.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractMethod.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractMethod.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -8,22 +8,15 @@
 using System.Reflection;
 using System.Collections.Utility;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	[Serializable]
 	public abstract class AbstractMethod : AbstractMember, IMethod
 	{
-		protected IRegion region;
 		protected IRegion bodyRegion;
 		
 		protected ParameterCollection parameters = new ParameterCollection();
 
-		public virtual IRegion Region {
-			get {
-				return region;
-			}
-		}
-		
 		public virtual IRegion BodyRegion {
 			get {
 				return bodyRegion;

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractNamedEntity.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractNamedEntity.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractNamedEntity.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -6,62 +6,62 @@
 // </file>
 
 using System;
+using System.Collections;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	[Serializable]
-	public abstract class AbstractNamedEntity: AbstractDecoration
+	public abstract class AbstractNamedEntity : AbstractDecoration
 	{
-		private string fullyQualifiedName;
-		private string className;
-		private string namespaceName;
+		public static Hashtable fullyQualifiedNames = new Hashtable();
+		int nameHashCode = -1;
 		
 		public virtual string FullyQualifiedName {
 			get {
-				return fullyQualifiedName;
+				return (string)fullyQualifiedNames[nameHashCode];
 			}
 			set {
-				fullyQualifiedName = value;
-				className = null; namespaceName = null;
+				nameHashCode = value.GetHashCode();
+				if (fullyQualifiedNames[nameHashCode] == null) {
+					fullyQualifiedNames[nameHashCode] = value;
+				}
 			}
 		}
 
 		public virtual string Name {
 			get {
-				if (className == null && fullyQualifiedName != null) {
+				if (FullyQualifiedName != null) {
 					int lastIndex;
 					
 					if (CanBeSubclass) {
-						lastIndex = fullyQualifiedName.LastIndexOfAny
+						lastIndex = FullyQualifiedName.LastIndexOfAny
 							(new char[] { '.', '+' });
 					} else {
-						lastIndex = fullyQualifiedName.LastIndexOf('.');
+						lastIndex = FullyQualifiedName.LastIndexOf('.');
 					}
 					
 					if (lastIndex < 0) {
-						className = fullyQualifiedName;
+						return FullyQualifiedName;
 					} else {
-						className = fullyQualifiedName.Substring(lastIndex + 1);
+						return FullyQualifiedName.Substring(lastIndex + 1);
 					}
 				}
-				
-				return className;
+				return null;
 			}
 		}
 
 		public virtual string Namespace {
 			get {
-				if (namespaceName == null && fullyQualifiedName != null) {
-					int lastIndex = fullyQualifiedName.LastIndexOf('.');
+				if (FullyQualifiedName != null) {
+					int lastIndex = FullyQualifiedName.LastIndexOf('.');
 					
 					if (lastIndex < 0) {
-						namespaceName = string.Empty;
+						return String.Empty;
 					} else {
-						namespaceName = fullyQualifiedName.Substring(0, lastIndex);
+						return FullyQualifiedName.Substring(0, lastIndex);
 					}
 				}
-				
-				return namespaceName;
+				return null;
 			}
 		}
 		

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractParameter.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractParameter.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractParameter.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -8,7 +8,7 @@
 using System.Reflection;
 using System.Collections.Utility;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 
 	[Serializable]

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractProperty.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractProperty.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractProperty.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,12 +7,11 @@
 using System;
 using System.Reflection;
 
-namespace SharpDevelop.Internal.Parser {
+namespace MonoDevelop.Internal.Parser {
 
 	[Serializable]
 	public abstract class AbstractProperty : AbstractMember, IProperty
 	{
-		protected IRegion     region;
 		protected IRegion bodyRegion;
 		
 		protected IRegion     getterRegion;
@@ -21,12 +20,6 @@
 		protected IMethod     getterMethod;
 		protected IMethod     setterMethod;
 		protected ParameterCollection parameters = new ParameterCollection();
-
-		public virtual IRegion Region {
-			get {
-				return region;
-			}
-		}
 		
 		public virtual IRegion BodyRegion {
 			get {

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractReturnType.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractReturnType.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractReturnType.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,39 +7,45 @@
 using System;
 using System.Collections.Utility;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	[Serializable]
 	public abstract class AbstractReturnType : System.MarshalByRefObject, IReturnType
 	{
-		protected string fullyQualifiedName;
 		protected int    pointerNestingLevel;
 		protected int[]  arrayDimensions;
 		protected object declaredin = null;
-
+		int nameHashCode = -1;
+		
 		public virtual string FullyQualifiedName {
 			get {
-				return fullyQualifiedName;
+				return (string)AbstractNamedEntity.fullyQualifiedNames[nameHashCode];
 			}
+			set {
+				nameHashCode = value.GetHashCode();
+				if (AbstractNamedEntity.fullyQualifiedNames[nameHashCode] == null) {
+					AbstractNamedEntity.fullyQualifiedNames[nameHashCode] = value;
+				}
+			}
 		}
 
 		public virtual string Name {
 			get {
-				if (fullyQualifiedName == null) {
+				if (FullyQualifiedName == null) {
 					return null;
 				}
-				string[] name = fullyQualifiedName.Split(new char[] {'.'});
+				string[] name = FullyQualifiedName.Split(new char[] {'.'});
 				return name[name.Length - 1];
 			}
 		}
 
 		public virtual string Namespace {
 			get {
-				if (fullyQualifiedName == null) {
+				if (FullyQualifiedName == null) {
 					return null;
 				}
-				int index = fullyQualifiedName.LastIndexOf('.');
-				return index < 0 ? String.Empty : fullyQualifiedName.Substring(0, index);
+				int index = FullyQualifiedName.LastIndexOf('.');
+				return index < 0 ? String.Empty : FullyQualifiedName.Substring(0, index);
 			}
 		}
 

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractUsing.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractUsing.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/AbstractUsing.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -10,7 +10,7 @@
 using System.Collections.Specialized;
 using MonoDevelop.Services;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	[Serializable]
 	public abstract class AbstractUsing : MarshalByRefObject, IUsing
@@ -41,7 +41,13 @@
 		static IParserService parserService = (IParserService)MonoDevelop.Core.Services.ServiceManager.Services.GetService(typeof(IParserService));
 		public string SearchNamespace(string partitialNamespaceName)
 		{
-			if (parserService.NamespaceExists(partitialNamespaceName)) {
+			return SearchNamespace(partitialNamespaceName, true);
+		}
+		
+		public string SearchNamespace(string partitialNamespaceName, bool caseSensitive)
+		{
+//			Console.WriteLine("SearchNamespace : >{0}<", partitialNamespaceName);
+			if (parserService.NamespaceExists(partitialNamespaceName, caseSensitive)) {
 				return partitialNamespaceName;
 			}
 			
@@ -49,7 +55,7 @@
 			string declaringNamespace = (string)aliases[""];
 			if (declaringNamespace != null) {
 				while (declaringNamespace.Length > 0) {
-					if (declaringNamespace.EndsWith(partitialNamespaceName) && parserService.NamespaceExists(declaringNamespace)) {
+					if ((caseSensitive ? declaringNamespace.EndsWith(partitialNamespaceName) : declaringNamespace.ToLower().EndsWith(partitialNamespaceName.ToLower()) ) && parserService.NamespaceExists(declaringNamespace, caseSensitive)) {
 						return declaringNamespace;
 					}
 					int index = declaringNamespace.IndexOf('.');
@@ -66,22 +72,27 @@
 			//     The namespace name is an alias which has the key ""
 			foreach (DictionaryEntry entry in aliases) {
 				string aliasString = entry.Key.ToString();
-				if (partitialNamespaceName.StartsWith(aliasString)) {
+				if (caseSensitive ? partitialNamespaceName.StartsWith(aliasString) : partitialNamespaceName.ToLower().StartsWith(aliasString.ToLower())) {
 					if (aliasString.Length >= 0) {
 						string nsName = nsName = String.Concat(entry.Value.ToString(), partitialNamespaceName.Remove(0, aliasString.Length));
-						if (parserService.NamespaceExists(nsName)) {
+						if (parserService.NamespaceExists(nsName, caseSensitive)) {
 							return nsName;
 						}
 					}
 				}
 			}
-			
 			return null;
 		}
 
 		public IClass SearchType(string partitialTypeName)
 		{
-			IClass c = parserService.GetClass(partitialTypeName);
+			return SearchType(partitialTypeName, true);
+		}
+		
+		public IClass SearchType(string partitialTypeName, bool caseSensitive)
+		{
+//			Console.WriteLine("Search type : >{0}<", partitialTypeName);
+			IClass c = parserService.GetClass(partitialTypeName, caseSensitive);
 			if (c != null) {
 				return c;
 			}
@@ -89,7 +100,7 @@
 			foreach (string str in usings) {
 				string possibleType = String.Concat(str, ".", partitialTypeName);
 //				Console.WriteLine("looking for " + possibleType);
-				c = parserService.GetClass(possibleType);
+				c = parserService.GetClass(possibleType, caseSensitive);
 				if (c != null) {
 //					Console.WriteLine("Found!");
 					return c;
@@ -102,7 +113,7 @@
 				while (declaringNamespace.Length > 0) {
 					string className = String.Concat(declaringNamespace, ".", partitialTypeName);
 //					Console.WriteLine("looking for " + className);
-					c = parserService.GetClass(className);
+					c = parserService.GetClass(className, caseSensitive);
 					if (c != null) {
 //						Console.WriteLine("Found!");
 						return c;
@@ -118,12 +129,12 @@
 			
 			foreach (DictionaryEntry entry in aliases) {
 				string aliasString = entry.Key.ToString();
-				if (partitialTypeName.StartsWith(aliasString)) {
+				if (caseSensitive ? partitialTypeName.StartsWith(aliasString) : partitialTypeName.ToLower().StartsWith(aliasString.ToLower())) {
 					string className = null;
 					if (aliasString.Length > 0) {
 						className = String.Concat(entry.Value.ToString(), partitialTypeName.Remove(0, aliasString.Length));
 //						Console.WriteLine("looking for " + className);
-						c = parserService.GetClass(className);
+						c = parserService.GetClass(className, caseSensitive);
 						if (c != null) {
 //							Console.WriteLine("Found!");
 							return c;

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/DefaultRegion.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/DefaultRegion.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Implementations/DefaultRegion.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -6,9 +6,10 @@
 // </file>
 
 using System;
+using System.Drawing;
 using System.Diagnostics;
 
-namespace SharpDevelop.Internal.Parser {
+namespace MonoDevelop.Internal.Parser {
 	
 	[Serializable]
 	public class DefaultRegion : System.MarshalByRefObject, IRegion
@@ -56,6 +57,10 @@
 			}
 		}
 
+		public DefaultRegion(Point start, Point end) : this(start.Y, start.X, end.Y, end.X)
+		{
+		}
+		
 		public DefaultRegion(int beginLine, int beginColumn)
 		{
 			this.beginLine   = beginLine;

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/ModifierEnum.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/ModifierEnum.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/ModifierEnum.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -6,7 +6,7 @@
 // </file>
 using System;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	[Flags]
 	public enum ModifierEnum : uint {

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/ParameterModifier.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/ParameterModifier.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/ParameterModifier.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,7 +7,7 @@
 
 using System;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	[Serializable]
 	[Flags]

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentClass.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentClass.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentClass.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -13,7 +13,7 @@
 using System.Collections.Specialized;
 using MonoDevelop.Services;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	public sealed class PersistentClass : IClass
 	{
@@ -162,7 +162,7 @@
 		public PersistentClass(ClassProxyCollection classProxyCollection, IClass c)
 		{
 			this.classProxyCollection = classProxyCollection;
-			classProxyIndex           = classProxyCollection.IndexOf(c.FullyQualifiedName);
+			classProxyIndex           = classProxyCollection.IndexOf(c.FullyQualifiedName, true);
 			if (classProxyIndex < 0) {
 				fullyQualifiedName = c.FullyQualifiedName;
 				documentation      = c.Documentation;
@@ -171,7 +171,7 @@
 			}
 
 			foreach (string baseType in c.BaseTypes) {
-				int idx = classProxyCollection.IndexOf(baseType);
+				int idx = classProxyCollection.IndexOf(baseType, true);
 				if (idx < 0) {
 					notFoundBaseTypes.Add(baseType);
 				} else {

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentEvent.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentEvent.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentEvent.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -9,14 +9,14 @@
 using System.Reflection;
 using MonoDevelop.Services;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	public sealed class PersistentEvent : AbstractEvent
 	{
 		public PersistentEvent(BinaryReader reader, ClassProxyCollection classProxyCollection)
 		{
 			FullyQualifiedName = reader.ReadString();
-			documentation      = reader.ReadString();
+			Documentation      = reader.ReadString();
 			modifiers          = (ModifierEnum)reader.ReadUInt32();
 
 			returnType         = new PersistentReturnType(reader, classProxyCollection);
@@ -28,7 +28,7 @@
 		public void WriteTo(BinaryWriter writer)
 		{
 			writer.Write(FullyQualifiedName);
-			writer.Write(documentation);
+			writer.Write(Documentation);
 			writer.Write((uint)modifiers);
 			((PersistentReturnType)returnType).WriteTo(writer);
 		}
@@ -37,9 +37,10 @@
 		{
 			modifiers          = e.Modifiers;
 			FullyQualifiedName = e.Name;
-			documentation      = e.Documentation;
-			if (documentation == null) {
-				documentation = String.Empty;
+			if (e.Documentation != null) {
+				Documentation = e.Documentation;
+			} else {
+				Documentation = String.Empty;
 			}
 
 			returnType         = new PersistentReturnType(classProxyCollection, e.ReturnType);

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentField.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentField.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentField.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -9,14 +9,14 @@
 using System.Reflection;
 using MonoDevelop.Services;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	public sealed class PersistentField : AbstractField
 	{
 		public PersistentField(BinaryReader reader, ClassProxyCollection classProxyCollection)
 		{
 			FullyQualifiedName = reader.ReadString();
-			documentation      = reader.ReadString();
+			Documentation      = reader.ReadString();
 			modifiers          = (ModifierEnum)reader.ReadUInt32();
 			
 			returnType         = new PersistentReturnType(reader, classProxyCollection);
@@ -28,7 +28,7 @@
 		public void WriteTo(BinaryWriter writer)
 		{
 			writer.Write(FullyQualifiedName);
-			writer.Write(documentation);
+			writer.Write(Documentation);
 			writer.Write((uint)modifiers);
 			((PersistentReturnType)returnType).WriteTo(writer);
 		}
@@ -37,9 +37,11 @@
 		{
 			modifiers          = field.Modifiers;
 			FullyQualifiedName = field.Name;
-			documentation      = field.Documentation;
-			if (documentation == null) {
-				documentation = String.Empty;
+			
+			if (field.Documentation != null) {
+				Documentation = field.Documentation;
+			}  else {
+				Documentation = String.Empty;
 			}
 			returnType         = new PersistentReturnType(classProxyCollection, field.ReturnType);
 		}

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentIndexer.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentIndexer.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentIndexer.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -9,14 +9,14 @@
 using System.Reflection;
 using MonoDevelop.Services;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	public sealed class PersistentIndexer : AbstractIndexer
 	{
 		public PersistentIndexer(BinaryReader reader, ClassProxyCollection classProxyCollection)
 		{
 			FullyQualifiedName = reader.ReadString();
-			documentation      = reader.ReadString();
+			Documentation      = reader.ReadString();
 			modifiers          = (ModifierEnum)reader.ReadUInt32();
 			
 			returnType         = new PersistentReturnType(reader, classProxyCollection);
@@ -33,7 +33,7 @@
 		public void WriteTo(BinaryWriter writer)
 		{
 			writer.Write(FullyQualifiedName);
-			writer.Write(documentation);
+			writer.Write(Documentation);
 			
 			writer.Write((uint)modifiers);
 			((PersistentReturnType)returnType).WriteTo(writer);
@@ -47,9 +47,10 @@
 		public PersistentIndexer(ClassProxyCollection classProxyCollection, IIndexer indexer)
 		{
 			FullyQualifiedName = indexer.Name;
-			documentation = indexer.Documentation;
-			if (documentation == null) {
-				documentation = String.Empty;
+			if (indexer.Documentation != null) {
+				Documentation = indexer.Documentation;
+			} else {
+				Documentation = String.Empty;
 			}
 			modifiers = indexer.Modifiers;
 			returnType         = new PersistentReturnType(classProxyCollection, indexer.ReturnType);

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentMethod.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentMethod.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentMethod.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -10,14 +10,14 @@
 using System.Reflection;
 using MonoDevelop.Services;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	public sealed class PersistentMethod : AbstractMethod
 	{
 		public PersistentMethod(BinaryReader reader, ClassProxyCollection classProxyCollection)
 		{
 			FullyQualifiedName = reader.ReadString();
-			documentation      = reader.ReadString();
+			Documentation      = reader.ReadString();
 			
 			modifiers          = (ModifierEnum)reader.ReadUInt32();
 			returnType         = new PersistentReturnType(reader, classProxyCollection);
@@ -34,7 +34,7 @@
 		public void WriteTo(BinaryWriter writer)
 		{
 			writer.Write(FullyQualifiedName);
-			writer.Write(documentation);
+			writer.Write(Documentation);
 			writer.Write((uint)modifiers);
 			((PersistentReturnType)returnType).WriteTo(writer);
 			
@@ -47,9 +47,10 @@
 		public PersistentMethod(ClassProxyCollection classProxyCollection, IMethod method)
 		{
 			FullyQualifiedName = method.Name;
-			documentation      = method.Documentation;
-			if (documentation == null) {
-				documentation = String.Empty;
+			if (method.Documentation != null) {
+				Documentation = method.Documentation;
+			} else {
+				Documentation = String.Empty;
 			}
 			
 			modifiers  = method.Modifiers;

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentParameter.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentParameter.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentParameter.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -9,7 +9,7 @@
 using System.Reflection;
 using MonoDevelop.Services;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	public sealed class PersistentParameter : AbstractParameter
 	{

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentProperty.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentProperty.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentProperty.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -9,7 +9,7 @@
 using System.Reflection;
 using MonoDevelop.Services;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	public sealed class PersistentProperty : AbstractProperty
 	{
@@ -34,7 +34,7 @@
 		public PersistentProperty(BinaryReader reader, ClassProxyCollection classProxyCollection)
 		{
 			FullyQualifiedName = reader.ReadString();
-			documentation      = reader.ReadString();
+			Documentation      = reader.ReadString();
 			uint m = reader.ReadUInt32();
 			modifiers          = (ModifierEnum)(m & (canGetFlag - 1));
 			canGet             = (m & canGetFlag) == canGetFlag;
@@ -49,7 +49,7 @@
 		public void WriteTo(BinaryWriter writer)
 		{
 			writer.Write(FullyQualifiedName);
-			writer.Write(documentation);
+			writer.Write(Documentation);
 			writer.Write((uint)modifiers + (CanGet ? canGetFlag : 0) + (CanSet ? canSetFlag : 0));
 			((PersistentReturnType)returnType).WriteTo(writer);
 		}
@@ -58,9 +58,10 @@
 		{
 			FullyQualifiedName = property.Name;
 			modifiers          = property.Modifiers;
-			documentation      = property.Documentation;
-			if (documentation == null) {
-				documentation = String.Empty;
+			if (property.Documentation != null) {
+				Documentation = property.Documentation;
+			} else {
+				Documentation = String.Empty;
 			}
 			
 			if (property.ReturnType != null) {

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentReturnType.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentReturnType.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/PersistenceLayer/PersistentReturnType.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -8,7 +8,7 @@
 using System.IO;
 using MonoDevelop.Services;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	public sealed class PersistentReturnType : IReturnType
 	{
@@ -64,7 +64,7 @@
 				this.classProxyCollection = classProxyCollection;
 				this.pointerNestingLevel  = returnType.PointerNestingLevel;
 				this.arrayDimensions      = returnType.ArrayDimensions;
-				classProxyIndex           = classProxyCollection.IndexOf(returnType.FullyQualifiedName);
+				classProxyIndex           = classProxyCollection.IndexOf(returnType.FullyQualifiedName, true);
 				fullyQualifiedName        = returnType.FullyQualifiedName;
 			}
 		}

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionClass.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionClass.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionClass.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -11,7 +11,7 @@
 using System.Reflection;
 using System.Collections.Specialized;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	[Serializable]
 	public class ReflectionClass : AbstractClass
@@ -43,7 +43,7 @@
 			if (xmlComments != null) {
 				XmlNode node = xmlComments["T:" + FullyQualifiedName] as XmlNode;
 				if (node != null) {
-					documentation = node.InnerXml;
+					Documentation = node.InnerXml;
 				}
 			}
 			

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionEvent.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionEvent.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionEvent.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -9,7 +9,7 @@
 using System.Reflection;
 using System.Xml;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	[Serializable]
 	public class ReflectionEvent : AbstractEvent
@@ -21,7 +21,7 @@
 			if (xmlComments != null) {
 				XmlNode node = xmlComments["E:" + FullyQualifiedName] as XmlNode;
 				if (node != null) {
-					documentation = node.InnerXml;
+					Documentation = node.InnerXml;
 				}
 			}
 			

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionField.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionField.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionField.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -10,20 +10,20 @@
 using System.Reflection;
 using System.Xml;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	[Serializable]
 	public class ReflectionField : AbstractField
 	{
 		public ReflectionField(FieldInfo fieldInfo, Hashtable xmlComments)
 		{
-			Debug.Assert(fieldInfo != null);
+			System.Diagnostics.Debug.Assert(fieldInfo != null);
 			FullyQualifiedName = String.Concat(fieldInfo.DeclaringType.FullName, ".", fieldInfo.Name);
 			
 			if (xmlComments != null) {
 				XmlNode node = xmlComments["F:" + FullyQualifiedName] as XmlNode;
 				if (node != null) {
-					documentation = node.InnerXml;
+					Documentation = node.InnerXml;
 				}
 			}
 			if (fieldInfo.IsInitOnly) {

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionIndexer.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionIndexer.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionIndexer.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -10,7 +10,7 @@
 using System.Reflection;
 using System.Xml;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	[Serializable]
 	public class ReflectionIndexer : AbstractIndexer
@@ -51,7 +51,7 @@
 			if (xmlComments != null) {
 				node = xmlComments["P:" + FullyQualifiedName] as XmlNode;
 				if (node != null) {
-					documentation = node.InnerXml;
+					Documentation = node.InnerXml;
 				}
 			}
 			

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionMethod.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionMethod.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionMethod.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -10,7 +10,7 @@
 using System.Reflection;
 using System.Xml;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	[Serializable]
 	public class ReflectionMethod : AbstractMethod 
@@ -46,7 +46,7 @@
 			if (xmlComments != null) {
 				node = xmlComments["M:" + FullyQualifiedName + GetParamList(methodBase)] as XmlNode;
 				if (node != null) {
-					documentation = node.InnerXml;
+					Documentation = node.InnerXml;
 				}
 			}
 			

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionParameter.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionParameter.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionParameter.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -8,7 +8,7 @@
 using System.Reflection;
 using System.Xml;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	[Serializable]
 	public class ReflectionParameter : AbstractParameter

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionProperty.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionProperty.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionProperty.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -9,7 +9,7 @@
 using System.Reflection;
 using System.Xml;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	[Serializable]
 	public class ReflectionProperty : AbstractProperty 
@@ -34,7 +34,7 @@
 			if (xmlComments != null) {
 				XmlNode node = xmlComments["P:" + FullyQualifiedName] as XmlNode;
 				if (node != null) {
-					documentation = node.InnerXml;
+					Documentation = node.InnerXml;
 				}
 			}
 			

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionReturnType.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionReturnType.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/ReflectionLayer/ReflectionReturnType.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,14 +7,14 @@
 using System;
 using System.Collections;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	[Serializable]
 	public class ReflectionReturnType : AbstractReturnType
 	{
 		public ReflectionReturnType(Type type)
 		{
-			fullyQualifiedName = type.FullName.Replace("+", ".").Trim('&');
+			string fullyQualifiedName = type.FullName.Replace("+", ".").Trim('&');
 			
 			while (fullyQualifiedName.EndsWith("[") ||
 			       fullyQualifiedName.EndsWith("]") ||
@@ -22,6 +22,7 @@
 			       fullyQualifiedName.EndsWith("*")) {
 				fullyQualifiedName = fullyQualifiedName.Substring(0, fullyQualifiedName.Length - 1);
 			}
+			base.FullyQualifiedName = fullyQualifiedName;
 			
 			SetPointerNestingLevel(type);
 			SetArrayDimensions(type);

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyAttribute.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyAttribute.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyAttribute.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -16,7 +16,7 @@
 using MonoDevelop.SharpAssembly.PE;
 using MonoDevelop.SharpAssembly.Assembly;
 
-namespace SharpDevelop.Internal.Parser {
+namespace MonoDevelop.Internal.Parser {
 	
 	[Serializable]
 	public class SharpAssemblyAttribute : AbstractAttribute

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyClass.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyClass.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyClass.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -15,7 +15,7 @@
 using MonoDevelop.SharpAssembly.PE;
 using MonoDevelop.SharpAssembly.Assembly;
 
-namespace SharpDevelop.Internal.Parser {
+namespace MonoDevelop.Internal.Parser {
 	
 	[Serializable]
 	public class SharpAssemblyClass : AbstractClass

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyEvent.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyEvent.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyEvent.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -15,7 +15,7 @@
 using MonoDevelop.SharpAssembly.PE;
 using MonoDevelop.SharpAssembly.Assembly;
 
-namespace SharpDevelop.Internal.Parser {
+namespace MonoDevelop.Internal.Parser {
 	
 	[Serializable]
 	public class SharpAssemblyEvent : AbstractEvent

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyField.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyField.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyField.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -15,7 +15,7 @@
 using MonoDevelop.SharpAssembly.PE;
 using MonoDevelop.SharpAssembly.Assembly;
 
-namespace SharpDevelop.Internal.Parser {
+namespace MonoDevelop.Internal.Parser {
 	
 	[Serializable]
 	public class SharpAssemblyField : AbstractField

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyIndexer.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyIndexer.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyIndexer.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -14,7 +14,7 @@
 using MonoDevelop.SharpAssembly.Metadata;
 using MonoDevelop.SharpAssembly.PE;
 
-namespace SharpDevelop.Internal.Parser {
+namespace MonoDevelop.Internal.Parser {
 	
 	[Serializable]
 	public class SharpAssemblyIndexer : AbstractIndexer

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyMethod.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyMethod.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyMethod.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -16,7 +16,7 @@
 using MonoDevelop.SharpAssembly.PE;
 using MonoDevelop.SharpAssembly.Assembly;
 
-namespace SharpDevelop.Internal.Parser {
+namespace MonoDevelop.Internal.Parser {
 	
 	[Serializable]
 	public class SharpAssemblyMethod : AbstractMethod

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyParameter.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyParameter.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyParameter.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -15,7 +15,7 @@
 using MonoDevelop.SharpAssembly.PE;
 using MonoDevelop.SharpAssembly.Assembly;
 
-namespace SharpDevelop.Internal.Parser {
+namespace MonoDevelop.Internal.Parser {
 	
 	[Serializable]
 	public class SharpAssemblyParameter : AbstractParameter

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyProperty.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyProperty.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyProperty.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -15,7 +15,7 @@
 using MonoDevelop.SharpAssembly.PE;
 using MonoDevelop.SharpAssembly.Assembly;
 
-namespace SharpDevelop.Internal.Parser {
+namespace MonoDevelop.Internal.Parser {
 	
 	[Serializable]
 	public class SharpAssemblyProperty : AbstractProperty

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyReturnType.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyReturnType.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyReturnType.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -15,7 +15,7 @@
 using MonoDevelop.SharpAssembly.PE;
 using MonoDevelop.SharpAssembly.Assembly;
 
-namespace SharpDevelop.Internal.Parser {
+namespace MonoDevelop.Internal.Parser {
 	
 	[Serializable]
 	public class SharpAssemblyReturnType : AbstractReturnType
@@ -33,7 +33,7 @@
 		public void GetDataType(SharpAssembly asm, ref uint offset)
 		{
 			AssemblyReader assembly = asm.Reader;
-			
+			string fullyQualifiedName = "";
 			DataType dt = (DataType)assembly.LoadBlob(ref offset);
 			switch (dt) {
 				case DataType.Void:
@@ -123,7 +123,6 @@
 				
 				case DataType.TypeReference:
 					fullyQualifiedName = "typedref";
-					Console.WriteLine("got typedref");
 					break;
 				
 				case DataType.Pinned:
@@ -141,6 +140,7 @@
 					fullyQualifiedName += " NOT_SUPPORTED [" + dt.ToString() + "]";
 					break;
 			}
+			base.FullyQualifiedName = fullyQualifiedName;
 		}
 		
 		/// <remarks>
@@ -148,7 +148,7 @@
 		/// </remarks>
 		public SharpAssemblyReturnType(string name)
 		{
-			fullyQualifiedName = name;
+			FullyQualifiedName = name;
 			declaredin = null;
 		}
 		
@@ -156,9 +156,9 @@
 		{
 			underlyingClass = SharpAssemblyClass.FromTypeDef(assembly, index);
 			if (underlyingClass != null) {
-				fullyQualifiedName = underlyingClass.FullyQualifiedName;
+				FullyQualifiedName = underlyingClass.FullyQualifiedName;
 			} else {
-				fullyQualifiedName = assembly.Reader.GetStringFromHeap(typeDefTable[index].NSpace) + "." + 
+				FullyQualifiedName = assembly.Reader.GetStringFromHeap(typeDefTable[index].NSpace) + "." + 
 														assembly.Reader.GetStringFromHeap(typeDefTable[index].Name);
 			}
 			declaredin = assembly;
@@ -168,9 +168,9 @@
 		{
 			underlyingClass = SharpAssemblyClass.FromTypeRef(assembly, index);
 			if (underlyingClass != null) {
-				fullyQualifiedName = underlyingClass.FullyQualifiedName;
+				FullyQualifiedName = underlyingClass.FullyQualifiedName;
 			} else {
-				fullyQualifiedName = assembly.Reader.GetStringFromHeap(typeRefTable[index].Nspace) + "." + 
+				FullyQualifiedName = assembly.Reader.GetStringFromHeap(typeRefTable[index].Nspace) + "." + 
 			                                                assembly.Reader.GetStringFromHeap(typeRefTable[index].Name);
 			    Console.WriteLine("SharpAssemblyReturnType from TypeRef: TypeRef not resolved!");
 			}
@@ -184,7 +184,7 @@
 				GetDataType(assembly, ref blobSignatureIndex);
 			} catch (Exception e) {
 				Console.WriteLine("Got exception in ReturnType creation: " + e.ToString());
-				fullyQualifiedName = "GOT_EXCEPTION";
+				FullyQualifiedName = "GOT_EXCEPTION";
 			}
 			
 			if (arrayRanks.Count > 0) {

Modified: trunk/MonoDevelop/src/Main/Base/Internal/Parser/Tag.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Internal/Parser/Tag.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Internal/Parser/Tag.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -6,7 +6,7 @@
 // </file>
 using System;
 
-namespace SharpDevelop.Internal.Parser
+namespace MonoDevelop.Internal.Parser
 {
 	[Serializable]
 	public class Tag : Comment

Modified: trunk/MonoDevelop/src/Main/Base/Makefile.am
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Makefile.am	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Makefile.am	2004-03-27 21:37:08 UTC (rev 1267)
@@ -306,6 +306,7 @@
 ./Internal/Parser/Comment.cs \
 ./Internal/Parser/ModifierEnum.cs \
 ./Internal/Parser/IMember.cs \
+./Internal/Parser/IExpressionFinder.cs \
 ./Internal/Parser/IField.cs \
 ./Internal/Parser/IProperty.cs \
 ./Internal/Parser/PersistenceLayer/PersistentIndexer.cs \

Modified: trunk/MonoDevelop/src/Main/Base/Services/AmbienceService/AbstractAmbience.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Services/AmbienceService/AbstractAmbience.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Services/AmbienceService/AbstractAmbience.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -7,7 +7,7 @@
 
 using System;
 using System.Collections;
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 
 namespace MonoDevelop.Services
 {

Modified: trunk/MonoDevelop/src/Main/Base/Services/AmbienceService/AmbienceReflectionDecorator.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Services/AmbienceService/AmbienceReflectionDecorator.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Services/AmbienceService/AmbienceReflectionDecorator.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -9,7 +9,7 @@
 using System.Collections;
 using System.Reflection;
 
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 using MonoDevelop.Core.Properties;
 using MonoDevelop.Core.Services;
 

Modified: trunk/MonoDevelop/src/Main/Base/Services/AmbienceService/IAmbience.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Services/AmbienceService/IAmbience.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Services/AmbienceService/IAmbience.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -8,7 +8,7 @@
 using System;
 using System.Collections;
 
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 using MonoDevelop.Core.Properties;
 using MonoDevelop.Core.Services;
 

Modified: trunk/MonoDevelop/src/Main/Base/Services/AmbienceService/NetAmbience.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Services/AmbienceService/NetAmbience.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Services/AmbienceService/NetAmbience.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -8,7 +8,7 @@
 using System;
 using System.Text;
 
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 using MonoDevelop.Core.Properties;
 using MonoDevelop.Core.Services;
 

Modified: trunk/MonoDevelop/src/Main/Base/Services/ClassBrowserIcons/ClassBrowserIconsService.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Services/ClassBrowserIcons/ClassBrowserIconsService.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Services/ClassBrowserIcons/ClassBrowserIconsService.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -13,7 +13,7 @@
 using System.Reflection;
 using System.Resources;
 using System.Diagnostics;
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 using MonoDevelop.Gui;
 
 using MonoDevelop.Core.AddIns;

Modified: trunk/MonoDevelop/src/Main/Base/Services/ParserService/AssemblyInformation.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Services/ParserService/AssemblyInformation.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Services/ParserService/AssemblyInformation.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -10,12 +10,12 @@
 using System.Collections;
 using System.Threading;
 using System.Xml;
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 
-//using MonoDevelop.SharpAssembly.Metadata.Rows;
-//using MonoDevelop.SharpAssembly.Metadata;
-//using MonoDevelop.SharpAssembly.PE;
-//using MonoDevelop.SharpAssembly;
+//using ICSharpCode.SharpAssembly.Metadata.Rows;
+//using ICSharpCode.SharpAssembly.Metadata;
+//using ICSharpCode.SharpAssembly.PE;
+//using ICSharpCode.SharpAssembly;
 using System.Reflection;
 
 namespace MonoDevelop.Services {
@@ -90,14 +90,9 @@
 				}
 			}
 			
-			System.Reflection.Assembly asm;
-			try {
-				asm = Assembly.Load(fileName);
-			} catch {
-				asm = Assembly.LoadFrom (fileName);
-			}
+			System.Reflection.Assembly asm = nonLocking ? Assembly.Load(GetBytes(fileName)) : Assembly.LoadFrom(fileName);
 			foreach (Type type in asm.GetTypes()) {
-				if (!type.FullName.StartsWith("<")) {
+				if (!type.FullName.StartsWith("<") && !type.IsSpecialName && type.IsPublic) {
 					classes.Add(new ReflectionClass(type, docuNodes));
 				}
 			}

Modified: trunk/MonoDevelop/src/Main/Base/Services/ParserService/ClassProxy.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Services/ParserService/ClassProxy.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Services/ParserService/ClassProxy.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -6,86 +6,151 @@
 // </file>
 
 using System;
+using System.Drawing;
 using System.Collections;
+using System.Collections.Specialized;
 using System.Diagnostics;
 using System.IO;
 
 using MonoDevelop.Core.AddIns;
 
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 using MonoDevelop.Internal.Project;
 
 using MonoDevelop.Gui;
 
-namespace MonoDevelop.Services {
-	public class ClassProxy : IComparable {
-		public uint Offset = 0;
-		public readonly ClassType ClassType;
-		public readonly string FullyQualifiedName;
-		public readonly ModifierEnum Modifiers;
-		public readonly string Documentation;
-		private string className;
-		private string namespaceName;
+namespace MonoDevelop.Services
+{
+	public class ClassProxy : AbstractNamedEntity, IComparable, IClass
+	{
+		uint offset = 0;
+		ClassType classType;
 		
-		public int CompareTo(object obj) 
+		public uint Offset {
+			get {
+				return offset;
+			}
+			set {
+				offset = value;
+			}
+		}
+		
+		public ClassType ClassType {
+			get {
+				return classType;
+			}
+			set {
+				classType = value;
+			}
+		}
+		
+		/// <value>
+		/// Class Proxies clases don't have a compilation unit.
+		/// </value>
+		public ICompilationUnit CompilationUnit {
+			get {
+				return null;
+			}
+		}
+		
+		public int CompareTo(object obj)
 		{
-			return FullyQualifiedName.CompareTo (((ClassProxy) obj).FullyQualifiedName);
+			return FullyQualifiedName.CompareTo(((ClassProxy)obj).FullyQualifiedName);
 		}
 		
 		public ClassProxy(BinaryReader reader)
 		{
-			FullyQualifiedName = reader.ReadString ();
-			Documentation      = reader.ReadString ();
-			Offset             = reader.ReadUInt32 ();
-			Modifiers          = (ModifierEnum) reader.ReadUInt32 ();
-			ClassType          = (ClassType) reader.ReadInt16 ();
+			FullyQualifiedName = reader.ReadString();
+			Documentation      = reader.ReadString();
+			offset             = reader.ReadUInt32();
+			modifiers          = (ModifierEnum)reader.ReadUInt32();
+			classType          = (ClassType)reader.ReadInt16();
 		}
 		
 		public void WriteTo(BinaryWriter writer)
 		{
-			writer.Write (FullyQualifiedName);
-			writer.Write (Documentation);
-			writer.Write (Offset);
-			writer.Write ((uint) Modifiers);
-			writer.Write ((short) ClassType);
+			writer.Write(FullyQualifiedName);
+			writer.Write(Documentation);
+			writer.Write(offset);
+			writer.Write((uint)modifiers);
+			writer.Write((short)classType);
 		}
 		
 		public ClassProxy(IClass c)
 		{
 			this.FullyQualifiedName  = c.FullyQualifiedName;
 			this.Documentation       = c.Documentation;
-			this.Modifiers           = c.Modifiers;
-			this.ClassType           = c.ClassType;
+			this.modifiers           = c.Modifiers;
+			this.classType           = c.ClassType;
 		}
 		
-		public string Name {
+		/// unnecessary stuff
+		public IRegion Region {
 			get {
-				if (className == null && FullyQualifiedName != null) {
-					int lastIndex = FullyQualifiedName.LastIndexOfAny (new char[] { '.', '+' });
-					
-					if (lastIndex < 0)
-						className = FullyQualifiedName;
-					else
-						className = FullyQualifiedName.Substring(lastIndex + 1);
-				}
-				
-				return className;
+				return new DefaultRegion(Point.Empty, Point.Empty);
 			}
 		}
+		
+		public IRegion BodyRegion {
+			get {
+				return new DefaultRegion(Point.Empty, Point.Empty);
+			}
+		}
+		
+		public StringCollection BaseTypes {
+			get {
+				return new StringCollection();
+			}
+		}
+		
+		public ClassCollection InnerClasses {
+			get {
+				return new ClassCollection();
+			}
+		}
 
-		public string Namespace {
+		public FieldCollection Fields {
 			get {
-				if (namespaceName == null && FullyQualifiedName != null) {
-					int lastIndex = FullyQualifiedName.LastIndexOf ('.');
-					
-					if (lastIndex < 0)
-						namespaceName = string.Empty;
-					else
-						namespaceName = FullyQualifiedName.Substring (0, lastIndex);
-				}
-				
-				return namespaceName;
+				return new FieldCollection();
 			}
 		}
+
+		public PropertyCollection Properties {
+			get {
+				return new PropertyCollection();
+			}
+		}
+
+		public IndexerCollection Indexer {
+			get {
+				return new IndexerCollection();
+			}
+		}
+
+		public MethodCollection Methods {
+			get {
+				return new MethodCollection();
+			}
+		}
+
+		public EventCollection Events {
+			get {
+				return new EventCollection();
+			}
+		}
+
+		public IEnumerable ClassInheritanceTree {
+			get {
+				return null;
+			}
+		}
+		
+		public object DeclaredIn {
+			get {
+				return null;
+			}
+		}
+		///
+		
 	}
 }

Modified: trunk/MonoDevelop/src/Main/Base/Services/ParserService/ClassProxyCollection.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Services/ParserService/ClassProxyCollection.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Services/ParserService/ClassProxyCollection.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -19,8 +19,8 @@
 	[Serializable()]
 	public class ClassProxyCollection : CollectionBase 
 	{
-		Hashtable nameHashtable = new Hashtable();
-		
+		Hashtable nameHashtable                = new Hashtable();
+		Hashtable caseInsensitiveNameHashtable = new Hashtable();
 		/// <summary>
 		///     <para>
 		///       Initializes a new instance of <see cref='.ClassProxyCollection'/>.
@@ -81,7 +81,9 @@
 		/// <seealso cref='.ClassProxyCollection.AddRange'/>
 		public int Add(ClassProxy value) 
 		{
-			nameHashtable[value.FullyQualifiedName] = Count;
+			nameHashtable[value.FullyQualifiedName.GetHashCode()]                          = Count;
+			caseInsensitiveNameHashtable[value.FullyQualifiedName.ToLower().GetHashCode()] = Count;
+			
 			return List.Add(value);
 		}
 		
@@ -167,16 +169,15 @@
 			return List.IndexOf(value);
 		}
 		
-		public int IndexOf(string fullyQualifiedName)
+		public int IndexOf(string fullyQualifiedName, bool caseSensitive)
 		{
-			object o = nameHashtable[fullyQualifiedName];
+			object o = caseSensitive ? nameHashtable[fullyQualifiedName.GetHashCode()] : caseInsensitiveNameHashtable[fullyQualifiedName.ToLower().GetHashCode()];
 			if (o != null) {
 				return (int)o;
 			}
 			return -1;
 		}
 		
-		
 		/// <summary>
 		///    <para>Returns an enumerator that can iterate through
 		///       the <see cref='.ClassProxyCollection'/> .</para>

Modified: trunk/MonoDevelop/src/Main/Base/Services/ParserService/DefaultParserService.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Services/ParserService/DefaultParserService.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Services/ParserService/DefaultParserService.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -1,7 +1,7 @@
 // <file>
 //     <copyright see="prj:///doc/copyright.txt"/>
 //     <license see="prj:///doc/license.txt"/>
-//     <owner name="Mike Krüger" email="mike at icsharpcode.net"/>
+//     <owner name="Mike Krger" email="mike at icsharpcode.net"/>
 //     <version value="$version"/>
 // </file>
 
@@ -26,19 +26,30 @@
 using MonoDevelop.Core.AddIns;
 using MonoDevelop.Internal.Project;
 using MonoDevelop.Gui;
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 
 namespace MonoDevelop.Services
 {
 	public class DefaultParserService : AbstractService, IParserService
 	{
-		Hashtable classes    = new Hashtable();
+		Hashtable classes                = new Hashtable();
+		Hashtable caseInsensitiveClasses = new Hashtable();
+		
+		// used to map 'real' namespace hashtable inside case insensitive hashtable
+		const string CaseInsensitiveKey = "__CASE_INSENSITIVE_HASH";
+		Hashtable namespaces                = new Hashtable();
+		Hashtable caseInsensitiveNamespaces = new Hashtable();
+		
 		Hashtable parsings   = new Hashtable();
-		Hashtable namespaces = new Hashtable();
 		
 		ParseInformation addedParseInformation = new ParseInformation();
 		ParseInformation removedParseInformation = new ParseInformation();
 
+//// Alex: this one keeps requests for parsing and is used to start parser (pulsed)
+//// otherwise continuous reparsing of files is causing leaks
+//		public static Queue ParserPulse=new Queue();	// required for monitoring when to restart thread
+//// Alex: end of mod
+
 		/// <remarks>
 		/// The keys are the assemblies loaded. This hash table ensures that no
 		/// assembly is loaded twice. I know that strong naming might be better but
@@ -46,11 +57,9 @@
 		/// the same assembly.
 		/// </remarks>
 		Hashtable loadedAssemblies = new Hashtable();
-
+		
 		ClassProxyCollection classProxies = new ClassProxyCollection();
-
 		IParser[] parser;
-
 		readonly static string[] assemblyList = {
 			"Microsoft.VisualBasic",
 			//"Microsoft.JScript",
@@ -73,13 +82,14 @@
 			//"System.Windows.Forms",
 			"System",
 			"System.Xml",
-			"gtk-sharp",
 			"glib-sharp",
-			"gdk-sharp",
+			"atk-sharp",
 			"pango-sharp",
+			"gdk-sharp",
+			"gtk-sharp",
 			"gnome-sharp",
-			"glade-sharp",
-			"gconf-sharp"
+			"gconf-sharp",
+			"gtkhtml-sharp",
 		};
 		
 		public DefaultParserService()
@@ -142,8 +152,8 @@
 			else
 				return true;
 		}
-		
-		public void GenerateCodeCompletionDatabaseFast(string createPath, IProgressMonitor progressMonitor)
+	
+		public void GenerateCodeCompletionDatabase(string createPath, IProgressMonitor progressMonitor)
 		{
 			SetCodeCompletionFileLocation(createPath);
 
@@ -161,7 +171,7 @@
 					string path = fileUtilityService.GetDirectoryNameWithSeparator(System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory());
 
 					AssemblyInformation frameworkAssemblyInformation = new AssemblyInformation();
-					frameworkAssemblyInformation.Load(assemblyList[i], false);
+					frameworkAssemblyInformation.Load(String.Concat(path, assemblyList[i], ".dll"), false);
 					// create all class proxies
 					foreach (IClass newClass in frameworkAssemblyInformation.Classes) {
 						ClassProxy newProxy = new ClassProxy(newClass);
@@ -175,7 +185,7 @@
 					}
 					
 					if (progressMonitor != null) {
-						progressMonitor.Worked(i, "Writing database...");
+						progressMonitor.Worked(i, "Writing class");
 					}
 					if (!ContinueWithProcess(progressMonitor))
 						return;
@@ -183,8 +193,6 @@
 					Console.WriteLine(e.ToString());
 				}
 				System.GC.Collect();
-				if (!ContinueWithProcess(progressMonitor))
-					return;
 			}
 
 			classWriter.Close();
@@ -193,74 +201,7 @@
 				progressMonitor.Done();
 			}
 		}
-
-		public void GenerateEfficientCodeCompletionDatabase(string createPath, IProgressMonitor progressMonitor)
-		{
-			SetCodeCompletionFileLocation(createPath);
-			AssemblyInformation frameworkAssemblyInformation = new AssemblyInformation();
-
-			if (progressMonitor != null) {
-				progressMonitor.BeginTask("generate code completion database", assemblyList.Length * 3);
-			}
-
-			// convert all assemblies
-			for (int i = 0; i < assemblyList.Length; ++i) {
-				try {
-					FileUtilityService fileUtilityService = (FileUtilityService)ServiceManager.Services.GetService(typeof(FileUtilityService));
-					string path = fileUtilityService.GetDirectoryNameWithSeparator(System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory());
-					frameworkAssemblyInformation.Load(String.Concat(path, assemblyList[i], ".dll"), false);
-					
-					if (progressMonitor != null) {
-						progressMonitor.Worked(i, "Loading assemblies...");
-					}
-					Console.WriteLine ("loaded: " + assemblyList[i]);
-				} catch (Exception e) {
-					Console.WriteLine(e.ToString());
-				}
-				System.GC.Collect();
-				if (!ContinueWithProcess(progressMonitor))
-					return;
-			}
-					
-			// create all class proxies
-			for (int i = 0; i < frameworkAssemblyInformation.Classes.Count; ++i) {
-				ClassProxy newProxy = new ClassProxy(frameworkAssemblyInformation.Classes[i]);
-				Console.WriteLine ("Creating proxy for: " + newProxy.FullyQualifiedName);
-				classProxies.Add(newProxy);
-				AddClassToNamespaceList(newProxy);
-
-				if (progressMonitor != null) {
-					progressMonitor.Worked(assemblyList.Length + (i * assemblyList.Length) / frameworkAssemblyInformation.Classes.Count, "Generating database...");
-				}
-				if (!ContinueWithProcess(progressMonitor))
-					return;
-			}
-
-			// write all classes and proxies to the disc
-			BinaryWriter classWriter = new BinaryWriter(new BufferedStream(new FileStream(codeCompletionMainFile, FileMode.Create, FileAccess.Write, FileShare.None)));
-			BinaryWriter proxyWriter = new BinaryWriter(new BufferedStream(new FileStream(codeCompletionProxyFile, FileMode.Create, FileAccess.Write, FileShare.None)));
-			Console.WriteLine ("writing files");
-			for (int i  = 0; i < frameworkAssemblyInformation.Classes.Count; ++i) {
-				PersistentClass pc = new PersistentClass(classProxies, frameworkAssemblyInformation.Classes[i]);
-				ClassProxy proxy = classProxies[i];
-				proxy.Offset = (uint)classWriter.BaseStream.Position;
-				proxy.WriteTo(proxyWriter);
-				pc.WriteTo(classWriter);
-				Console.WriteLine ("Wrote proxy: " + proxy.FullyQualifiedName);
-				if (progressMonitor != null) {
-					progressMonitor.Worked(2 * assemblyList.Length + (i * assemblyList.Length) / frameworkAssemblyInformation.Classes.Count, "Writing database...");
-				}
-				if (!ContinueWithProcess(progressMonitor))
-					return;
-			}
-
-			classWriter.Close();
-			proxyWriter.Close();
-			if (progressMonitor != null) {
-				progressMonitor.Done();
-			}
-		}
-
+		
 		void SetCodeCompletionFileLocation(string path)
 		{
 			FileUtilityService fileUtilityService = (FileUtilityService)ServiceManager.Services.GetService(typeof(FileUtilityService));
@@ -278,21 +219,20 @@
 
 		public void LoadProxyDataFile()
 		{
-			if (!File.Exists (codeCompletionProxyFile))
+			if (!File.Exists(codeCompletionProxyFile)) {
 				return;
-			
-			using (FileStream fs = File.OpenRead (codeCompletionProxyFile)) {
-				BinaryReader reader = new BinaryReader (fs);
-				while (true) {
-					try {
-						ClassProxy newProxy = new ClassProxy(reader);
-						classProxies.Add(newProxy);
-						AddClassToNamespaceList(newProxy);
-					} catch (Exception) {
-						break;
-					}
+			}
+			BinaryReader reader = new BinaryReader(new BufferedStream(new FileStream(codeCompletionProxyFile, FileMode.Open, FileAccess.Read, FileShare.Read)));
+			while (true) {
+				try {
+					ClassProxy newProxy = new ClassProxy(reader);
+					classProxies.Add(newProxy);
+					AddClassToNamespaceList(newProxy);
+				} catch (Exception) {
+					break;
 				}
 			}
+			reader.Close();
 		}
 		
 		void LoadThread()
@@ -306,15 +246,6 @@
 			}
 		}
 		
-		public override void UnloadService()
-		{
-			base.UnloadService ();
-			if (worker != null && worker.IsAlive) {
-				worker.Abort ();
-				worker = null;
-			}
-		}
-		
 		public override void InitializeService()
 		{
 			parser = (IParser[])(AddInTreeSingleton.AddInTree.GetTreeNode("/Workspace/Parser").BuildChildItems(this)).ToArray(typeof(IParser));
@@ -323,9 +254,8 @@
 			myThread.IsBackground = true;
 			myThread.Priority = ThreadPriority.Lowest;
 			myThread.Start();
-			/*ProjectService isnt up yet*/
+			
 			IProjectService projectService = (IProjectService)MonoDevelop.Core.Services.ServiceManager.Services.GetService(typeof(IProjectService));
-
 			projectService.CombineOpened += new CombineEventHandler(OpenCombine);
 		}
 		
@@ -375,16 +305,14 @@
 					foreach (IClass newClass in assemblyInformation.Classes) {
 						parserService.AddClassToNamespaceList(newClass);
 						lock (parserService.classes) {
-							parserService.classes[newClass.FullyQualifiedName] = new ClasstableEntry(null, null, newClass);
+							parserService.caseInsensitiveClasses[newClass.FullyQualifiedName.ToLower()] = parserService.classes[newClass.FullyQualifiedName] = new ClasstableEntry(null, null, newClass);
 						}
 					}
 				} catch (Exception e) {
 					Console.WriteLine("Can't add reference : " + e.ToString());
 				}
 			}
-		
 		}
-
 		
 		public void OpenCombine(object sender, CombineEventArgs e)
 		{
@@ -396,40 +324,72 @@
 			}
 		}
 		
-		Thread worker;
 		public void StartParserThread()
 		{
-			worker = new Thread(new ThreadStart(ParserUpdateThread));
-			worker.IsBackground  = true;
-			worker.Priority  = ThreadPriority.Lowest;
-			worker.Start();
+			Thread t = new Thread(new ThreadStart(ParserUpdateThread));
+			t.IsBackground  = true;
+			t.Start();
 		}
-
+		
+		Hashtable lastUpdateSize = new Hashtable();
 		void ParserUpdateThread()
 		{
+// 			string fn=null;
 			while (true) {
-				Thread.Sleep(100);
+				////Thread.Sleep(1000); // not required
+//// Alex: if some file was pulsed - during editor load and after - get file to reparse
+//				fn = null; // set to null for each repetition
+// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+//	Mike: Doesn't work with folding marker update --> look at the folding markers
+//  Mike: You can't simply BREAK a feature and say I should fix it ... either bring the folding
+//        markers in a working state or leave this change ... I don't see that your change is a good
+//        alternative ... the current parserthread looks at the text and if it changed it reparses ...
+//        it is better than the old version you fixed 
+// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+//				lock(DefaultParserService.ParserPulse) {
+//					//Console.WriteLine("Pulse got: {0} entries",DefaultParserService.ParserPulse.Count);
+//					Monitor.Wait(DefaultParserService.ParserPulse);
+//					if (DefaultParserService.ParserPulse.Count>0) {
+//						fn = (string)DefaultParserService.ParserPulse.Dequeue();
+//					}
+//				}
 				try {
-					if (WorkbenchSingleton.Workbench.ActiveWorkbenchWindow != null && WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent != null) {
-						IEditable editable = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent as IEditable;
+					if (WorkbenchSingleton.Workbench.ActiveWorkbenchWindow != null && WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ActiveViewContent != null) {
+						IEditable editable = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ActiveViewContent as IEditable;
 						if (editable != null) {
 							string fileName = null;
 							
-							IParseableContent parseableContent = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent as IParseableContent;
+							IViewContent viewContent = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent;
+							IParseableContent parseableContent = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ActiveViewContent as IParseableContent;
+							
 							if (parseableContent != null) {
 								fileName = parseableContent.ParseableContentName;
 							} else {
-								fileName = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent.ContentName;
+								fileName = viewContent.IsUntitled ? viewContent.UntitledName : viewContent.ContentName;
 							}
+							
 							if (!(fileName == null || fileName.Length == 0)) {
-								Thread.Sleep(100);
+//								Thread.Sleep(300); // not required 
 								IParseInformation parseInformation = null;
+								bool updated = false;
 								lock (parsings) {
-									parseInformation = ParseFile(fileName, editable.Text);
+									string text = editable.Text;
+									
+									if (lastUpdateSize[fileName] == null || (int)lastUpdateSize[fileName] != text.GetHashCode()) {
+										parseInformation = ParseFile(fileName, text);
+										lastUpdateSize[fileName] = text.GetHashCode();
+										updated = true;
+									} 
 								}
-								if (parseInformation != null && editable is IParseInformationListener) {
-									((IParseInformationListener)editable).ParseInformationUpdated(parseInformation);
+								if (updated) {
+									if (parseInformation != null && editable is IParseInformationListener) {
+										((IParseInformationListener)editable).ParseInformationUpdated(parseInformation);
+									}
 								}
+//								if (fn != null) {
+//									ParseFile(fn); // TODO: this one should update file parsings requested through queue
+//								}
 							}
 						}
 					}
@@ -438,82 +398,144 @@
 						Console.WriteLine(e.ToString());
 					} catch {}
 				}
-				Thread.Sleep(100);
+				Thread.Sleep(500); // not required
+				System.GC.Collect();
 			}
 		}
-
+		
 		Hashtable AddClassToNamespaceList(IClass addClass)
 		{
 			string nSpace = addClass.Namespace;
 			if (nSpace == null) {
 				nSpace = String.Empty;
 			}
+			
 			string[] path = nSpace.Split('.');
 			
 			lock (namespaces) {
-				Hashtable cur = namespaces;
+				Hashtable cur                = namespaces;
+				Hashtable caseInsensitiveCur = caseInsensitiveNamespaces;
 				
 				for (int i = 0; i < path.Length; ++i) {
 					if (cur[path[i]] == null) {
-						cur[path[i]] = new Hashtable();
+						Hashtable hashTable                = new Hashtable();
+						Hashtable caseInsensitivehashTable = new Hashtable();
+						cur[path[i]] = hashTable;
+						caseInsensitiveCur[path[i].ToLower()] = caseInsensitivehashTable;
+						caseInsensitivehashTable[CaseInsensitiveKey] = hashTable;
 					} else {
 						if (!(cur[path[i]] is Hashtable)) {
 							return null;
 						}
 					}
 					cur = (Hashtable)cur[path[i]];
+					caseInsensitiveCur = (Hashtable)caseInsensitiveCur[path[i].ToLower()];
 				}
-				
-				cur[addClass.Name] = new ClassProxy(addClass);
-				
+				caseInsensitiveCur[addClass.Name.ToLower()] = cur[addClass.Name] = addClass;
 				return cur;
 			}
 		}
 		
-		Hashtable AddClassToNamespaceList(ClassProxy addClass)
+#region Default Parser Layer dependent functions
+		public IClass GetClass(string typeName)
 		{
-			string nSpace = addClass.Namespace;
-			if (nSpace == null) {
-				nSpace = String.Empty;
+			return GetClass(typeName, true);
+		}
+		public IClass GetClass(string typeName, bool caseSensitive)
+		{
+			if (!caseSensitive) {
+				typeName = typeName.ToLower();
 			}
-			string[] path = nSpace.Split('.');
 			
-			lock (namespaces) {
-				Hashtable cur = namespaces;
-				
+			ClasstableEntry entry = (caseSensitive ? classes[typeName] : caseInsensitiveClasses[typeName]) as ClasstableEntry;
+			if (entry != null) {
+				return entry.Class;
+			}
+			
+			// try to load the class from our data file
+			int idx = classProxies.IndexOf(typeName, caseSensitive);
+			if (idx > 0) {
+				BinaryReader reader = new BinaryReader(new BufferedStream(new FileStream(codeCompletionMainFile, FileMode.Open, FileAccess.Read, FileShare.Read)));
+				reader.BaseStream.Seek(classProxies[idx].Offset, SeekOrigin.Begin);
+				IClass c = new PersistentClass(reader, classProxies);
+				reader.Close();
+				lock (classes) {
+					caseInsensitiveClasses[typeName.ToLower()] = classes[typeName] = new ClasstableEntry(null, null, c);
+				}
+				return c;
+			}
+			return null;
+		}
+		
+		public string[] GetNamespaceList(string subNameSpace)
+		{
+			return GetNamespaceList(subNameSpace, true);
+		}
+		public string[] GetNamespaceList(string subNameSpace, bool caseSensitive)
+		{
+//			Console.WriteLine("GetNamespaceList >{0}<", subNameSpace);
+			
+			System.Diagnostics.Debug.Assert(subNameSpace != null);
+			if (!caseSensitive) {
+				subNameSpace = subNameSpace.ToLower();
+			}
+			
+			string[] path = subNameSpace.Split('.');
+			Hashtable cur = caseSensitive ? namespaces : caseInsensitiveNamespaces;
+			
+			if (subNameSpace.Length > 0) {
 				for (int i = 0; i < path.Length; ++i) {
-					if (cur[path[i]] == null) {
-						cur[path[i]] = new Hashtable();
-					} else {
-						if (!(cur[path[i]] is Hashtable)) {
-							return null;
-						}
+					if (!(cur[path[i]] is Hashtable)) {
+						return null;
 					}
 					cur = (Hashtable)cur[path[i]];
 				}
-				
-				cur[addClass.Name] = addClass;
-				
-				return cur;
 			}
+			
+			if (!caseSensitive) {
+				cur = (Hashtable)cur[CaseInsensitiveKey];
+			}
+			
+			ArrayList namespaceList = new ArrayList();
+			foreach (DictionaryEntry entry in cur) {
+				if (entry.Value is Hashtable && entry.Key.ToString().Length > 0) {
+					namespaceList.Add(entry.Key);
+				}
+			}
+			
+			return (string[])namespaceList.ToArray(typeof(string));
 		}
-
+		
 		public ArrayList GetNamespaceContents(string subNameSpace)
 		{
+			return GetNamespaceContents(subNameSpace, true);
+		}
+		public ArrayList GetNamespaceContents(string subNameSpace, bool caseSensitive)
+		{
+//			Console.WriteLine("GetNamespaceContents >{0}<", subNameSpace);
+			
 			ArrayList namespaceList = new ArrayList();
 			if (subNameSpace == null) {
 				return namespaceList;
 			}
+			if (!caseSensitive) {
+				subNameSpace = subNameSpace.ToLower();
+			}
+			
 			string[] path = subNameSpace.Split('.');
-			Hashtable cur = namespaces;
-
+			Hashtable cur = caseSensitive ? namespaces : caseInsensitiveNamespaces;
+			
 			for (int i = 0; i < path.Length; ++i) {
 				if (!(cur[path[i]] is Hashtable)) {
 					return namespaceList;
 				}
 				cur = (Hashtable)cur[path[i]];
 			}
-
+			
+			if (!caseSensitive) {
+				cur = (Hashtable)cur[CaseInsensitiveKey];
+			}
+			
 			foreach (DictionaryEntry entry in cur)  {
 				if (entry.Value is Hashtable) {
 					namespaceList.Add(entry.Key);
@@ -521,18 +543,25 @@
 					namespaceList.Add(entry.Value);
 				}
 			}
-
 			return namespaceList;
 		}
-
+		
 		public bool NamespaceExists(string name)
 		{
+			return NamespaceExists(name, true);
+		}
+		public bool NamespaceExists(string name, bool caseSensitive)
+		{
+//			Console.WriteLine("NamespaceExists >{0}<", name);
 			if (name == null) {
 				return false;
 			}
+			if (!caseSensitive) {
+				name = name.ToLower();
+			}
 			string[] path = name.Split('.');
-			Hashtable cur = namespaces;
-
+			Hashtable cur = caseSensitive ? namespaces : caseInsensitiveNamespaces;
+			
 			for (int i = 0; i < path.Length; ++i) {
 				if (!(cur[path[i]] is Hashtable)) {
 					return false;
@@ -541,55 +570,17 @@
 			}
 			return true;
 		}
-
-		public string[]  GetNamespaceList(string subNameSpace)
-		{
-			Debug.Assert(subNameSpace != null);
-
-			string[] path = subNameSpace.Split('.');
-			Hashtable cur = namespaces;
-
-			if (subNameSpace.Length > 0) {
-				for (int i = 0; i < path.Length; ++i) {
-					if (!(cur[path[i]] is Hashtable)) {
-						return null;
-					}
-					cur = (Hashtable)cur[path[i]];
-				}
-			}
-
-			ArrayList namespaceList = new ArrayList();
-			foreach (DictionaryEntry entry in cur) {
-				if (entry.Value is Hashtable && entry.Key.ToString().Length > 0) {
-					namespaceList.Add(entry.Key);
-				}
-			}
-
-			return (string[])namespaceList.ToArray(typeof(string));
-		}
-
+#endregion
+		
 		public IParseInformation ParseFile(string fileName)
 		{
 			return ParseFile(fileName, null);
 		}
-
-		public IParseInformation ParseFile (string fileName, string fileContent)
-		{
-			return ParseFile (GetParser (fileName), fileName, fileContent);
-		}
 		
-		public IParseInformation ParseFile (string language, string fileName, string fileContent)
+		public IParseInformation ParseFile(string fileName, string fileContent)
 		{
-			if (language == "C#" || language == "c#")
-				return ParseFile (parser[0], fileName, fileContent);
+			IParser parser = GetParser(fileName);
 			
-			return null;
-		}
-		
-				
-			
-		public IParseInformation ParseFile (IParser parser, string fileName, string fileContent)
-		{
 			if (parser == null) {
 				return null;
 			}
@@ -644,34 +635,40 @@
 			}
 			
 			parsings[fileName] = parseInformation;
-									
+			
 			if (parseInformation.BestCompilationUnit is ICompilationUnit) {
 				ICompilationUnit cu = (ICompilationUnit)parseInformation.BestCompilationUnit;
 				foreach (IClass c in cu.Classes) {
 					AddClassToNamespaceList(c);
 					lock (classes) {
-						classes[c.FullyQualifiedName] = new ClasstableEntry(fileName, cu, c);
+						caseInsensitiveClasses[c.FullyQualifiedName.ToLower()] = classes[c.FullyQualifiedName] = new ClasstableEntry(fileName, cu, c);
 					}
 				}
 			} else {
-				Console.WriteLine("SKIP!");
+//				Console.WriteLine("SKIP!");
 			}
 			
+			OnParseInformationChanged(new ParseInformationEventArgs(fileName, parseInformation));
+			
+			if (itemsRemoved > 0) {
+				OnParseInformationRemoved (new ParseInformationEventArgs (fileName, removedParseInformation));
+			}
 			if(itemsAdded > 0) {
 				OnParseInformationAdded(new ParseInformationEventArgs(fileName, addedParseInformation));
 			}
-			if(itemsRemoved > 0) {
-				OnParseInformationRemoved(new ParseInformationEventArgs(fileName, removedParseInformation));
-			}
+			//if(itemsRemoved > 0) {
+			//	OnParseInformationRemoved(new ParseInformationEventArgs(fileName, removedParseInformation));
+			//}
 			return parseInformation;
 		}
 		
 		void RemoveClasses(ICompilationUnit cu)
 		{
 			if (cu != null) {
-				foreach (IClass c in cu.Classes) {
-					lock (classes) {
-						classes.Remove(c.FullyQualifiedName);
+				lock (classes) {
+					foreach (IClass c in cu.Classes) {
+							classes.Remove(c.FullyQualifiedName);
+							caseInsensitiveClasses.Remove(c.FullyQualifiedName.ToLower());
 					}
 				}
 			}
@@ -688,50 +685,24 @@
 			}
 			return (IParseInformation)cu;
 		}
-		public IParseInformation GetParseInformation(string fileName, string content)
+		
+		public IExpressionFinder GetExpressionFinder(string fileName)
 		{
-			if (fileName == null || fileName.Length == 0) {
-				return null;
+			IParser parser = GetParser(fileName);
+			if (parser != null) {
+				return parser.ExpressionFinder;
 			}
-			object cu = parsings[fileName];
-			if (cu == null) {
-				return ParseFile(fileName, content);
-			}
-			return (IParseInformation)cu;
+			return null;
 		}
-		
-		
 		public virtual IParser GetParser(string fileName)
 		{
-			if (fileName == null)
-				return null;
-			
+			// HACK: I'm too lazy to do it 'right'
 			if (Path.GetExtension(fileName).ToUpper() == ".CS") {
 				return parser[0];
 			}
-			return null;
-		}
-		
-		public IClass GetClass(string typeName)
-		{
-			ClasstableEntry entry = classes[typeName] as ClasstableEntry;
-			if (entry != null) {
-				return entry.Class;
+			if (Path.GetExtension(fileName).ToUpper() == ".VB") {
+				return parser[1];
 			}
-
-			// try to load the class from our data file
-			int idx = classProxies.IndexOf(typeName);
-			if (idx > 0) {
-				BinaryReader reader = new BinaryReader(new BufferedStream(new FileStream(codeCompletionMainFile, FileMode.Open, FileAccess.Read, FileShare.Read)));
-				reader.BaseStream.Seek(classProxies[idx].Offset, SeekOrigin.Begin);
-				IClass c = new PersistentClass(reader, classProxies);
-				reader.Close();
-				lock (classes) {
-					classes[typeName] = new ClasstableEntry(null, null, c);
-				}
-				return c;
-			}
-
 			return null;
 		}
 		
@@ -762,6 +733,15 @@
 		
 		////////////////////////////////////
 		
+		public ArrayList CtrlSpace(IParserService parserService, int caretLine, int caretColumn, string fileName)
+		{
+			IParser parser = GetParser(fileName);
+			if (parser != null) {
+				return parser.CtrlSpace(parserService, caretLine, caretColumn, fileName);
+			}
+			return null;
+		}
+		
 		public ResolveResult Resolve(string expression,
 		                             int caretLineNumber,
 		                             int caretColumn,
@@ -770,37 +750,18 @@
 		{
 			// added exception handling here to prevent silly parser exceptions from
 			// being thrown and corrupting the textarea control
-			try {
+			//try {
 				IParser parser = GetParser(fileName);
+				Console.WriteLine("Parse info : " + GetParseInformation(fileName).MostRecentCompilationUnit.Tag);
 				if (parser != null) {
 					return parser.Resolve(this, expression, caretLineNumber, caretColumn, fileName, fileContent);
 				}
 				return null;
-			} catch {
-				return null;
-			}
+			//} catch {
+//				return null;
+			//}
 		}
-		
-		public ResolveResult Resolve(string expression,
-		                             int caretLineNumber,
-		                             int caretColumn,
-		                             string fileName,
-		                             string fileContent,
-					     string language)
-		{
-			// added exception handling here to prevent silly parser exceptions from
-			// being thrown and corrupting the textarea control
-			try {
-				IParser p = language == "c#" || language == "C#" ? parser[0] : null;
-				if (p != null) {
-					return p.Resolve(this, expression, caretLineNumber, caretColumn, fileName, fileContent);
-				}
-				return null;
-			} catch {
-				return null;
-			}
-		}
-		
+
 		protected void OnParseInformationAdded(ParseInformationEventArgs e)
 		{
 			if (ParseInformationAdded != null) {

Modified: trunk/MonoDevelop/src/Main/Base/Services/ParserService/IParserService.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Services/ParserService/IParserService.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Services/ParserService/IParserService.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -12,7 +12,7 @@
 
 using MonoDevelop.Core.AddIns;
 
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 using MonoDevelop.Internal.Project;
 
 using MonoDevelop.Gui;
@@ -41,17 +41,22 @@
 	{
 		IParseInformation ParseFile(string fileName);
 		IParseInformation ParseFile(string fileName, string fileContent);
-
+		
 		IParseInformation GetParseInformation(string fileName);
-		IParseInformation GetParseInformation(string fileName, string fileContent);
-
+		
 		IParser GetParser(string fileName);
-
+		IExpressionFinder GetExpressionFinder(string fileName);
+		
 		// Default Parser Layer dependent functions
 		IClass    GetClass(string typeName);
 		string[]  GetNamespaceList(string subNameSpace);
 		ArrayList GetNamespaceContents(string subNameSpace);
 		bool      NamespaceExists(string name);
+		
+		IClass    GetClass(string typeName, bool caseSensitive);
+		string[]  GetNamespaceList(string subNameSpace, bool caseSensitive);
+		ArrayList GetNamespaceContents(string subNameSpace, bool caseSensitive);
+		bool      NamespaceExists(string name, bool caseSensitive);
 		////////////////////////////////////////////
 
 		/// <summary>
@@ -63,14 +68,7 @@
 		                      int caretColumn,
 		                      string fileName,
 		                      string fileContent);
-				      
-		ResolveResult Resolve(string expression,
-		                      int caretLineNumber,
-		                      int caretColumn,
-		                      string fileName,
-		                      string fileContent,
-				      string language);
-
+		ArrayList CtrlSpace(IParserService parserService, int caretLine, int caretColumn, string fileName);
 		void AddReferenceToCompletionLookup(IProject project, ProjectReference reference);
 
 		event ParseInformationEventHandler ParseInformationAdded;

Modified: trunk/MonoDevelop/src/Main/Base/Services/ParserService/ParseInformation.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Services/ParserService/ParseInformation.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Services/ParserService/ParseInformation.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -22,7 +22,7 @@
 using MonoDevelop.Core.AddIns;
 using MonoDevelop.Internal.Project;
 using MonoDevelop.Gui;
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 
 namespace MonoDevelop.Services
 {

Modified: trunk/MonoDevelop/src/Main/Base/Services/Project/ParseInformationEventHandler.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Services/Project/ParseInformationEventHandler.cs	2004-03-27 05:01:13 UTC (rev 1266)
+++ trunk/MonoDevelop/src/Main/Base/Services/Project/ParseInformationEventHandler.cs	2004-03-27 21:37:08 UTC (rev 1267)
@@ -12,7 +12,7 @@
 
 using MonoDevelop.Core.AddIns;
 
-using SharpDevelop.Internal.Parser;
+using MonoDevelop.Internal.Parser;
 using MonoDevelop.Internal.Project;
 
 using MonoDevelop.Gui;




More information about the Monodevelop-patches-list mailing list