umbrello: PascalImport Class Reference

umbrello 25.04.0 Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology

Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
PascalImport Class Reference

`#include <pascalimport.h>`

Inheritance 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)
UMLPackage * | popScope ()
UMLPackage * | currentScope ()
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
UMLClassifier * | m_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
CodeImpThread * | m_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 ClassImport * | createImporterByFileExt (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

enum PascalImport::Section_Type
| protected

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.

## ◆ ~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

  isVirtual | return value, set to true when "virtual" seen
  isAbstract | return value, set to true when "abstract" seen

## ◆ 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.

## ◆ 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.

## 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:

- umbrello/codeimport/pascalimport.h
- umbrello/codeimport/pascalimport.cpp