languages/perl/perlparser.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
#ifndef PERLPARSER_H
00019
#define PERLPARSER_H
00020
00021
#include "kdevlanguagesupport.h"
00022
#include <codemodel.h>
00023
00024
00029 class perlparser {
00030
public:
00031
perlparser(
KDevCore* core,
CodeModel* model,
QString interpreter);
00032
perlparser();
00033
~perlparser();
00034
00035
void initialParse();
00036
void parse(
const QString &fileName);
00037
void parseLines(
QStringList* lines,
const QString& fileName);
00038
const QStringList UseFiles();
00039
QString findLib(
const QString& lib);
00040
00041
private:
00042
00043
void addPackage(
const QString& fileName ,
int lineNr ,
const QString& name);
00044
void addAttributetoScript(
const QString& fileName ,
int lineNr ,
const QString& name);
00045
void addAttributetoPackage(
const QString& fileName ,
int lineNr ,
const QString& name);
00046
void addClass(
const QString& fileName ,
int lineNr );
00047
void addConstructor(
const QString& fileName ,
int lineNr ,
const QString& methodname);
00048
void addGlobalSub(
const QString& fileName ,
int lineNr ,
const QString& name,
bool privatesub);
00049
void addScriptSub(
const QString& fileName ,
int lineNr ,
const QString& name,
bool privatesub);
00050
void addClassMethod(
const QString& fileName ,
int lineNr ,
const QString& name ,
bool privatesub);
00051
void addPackageSub(
const QString& fileName ,
int lineNr ,
const QString& name,
bool privatesub);
00052
void addParentClass(
const QString& parent);
00053
void addScript(
const QString& fileName ,
int lineNr ,
const QString& name);
00054
void addUseLib(
const QString& lib);
00055
void getPerlINC();
00056
00057 bool m_inpackage;
00058 bool m_inscript;
00059 bool m_inclass;
00060
00061 QString m_lastsub;
00062 QString m_lastparentclass;
00063 QString m_lastattr;
00064 QString m_lastpackagename;
00065 QString m_lastscriptname;
00066
00067 NamespaceDom m_lastscript;
00068 NamespaceDom m_lastpackage;
00069 ClassDom m_lastclass;
00070
00071
00072 CodeModel*
m_model;
00073 KDevCore*
m_core;
00074 FileDom m_file;
00075
00076
00077 QStringList m_INClist;
00078
00079
00080 QStringList m_usefiles;
00081
00082 QString m_interpreter;
00083
00084
00085 };
00086
00087
#endif
This file is part of the documentation for KDevelop Version 3.0.4.