umbrello  2.31.80
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
csharpimport.h
Go to the documentation of this file.
1 /*
2  SPDX-License-Identifier: GPL-2.0-or-later
3  SPDX-FileCopyrightText: 2011-2020 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4 */
5 
6 #ifndef CSHARPIMPORT_H
7 #define CSHARPIMPORT_H
8 
9 #include "nativeimportbase.h"
10 
11 class UMLObject;
12 
20 {
21 public:
22  explicit CSharpImport(CodeImpThread* thread = 0);
23  virtual ~CSharpImport();
24 
25 protected:
26  void initVars();
27 
28  bool parseStmt();
29 
30  void fillSource(const QString& word);
31 
32  bool parseFile(const QString& filename);
33 
34  UMLObject* resolveClass (const QString& className);
35 
36  void spawnImport(const QString& file);
37 
38  QString joinTypename(const QString& typeName);
39 
40  bool m_isStatic;
42  QString m_currentPackage;
43  QStringList m_imports;
45 
50  static QStringList s_filesAlreadyParsed;
51 
56  static int s_parseDepth;
57 
58 private:
59  static UMLObject* findObject(const QString& name, UMLPackage *parentPkg);
60 
61  bool parseUsingDirectives();
62  bool parseGlobalAttributes();
64  bool parseAttributes();
65 
66  // type-declaration
67  bool parseClassDeclaration(const QString& keyword);
69  // bool parseInterfaceDeclaration();
70  bool parseEnumDeclaration();
72 
73  bool isTypeDeclaration(const QString& keyword);
74  bool isClassModifier(const QString& keyword);
75  bool isCommonModifier(const QString& keyword);
76 
77 };
78 
79 #endif
Definition: csharpimport.h:20
QString joinTypename(const QString &typeName)
Definition: csharpimport.cpp:63
CSharpImport(CodeImpThread *thread=0)
Definition: csharpimport.cpp:34
bool parseGlobalAttributes()
Definition: csharpimport.cpp:516
QString m_currentPackage
current package of the file being parsed
Definition: csharpimport.h:42
bool parseStructDeclaration()
Definition: csharpimport.cpp:661
bool parseClassDeclaration(const QString &keyword)
Definition: csharpimport.cpp:686
void initVars()
Definition: csharpimport.cpp:52
bool parseFile(const QString &filename)
Definition: csharpimport.cpp:228
bool parseUsingDirectives()
Definition: csharpimport.cpp:497
static QStringList s_filesAlreadyParsed
Definition: csharpimport.h:50
virtual ~CSharpImport()
Definition: csharpimport.cpp:45
static UMLObject * findObject(const QString &name, UMLPackage *parentPkg)
Definition: csharpimport.cpp:133
bool isTypeDeclaration(const QString &keyword)
Definition: csharpimport.cpp:551
UMLObject * resolveClass(const QString &className)
Definition: csharpimport.cpp:144
bool parseEnumDeclaration()
Definition: csharpimport.cpp:617
QStringList m_imports
imports included in the current file
Definition: csharpimport.h:43
static int s_parseDepth
Definition: csharpimport.h:56
void fillSource(const QString &word)
Definition: csharpimport.cpp:88
bool parseAttributes()
Definition: csharpimport.cpp:539
void spawnImport(const QString &file)
Definition: csharpimport.cpp:112
bool isClassModifier(const QString &keyword)
Definition: csharpimport.cpp:570
Uml::Visibility::Enum m_defaultCurrentAccess
current visibility for when the visibility is absent
Definition: csharpimport.h:44
bool parseDelegateDeclaration()
Definition: csharpimport.cpp:672
QString m_currentFileName
current filename being parsed
Definition: csharpimport.h:41
bool parseNamespaceMemberDeclarations()
Definition: csharpimport.cpp:526
bool parseStmt()
Definition: csharpimport.cpp:258
bool m_isStatic
static flag for the member var or method
Definition: csharpimport.h:40
bool isCommonModifier(const QString &keyword)
Definition: csharpimport.cpp:590
Definition: codeimpthread.h:22
Base class for native implementations of language import.
Definition: nativeimportbase.h:40
The base class for UML objects.
Definition: umlobject.h:70
Non-graphical information for a Package.
Definition: package.h:28
Enum
Definition: basictypes.h:45