[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