umbrello  2.32.1
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  * This program is free software; you can redistribute it and/or modify *
3  * it under the terms of the GNU General Public License as published by *
4  * the Free Software Foundation; either version 2 of the License, or *
5  * (at your option) any later version. *
6  * *
7  * copyright (C) 2011-2020 *
8  * Umbrello UML Modeller Authors <umbrello-devel@kde.org> *
9  ***************************************************************************/
10 
11 #ifndef CSHARPIMPORT_H
12 #define CSHARPIMPORT_H
13 
14 #include "nativeimportbase.h"
15 
16 class UMLObject;
17 
25 {
26 public:
27  explicit CSharpImport(CodeImpThread* thread = 0);
28  virtual ~CSharpImport();
29 
30 protected:
31  void initVars();
32 
33  bool parseStmt();
34 
35  void fillSource(const QString& word);
36 
37  bool parseFile(const QString& filename);
38 
39  UMLObject* resolveClass (const QString& className);
40 
41  void spawnImport(const QString& file);
42 
43  QString joinTypename(const QString& typeName);
44 
45  bool m_isStatic;
47  QString m_currentPackage;
48  QStringList m_imports;
50 
55  static QStringList s_filesAlreadyParsed;
56 
61  static int s_parseDepth;
62 
63 private:
64  static UMLObject* findObject(const QString& name, UMLPackage *parentPkg);
65 
66  bool parseUsingDirectives();
67  bool parseGlobalAttributes();
69  bool parseAttributes();
70 
71  // type-declaration
72  bool parseClassDeclaration(const QString& keyword);
74  // bool parseInterfaceDeclaration();
75  bool parseEnumDeclaration();
77 
78  bool isTypeDeclaration(const QString& keyword);
79  bool isClassModifier(const QString& keyword);
80  bool isCommonModifier(const QString& keyword);
81 
82 };
83 
84 #endif
Definition: csharpimport.h:25
QString joinTypename(const QString &typeName)
Definition: csharpimport.cpp:68
CSharpImport(CodeImpThread *thread=0)
Definition: csharpimport.cpp:39
bool parseGlobalAttributes()
Definition: csharpimport.cpp:521
QString m_currentPackage
current package of the file being parsed
Definition: csharpimport.h:47
bool parseStructDeclaration()
Definition: csharpimport.cpp:666
bool parseClassDeclaration(const QString &keyword)
Definition: csharpimport.cpp:691
void initVars()
Definition: csharpimport.cpp:57
bool parseFile(const QString &filename)
Definition: csharpimport.cpp:233
bool parseUsingDirectives()
Definition: csharpimport.cpp:502
static QStringList s_filesAlreadyParsed
Definition: csharpimport.h:55
virtual ~CSharpImport()
Definition: csharpimport.cpp:50
static UMLObject * findObject(const QString &name, UMLPackage *parentPkg)
Definition: csharpimport.cpp:138
bool isTypeDeclaration(const QString &keyword)
Definition: csharpimport.cpp:556
UMLObject * resolveClass(const QString &className)
Definition: csharpimport.cpp:149
bool parseEnumDeclaration()
Definition: csharpimport.cpp:622
QStringList m_imports
imports included in the current file
Definition: csharpimport.h:48
static int s_parseDepth
Definition: csharpimport.h:61
void fillSource(const QString &word)
Definition: csharpimport.cpp:93
bool parseAttributes()
Definition: csharpimport.cpp:544
void spawnImport(const QString &file)
Definition: csharpimport.cpp:117
bool isClassModifier(const QString &keyword)
Definition: csharpimport.cpp:575
Uml::Visibility::Enum m_defaultCurrentAccess
current visibility for when the visibility is absent
Definition: csharpimport.h:49
bool parseDelegateDeclaration()
Definition: csharpimport.cpp:677
QString m_currentFileName
current filename being parsed
Definition: csharpimport.h:46
bool parseNamespaceMemberDeclarations()
Definition: csharpimport.cpp:531
bool parseStmt()
Definition: csharpimport.cpp:263
bool m_isStatic
static flag for the member var or method
Definition: csharpimport.h:45
bool isCommonModifier(const QString &keyword)
Definition: csharpimport.cpp:595
Definition: codeimpthread.h:36
Base class for native implementations of language import.
Definition: nativeimportbase.h:45
The base class for UML objects.
Definition: umlobject.h:75
Non-graphical information for a Package.
Definition: package.h:33
Enum
Definition: basictypes.h:59