| 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 First Reported In: | 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/Implemented 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
|