umbrello 25.04.2
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
PascalImport Class Reference

#include <pascalimport.h>

Inheritance diagram for PascalImport:
Collaboration diagram for PascalImport:

Public Member Functions

 PascalImport (CodeImpThread *thread=nullptr)
virtual ~PascalImport ()
Public Member Functions inherited from NativeImportBase
 NativeImportBase (const QString &singleLineCommentIntro, CodeImpThread *thread=nullptr)
virtual ~NativeImportBase ()
Public Member Functions inherited from ClassImport
 ClassImport (CodeImpThread *thread=nullptr)
virtual ~ClassImport ()
bool importFiles (const QStringList &fileNames)
bool importFile (const QString &fileName)
void setRootPath (const QString &path)
bool enabled () const

Protected Types

enum  Section_Type {
  sect_NONE , sect_LABEL , sect_CONST , sect_RESOURCESTRING ,
  sect_TYPE , sect_VAR , sect_THREADVAR
}

Protected Member Functions

void initVars ()
bool parseStmt ()
QStringList split (const QString &line)
void fillSource (const QString &word)
void checkModifiers (bool &isVirtual, bool &isAbstract)
Protected Member Functions inherited from NativeImportBase
void initialize ()
void setMultiLineComment (const QString &intro, const QString &end)
void setMultiLineAltComment (const QString &intro, const QString &end)
virtual bool parseFile (const QString &filename)
void scan (const QString &line)
virtual bool preprocess (QString &line)
void skipStmt (const QString &until=QStringLiteral(";"))
bool skipToClosing (QChar opener)
QString current ()
QString lookAhead ()
virtual QString advance ()
void pushScope (UMLPackage *p)
UMLPackagepopScope ()
UMLPackagecurrentScope ()
int scopeIndex ()
Protected Member Functions inherited from ClassImport
virtual void initPerFile ()
void log (const QString &file, const QString &text)
void log (const QString &text)

Protected Attributes

bool m_inInterface
 becomes true when keyword "interface" is seen
Section_Type m_section
 contains the current section
Protected Attributes inherited from NativeImportBase
QString m_singleLineCommentIntro
 start token of a single line comment
QStringList m_source
 the scanned lexemes
int m_srcIndex
 used for indexing m_source
QList< UMLPackage * > m_scope
 stack of scopes for use by the specific importer
UMLClassifierm_klass
 class currently being processed
Uml::Visibility::Enum m_currentAccess
 current access (public/protected/private)
QString m_comment
 intermediate accumulator for comment text
bool m_inComment
bool m_isAbstract
 accumulator for abstractness
QString m_multiLineCommentIntro
 multi line comment delimiter intro
QString m_multiLineCommentEnd
 multi line comment delimiter end
QString m_multiLineAltCommentIntro
QString m_multiLineAltCommentEnd
Protected Attributes inherited from ClassImport
CodeImpThreadm_thread
 thread in which the work of importing is done
bool m_enabled
 state of importer
QString m_rootPath
 root path of import

Additional Inherited Members

Static Public Member Functions inherited from ClassImport
static ClassImportcreateImporterByFileExt (const QString &fileName, CodeImpThread *thread=nullptr)
Static Protected Attributes inherited from NativeImportBase
static QStringList m_parsedFiles

Detailed Description

Pascal code import

Author
Oliver Kellogg Bugs and comments to umbre.nosp@m.llo-.nosp@m.devel.nosp@m.@kde.nosp@m..org or https://bugs.kde.org

Member Enumeration Documentation

◆ Section_Type

Enumerator
sect_NONE 
sect_LABEL 
sect_CONST 
sect_RESOURCESTRING 
sect_TYPE 
sect_VAR 
sect_THREADVAR 

Constructor & Destructor Documentation

◆ PascalImport()

PascalImport::PascalImport ( CodeImpThread * thread = nullptr)
explicit

Constructor.

Here is the call graph for this function:

◆ ~PascalImport()

PascalImport::~PascalImport ( )
virtual

Destructor.

Member Function Documentation

◆ checkModifiers()

void PascalImport::checkModifiers ( bool & isVirtual,
bool & isAbstract )
protected

Check for, and skip over, all modifiers following a method. Set the output arguments on encountering abstract and/or virtual.

Parameters
isVirtualreturn value, set to true when "virtual" seen
isAbstractreturn value, set to true when "abstract" seen
Here is the call graph for this function:

◆ fillSource()

void PascalImport::fillSource ( const QString & word)
protectedvirtual

Implement abstract operation from NativeImportBase.

Implements NativeImportBase.

◆ initVars()

void PascalImport::initVars ( )
protectedvirtual

Reimplement operation from NativeImportBase.

Reimplemented from NativeImportBase.

◆ parseStmt()

bool PascalImport::parseStmt ( )
protectedvirtual

Implement abstract operation from NativeImportBase.

Returns
success status of operation

Implements NativeImportBase.

Here is the call graph for this function:

◆ split()

QStringList PascalImport::split ( const QString & line)
protectedvirtual

We need to reimplement the split operation from NativeImportBase because Delphi appears to support UUIDs with syntax such as ['{23170F69-40C1-278A-0000-000500100000}'] which the NativeImportBase implementation does not split properly.

Reimplemented from NativeImportBase.

Here is the call graph for this function:

Member Data Documentation

◆ m_inInterface

bool PascalImport::m_inInterface
protected

becomes true when keyword "interface" is seen

◆ m_section

Section_Type PascalImport::m_section
protected

contains the current section


The documentation for this class was generated from the following files: