Summary: | code importing wizard C#: Windows Forms classes are not imported | ||
---|---|---|---|
Product: | [Applications] umbrello | Reporter: | Jessica <jess.jones.unitedkingdom> |
Component: | importer | Assignee: | Umbrello Development Group <umbrello-devel> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | okellogg |
Priority: | NOR | ||
Version: | 2.32.0 (KDE releases 20.08.0) | ||
Target Milestone: | --- | ||
Platform: | Microsoft Windows | ||
OS: | Microsoft Windows | ||
Latest Commit: | https://invent.kde.org/sdk/umbrello/commit/47e8a38a28f02bbafd437fb4038e055249d4441b | Version Fixed In: | 2.33.80 (KDE releases 22.03.80) |
Sentry Crash Report: | |||
Attachments: | windows forms class to import |
Description
Jessica
2022-01-27 21:50:11 UTC
Git commit e9fbd978a03453669735bcc2c008afef14f553a8 by Oliver Kellogg. Committed on 11/02/2022 at 22:38. Pushed by okellogg into branch 'master'. First stab at "code importing wizard C#: Windows Forms classes are not imported" umbrello/codeimport/csharp/csharpimport.cpp - Simplify function isClassModifier. - In function isCommonModifier, - simplify such that each keyword is looked at only once; - add missing modifiers "readonly", "volatile", "virtual", "override", "unsafe", "extern", "partial", "async". This is just enough to get the classes imported but there remain plenty of details to straighten out. M +30 -45 umbrello/codeimport/csharp/csharpimport.cpp https://invent.kde.org/sdk/umbrello/commit/e9fbd978a03453669735bcc2c008afef14f553a8 Git commit 47e8a38a28f02bbafd437fb4038e055249d4441b by Oliver Kellogg. Committed on 12/02/2022 at 13:44. Pushed by okellogg into branch 'master'. Finalize "C#: Windows Forms classes are not imported" and fix "C# importer doesn't support properties" umbrello/codeimport/csharp/csharpimport.{h,cpp} - Reimplement function preprocess(QString&); from NativeImportBase, currently only to discard preprocessor lines. Reason: If we don't do this then preprocessor lines are forwarded to the m_source token stream which creates problems on parsing. umbrello/codeimport/csharp/csharpimport.cpp - Cosmetic change in function joinTypename: Use lookAhead() in place of m_source[m_srcIndex + 1]. - In function resolveClass first call findObject(className, currentScope()) and if this returns non null then return the found object. - In function parseStmt : - Before testing isTypeDeclaration(keyword), while isClassModifier(keyword) returns true assign advance() to keyword. - Simplify if-statement testing isTypeDeclaration(keyword), use `keyword' in place of nextKeyword. - Remove handling of keyword "#", this is obsoleted by reimplementing preprocess(QString&). - Before expecting `keyword' to be a type name advance over possible modifiers using isCommonModifier(keyword). - In handling of nextToken "(", do not try resolving the return type if it is "void". In this case set typeName empty to avoid creation of a bogus type for "void". - Before handling a data member declaration add handling of nextToken "{" (property). Related: bug 375223 FIXED-IN:2.33.80 (KDE releases 22.03.80) M +72 -44 umbrello/codeimport/csharp/csharpimport.cpp M +4 -2 umbrello/codeimport/csharp/csharpimport.h https://invent.kde.org/sdk/umbrello/commit/47e8a38a28f02bbafd437fb4038e055249d4441b Git commit 02d0a994cad70411ef0e000a2424289fa635f043 by Oliver Kellogg. Committed on 19/02/2022 at 16:51. Pushed by okellogg into branch 'master'. umbrello/codeimport/csharp/csharpimport.{h,cpp} followup to commit 47e8a38: - Reimplement function fillSource from CsValaImportBase in order to map .NET type aliases to their native C# counterparts. M +37 -0 umbrello/codeimport/csharp/csharpimport.cpp M +1 -1 umbrello/codeimport/csharp/csharpimport.h https://invent.kde.org/sdk/umbrello/commit/02d0a994cad70411ef0e000a2424289fa635f043 |