[MonoDevelop] Generics in CC
Lluis Sanchez
lluis at ximian.com
Mon Jul 3 18:27:08 EDT 2006
El dl 03 de 07 del 2006 a les 22:47 +0200, en/na Matej Urbas va
escriure:
> Hi
>
> I've been away for a while, but here I am again.
>
> While I'm still trying to make generics support for CC, I have not
> progressed very far. I have not been able to make the (de)serialization
> process work... I need some help from professionals here.
>
> After changing the BaseTypes attribute into a ReturnTypeList (in
> AbstractClass), and after making all the changes needed in Persistent*
> classes, I have broken quite some things.
>
> I have tested the changes on the Monodevelop project (Monodevelop.mds) -
> where I have manually deleted the .pidb files (I don't know if that's
> the right way of testing it either :D).
>
>
> The problem I'm experiencing is that the serialization process doesn't
> work well (not at all). I'm getting a lot of these (when code completion
> is triggered in an editor):
>
> ERROR MonoDevelop.Core.ILoggingService [(null)] -
> System.IndexOutOfRangeException: Array index is out of range.
> in <0x0000e> MonoDevelop.Projects.Parser.StringNameTable:GetStringValue
> (Int32 id)
> in <0x0003d> MonoDevelop.Projects.Parser.PersistentHelper:ReadString
> (System.IO.BinaryReader reader, INameDecoder nameTable)
> in <0x0005b> MonoDevelop.Projects.Parser.PersistentReturnType:Read
> (System.IO.BinaryReader reader, INameDecoder nameTable)
> in <0x00156> MonoDevelop.Projects.Parser.PersistentClass:Read
> (System.IO.BinaryReader reader, INameDecoder nameTable)
> in <0x0009f>
> MonoDevelop.Projects.Parser.CodeCompletionDatabase:ReadClass
> (MonoDevelop.Projects.Parser.ClassEntry ce)
> in <0x0005d> MonoDevelop.Projects.Parser.CodeCompletionDatabase:GetClass
> (MonoDevelop.Projects.Parser.ClassEntry ce)
> in <0x0012f> MonoDevelop.Projects.Parser.CodeCompletionDatabase:GetClass
> (System.String typeName, Boolean caseSensitive)
> in <0x000d7> MonoDevelop.Projects.Parser.ParserDatabase:GetClass
> (MonoDevelop.Projects.Parser.CodeCompletionDatabase db, System.String
> typeName, Boolean caseSensitive)
> in <0x00035> MonoDevelop.Projects.Parser.ParserDatabase:GetClass
> (MonoDevelop.Projects.Parser.CodeCompletionDatabase db, System.String
> typeName, Boolean deepSearchReferences, Boolean caseSensitive)
> in <0x00014> MonoDevelop.Projects.Parser.ParserDatabase:GetClass
> (MonoDevelop.Projects.Parser.CodeCompletionDatabase db, System.String
> typeName)
> in <0x00066> MonoDevelop.Projects.Parser.ParserDatabase:SearchType
> (MonoDevelop.Projects.Parser.CodeCompletionDatabase db, System.String
> name, IClass callingClass, ICompilationUnit unit)
> in <0x00020>
> MonoDevelop.Projects.Parser.ParserDatabase+CompilationUnitTypeResolver:Resolve
> (System.String typeName)
> in <0x00059> MonoDevelop.Projects.Parser.PersistentReturnType:Resolve
> (IReturnType source, ITypeResolver typeResolver)
> in <0x000be> MonoDevelop.Projects.Parser.PersistentProperty:Resolve
> (IProperty source, ITypeResolver typeResolver)
> in <0x00607> MonoDevelop.Projects.Parser.PersistentClass:Resolve (IClass
> sclass, ITypeResolver typeResolver)
> in <0x000b4> MonoDevelop.Projects.Parser.ParserDatabase:ResolveTypes
> (MonoDevelop.Projects.Project project, ICompilationUnit unit,
> MonoDevelop.Projects.Parser.ClassCollection types,
> MonoDevelop.Projects.Parser.ClassCollection result)
> in <0x000e6>
> MonoDevelop.Projects.Parser.ProjectCodeCompletionDatabase:UpdateFromParseInfo
> (IParseInformation parserInfo, System.String fileName)
> in <0x0016c> MonoDevelop.Projects.Parser.ParserDatabase:UpdateFile
> (MonoDevelop.Projects.Project project, System.String fileName,
> System.String fileContent)
This may happen if MD tries to read an old parser database. To avoid
this problem just increase the version of the file format
(FORMAT_VERSION constant in CodeCompletionDatabase). You can also try
deleting all files in ~/.config/MonoDevelop/CodeCompletionData.
Lluis.
More information about the Monodevelop-list
mailing list