Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Marco Bubke
flatpak-qt-creator
Commits
5de7be5f
Commit
5de7be5f
authored
Dec 03, 2010
by
Christian Kamm
Browse files
LanguageUtils: Add FakeMetaObject and ComponentVersion.
parent
87c8cbf4
Changes
14
Hide whitespace changes
Inline
Side-by-side
src/libs/
qmljs/qmljs
componentversion.cpp
→
src/libs/
languageutils/
componentversion.cpp
View file @
5de7be5f
...
...
@@ -31,9 +31,9 @@
**
**************************************************************************/
#include "
qmljs
componentversion.h"
#include "componentversion.h"
using
namespace
QmlJS
;
using
namespace
LanguageUtils
;
const
int
ComponentVersion
::
NoVersion
=
-
1
;
...
...
@@ -56,7 +56,7 @@ bool ComponentVersion::isValid() const
return
_major
>=
0
&&
_minor
>=
0
;
}
namespace
QmlJS
{
namespace
LanguageUtils
{
bool
operator
<
(
const
ComponentVersion
&
lhs
,
const
ComponentVersion
&
rhs
)
{
...
...
src/libs/
qmljs/qmljs
componentversion.h
→
src/libs/
languageutils/
componentversion.h
View file @
5de7be5f
...
...
@@ -31,14 +31,14 @@
**
**************************************************************************/
#ifndef
QMLJS
COMPONENTVERSION_H
#define
QMLJS
COMPONENTVERSION_H
#ifndef COMPONENTVERSION_H
#define COMPONENTVERSION_H
#include "
qmlj
s_global.h"
#include "
languageutil
s_global.h"
namespace
QmlJS
{
namespace
LanguageUtils
{
class
QMLJ
S_EXPORT
ComponentVersion
class
LANGUAGEUTIL
S_EXPORT
ComponentVersion
{
int
_major
;
int
_minor
;
...
...
@@ -58,11 +58,11 @@ public:
bool
isValid
()
const
;
};
bool
operator
<
(
const
ComponentVersion
&
lhs
,
const
ComponentVersion
&
rhs
);
bool
operator
<=
(
const
ComponentVersion
&
lhs
,
const
ComponentVersion
&
rhs
);
bool
operator
==
(
const
ComponentVersion
&
lhs
,
const
ComponentVersion
&
rhs
);
bool
operator
!=
(
const
ComponentVersion
&
lhs
,
const
ComponentVersion
&
rhs
);
bool
LANGUAGEUTILS_EXPORT
operator
<
(
const
ComponentVersion
&
lhs
,
const
ComponentVersion
&
rhs
);
bool
LANGUAGEUTILS_EXPORT
operator
<=
(
const
ComponentVersion
&
lhs
,
const
ComponentVersion
&
rhs
);
bool
LANGUAGEUTILS_EXPORT
operator
==
(
const
ComponentVersion
&
lhs
,
const
ComponentVersion
&
rhs
);
bool
LANGUAGEUTILS_EXPORT
operator
!=
(
const
ComponentVersion
&
lhs
,
const
ComponentVersion
&
rhs
);
}
// namespace
QmlJS
}
// namespace
LanguageUtils
#endif //
QMLJS
COMPONENTVERSION_H
#endif // COMPONENTVERSION_H
src/libs/languageutils/fakemetaobject.cpp
0 → 100644
View file @
5de7be5f
/**************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** No Commercial Usage
**
** This file contains pre-release code and may not be distributed.
** You may use this file in accordance with the terms and conditions
** contained in the Technology Preview License Agreement accompanying
** this package.
**
** GNU Lesser General Public License Usage
**
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** If you have questions regarding the use of this file, please contact
** Nokia at qt-info@nokia.com.
**
**************************************************************************/
#include "fakemetaobject.h"
using
namespace
LanguageUtils
;
FakeMetaEnum
::
FakeMetaEnum
(
const
QString
&
name
)
:
m_name
(
name
)
{}
QString
FakeMetaEnum
::
name
()
const
{
return
m_name
;
}
void
FakeMetaEnum
::
addKey
(
const
QString
&
key
,
int
value
)
{
m_keys
.
append
(
key
);
m_values
.
append
(
value
);
}
QString
FakeMetaEnum
::
key
(
int
index
)
const
{
return
m_keys
.
at
(
index
);
}
int
FakeMetaEnum
::
keyCount
()
const
{
return
m_keys
.
size
();
}
QStringList
FakeMetaEnum
::
keys
()
const
{
return
m_keys
;
}
FakeMetaMethod
::
FakeMetaMethod
(
const
QString
&
name
,
const
QString
&
returnType
)
:
m_name
(
name
)
,
m_returnType
(
returnType
)
,
m_methodTy
(
FakeMetaMethod
::
Method
)
,
m_methodAccess
(
FakeMetaMethod
::
Public
)
{}
QString
FakeMetaMethod
::
methodName
()
const
{
return
m_name
;
}
QStringList
FakeMetaMethod
::
parameterNames
()
const
{
return
m_paramNames
;
}
QStringList
FakeMetaMethod
::
parameterTypes
()
const
{
return
m_paramTypes
;
}
void
FakeMetaMethod
::
addParameter
(
const
QString
&
name
,
const
QString
&
type
)
{
m_paramNames
.
append
(
name
);
m_paramTypes
.
append
(
type
);
}
int
FakeMetaMethod
::
methodType
()
const
{
return
m_methodTy
;
}
void
FakeMetaMethod
::
FakeMetaMethod
::
setMethodType
(
int
methodType
)
{
m_methodTy
=
methodType
;
}
int
FakeMetaMethod
::
access
()
const
{
return
m_methodAccess
;
}
FakeMetaProperty
::
FakeMetaProperty
(
const
QString
&
name
,
const
QString
&
type
,
bool
isList
,
bool
isWritable
,
bool
isPointer
)
:
m_propertyName
(
name
),
m_type
(
type
),
m_isList
(
isList
),
m_isWritable
(
isWritable
),
m_isPointer
(
isPointer
)
{}
QString
FakeMetaProperty
::
name
()
const
{
return
m_propertyName
;
}
QString
FakeMetaProperty
::
typeName
()
const
{
return
m_type
;
}
bool
FakeMetaProperty
::
isList
()
const
{
return
m_isList
;
}
bool
FakeMetaProperty
::
isWritable
()
const
{
return
m_isWritable
;
}
bool
FakeMetaProperty
::
isPointer
()
const
{
return
m_isPointer
;
}
FakeMetaObject
::
FakeMetaObject
()
:
m_super
(
0
)
{
}
void
FakeMetaObject
::
addExport
(
const
QString
&
name
,
const
QString
&
package
,
ComponentVersion
version
)
{
Export
exp
;
exp
.
type
=
name
;
exp
.
package
=
package
;
exp
.
version
=
version
;
exp
.
packageNameVersion
=
QString
::
fromLatin1
(
"%1.%2 %3.%4"
).
arg
(
package
,
name
,
QString
::
number
(
version
.
majorVersion
()),
QString
::
number
(
version
.
minorVersion
()));
m_exports
.
append
(
exp
);
}
QList
<
FakeMetaObject
::
Export
>
FakeMetaObject
::
exports
()
const
{
return
m_exports
;
}
void
FakeMetaObject
::
setSuperclassName
(
const
QString
&
superclass
)
{
m_superName
=
superclass
;
}
QString
FakeMetaObject
::
superclassName
()
const
{
return
m_superName
;
}
void
FakeMetaObject
::
setSuperclass
(
FakeMetaObject
*
superClass
)
{
m_super
=
superClass
;
}
const
FakeMetaObject
*
FakeMetaObject
::
superClass
()
const
{
return
m_super
;
}
void
FakeMetaObject
::
addEnum
(
const
FakeMetaEnum
&
fakeEnum
)
{
m_enumNameToIndex
.
insert
(
fakeEnum
.
name
(),
m_enums
.
size
());
m_enums
.
append
(
fakeEnum
);
}
int
FakeMetaObject
::
enumeratorCount
()
const
{
return
m_enums
.
size
();
}
int
FakeMetaObject
::
enumeratorOffset
()
const
{
return
0
;
}
FakeMetaEnum
FakeMetaObject
::
enumerator
(
int
index
)
const
{
return
m_enums
.
at
(
index
);
}
int
FakeMetaObject
::
enumeratorIndex
(
const
QString
&
name
)
const
{
return
m_enumNameToIndex
.
value
(
name
,
-
1
);
}
void
FakeMetaObject
::
addProperty
(
const
FakeMetaProperty
&
property
)
{
m_propNameToIdx
.
insert
(
property
.
name
(),
m_props
.
size
());
m_props
.
append
(
property
);
}
int
FakeMetaObject
::
propertyCount
()
const
{
return
m_props
.
size
();
}
int
FakeMetaObject
::
propertyOffset
()
const
{
return
0
;
}
FakeMetaProperty
FakeMetaObject
::
property
(
int
index
)
const
{
return
m_props
.
at
(
index
);
}
int
FakeMetaObject
::
propertyIndex
(
const
QString
&
name
)
const
{
return
m_propNameToIdx
.
value
(
name
,
-
1
);
}
void
FakeMetaObject
::
addMethod
(
const
FakeMetaMethod
&
method
)
{
m_methods
.
append
(
method
);
}
int
FakeMetaObject
::
methodCount
()
const
{
return
m_methods
.
size
();
}
int
FakeMetaObject
::
methodOffset
()
const
{
return
0
;
}
FakeMetaMethod
FakeMetaObject
::
method
(
int
index
)
const
{
return
m_methods
.
at
(
index
);
}
QString
FakeMetaObject
::
defaultPropertyName
()
const
{
return
m_defaultPropertyName
;
}
void
FakeMetaObject
::
setDefaultPropertyName
(
const
QString
defaultPropertyName
)
{
m_defaultPropertyName
=
defaultPropertyName
;
}
src/libs/languageutils/fakemetaobject.h
0 → 100644
View file @
5de7be5f
/**************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** No Commercial Usage
**
** This file contains pre-release code and may not be distributed.
** You may use this file in accordance with the terms and conditions
** contained in the Technology Preview License Agreement accompanying
** this package.
**
** GNU Lesser General Public License Usage
**
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** If you have questions regarding the use of this file, please contact
** Nokia at qt-info@nokia.com.
**
**************************************************************************/
#ifndef FAKEMETAOBJECT_H
#define FAKEMETAOBJECT_H
#include "languageutils_global.h"
#include "componentversion.h"
#include <QtCore/QString>
#include <QtCore/QStringList>
#include <QtCore/QList>
#include <QtCore/QHash>
namespace
LanguageUtils
{
class
LANGUAGEUTILS_EXPORT
FakeMetaEnum
{
QString
m_name
;
QStringList
m_keys
;
QList
<
int
>
m_values
;
public:
FakeMetaEnum
(
const
QString
&
name
);
QString
name
()
const
;
void
addKey
(
const
QString
&
key
,
int
value
);
QString
key
(
int
index
)
const
;
int
keyCount
()
const
;
QStringList
keys
()
const
;
};
class
LANGUAGEUTILS_EXPORT
FakeMetaMethod
{
public:
enum
{
Signal
,
Slot
,
Method
};
enum
{
Private
,
Protected
,
Public
};
public:
FakeMetaMethod
(
const
QString
&
name
,
const
QString
&
returnType
=
QString
());
QString
methodName
()
const
;
QStringList
parameterNames
()
const
;
QStringList
parameterTypes
()
const
;
void
addParameter
(
const
QString
&
name
,
const
QString
&
type
);
int
methodType
()
const
;
void
setMethodType
(
int
methodType
);
int
access
()
const
;
private:
QString
m_name
;
QString
m_returnType
;
QStringList
m_paramNames
;
QStringList
m_paramTypes
;
int
m_methodTy
;
int
m_methodAccess
;
};
class
LANGUAGEUTILS_EXPORT
FakeMetaProperty
{
QString
m_propertyName
;
QString
m_type
;
bool
m_isList
;
bool
m_isWritable
;
bool
m_isPointer
;
public:
FakeMetaProperty
(
const
QString
&
name
,
const
QString
&
type
,
bool
isList
,
bool
isWritable
,
bool
isPointer
);
QString
name
()
const
;
QString
typeName
()
const
;
bool
isList
()
const
;
bool
isWritable
()
const
;
bool
isPointer
()
const
;
};
class
LANGUAGEUTILS_EXPORT
FakeMetaObject
{
Q_DISABLE_COPY
(
FakeMetaObject
);
public:
class
Export
{
public:
QString
package
;
QString
type
;
ComponentVersion
version
;
QString
packageNameVersion
;
};
private:
QList
<
Export
>
m_exports
;
const
FakeMetaObject
*
m_super
;
QString
m_superName
;
QList
<
FakeMetaEnum
>
m_enums
;
QHash
<
QString
,
int
>
m_enumNameToIndex
;
QList
<
FakeMetaProperty
>
m_props
;
QHash
<
QString
,
int
>
m_propNameToIdx
;
QList
<
FakeMetaMethod
>
m_methods
;
QString
m_defaultPropertyName
;
public:
FakeMetaObject
();
void
addExport
(
const
QString
&
name
,
const
QString
&
package
,
ComponentVersion
version
);
QList
<
Export
>
exports
()
const
;
void
setSuperclassName
(
const
QString
&
superclass
);
QString
superclassName
()
const
;
void
setSuperclass
(
FakeMetaObject
*
superClass
);
const
FakeMetaObject
*
superClass
()
const
;
void
addEnum
(
const
FakeMetaEnum
&
fakeEnum
);
int
enumeratorCount
()
const
;
int
enumeratorOffset
()
const
;
FakeMetaEnum
enumerator
(
int
index
)
const
;
int
enumeratorIndex
(
const
QString
&
name
)
const
;
void
addProperty
(
const
FakeMetaProperty
&
property
);
int
propertyCount
()
const
;
int
propertyOffset
()
const
;
FakeMetaProperty
property
(
int
index
)
const
;
int
propertyIndex
(
const
QString
&
name
)
const
;
void
addMethod
(
const
FakeMetaMethod
&
method
);
int
methodCount
()
const
;
int
methodOffset
()
const
;
FakeMetaMethod
method
(
int
index
)
const
;
QString
defaultPropertyName
()
const
;
void
setDefaultPropertyName
(
const
QString
defaultPropertyName
);
};
}
// namespace LanguageUtils
#endif // FAKEMETAOBJECT_H
src/libs/languageutils/languageutils-lib.pri
View file @
5de7be5f
...
...
@@ -8,4 +8,10 @@ DEPENDPATH += $$PWD
INCLUDEPATH += $$PWD/..
HEADERS += \
$$PWD/languageutils_global.h
$$PWD/languageutils_global.h \
$$PWD/fakemetaobject.h \
$$PWD/componentversion.h
SOURCES += \
$$PWD/fakemetaobject.cpp \
$$PWD/componentversion.cpp
src/libs/qmljs/qmljs-lib.pri
View file @
5de7be5f
...
...
@@ -22,7 +22,6 @@ HEADERS += \
$$PWD/qmljslookupcontext.h \
$$PWD/qmljslineinfo.h \
$$PWD/qmljscompletioncontextfinder.h \
$$PWD/qmljscomponentversion.h \
$$PWD/qmljsmodelmanagerinterface.h \
$$PWD/qmljsicontextpane.h \
$$PWD/qmljspropertyreader.h \
...
...
@@ -42,7 +41,6 @@ SOURCES += \
$$PWD/qmljslookupcontext.cpp \
$$PWD/qmljslineinfo.cpp \
$$PWD/qmljscompletioncontextfinder.cpp \
$$PWD/qmljscomponentversion.cpp \
$$PWD/qmljsmodelmanagerinterface.cpp \
$$PWD/qmljspropertyreader.cpp \
$$PWD/qmljsrewriter.cpp \
...
...
src/libs/qmljs/qmljsbind.cpp
View file @
5de7be5f
...
...
@@ -36,10 +36,13 @@
#include "qmljscheck.h"
#include "qmljsdocument.h"
#include <languageutils/componentversion.h>
#include <QtCore/QDir>
#include <QtCore/QFileInfo>
#include <QtCore/QDebug>
using
namespace
LanguageUtils
;
using
namespace
QmlJS
;
using
namespace
QmlJS
::
AST
;
using
namespace
QmlJS
::
Interpreter
;
...
...
src/libs/qmljs/qmljsbind.h
View file @
5de7be5f
...
...
@@ -36,7 +36,6 @@
#include <qmljs/parser/qmljsastvisitor_p.h>
#include <qmljs/qmljsinterpreter.h>
#include <qmljs/qmljscomponentversion.h>
#include <QtCore/QHash>
#include <QtCore/QStringList>
...
...
src/libs/qmljs/qmljsdocument.h
View file @
5de7be5f
...
...
@@ -45,15 +45,15 @@
QT_QML_BEGIN_NAMESPACE
namespace
LanguageUtils
{
class
FakeMetaObject
;
}
namespace
QmlJS
{
class
Bind
;
class
Snapshot
;
namespace
Interpreter
{
class
FakeMetaObject
;
}
class
QMLJS_EXPORT
Document
{
public:
...
...
@@ -134,7 +134,7 @@ private:
bool
_valid
;
QList
<
QmlDirParser
::
Component
>
_components
;
QList
<
QmlDirParser
::
Plugin
>
_plugins
;
typedef
QList
<
const
Interpreter
::
FakeMetaObject
*>
FakeMetaObjectList
;
typedef
QList
<
const
LanguageUtils
::
FakeMetaObject
*>
FakeMetaObjectList
;
FakeMetaObjectList
_metaObjects
;
DumpStatus
_dumpStatus
;
...
...
src/libs/qmljs/qmljsinterpreter.cpp
View file @
5de7be5f
...
...
@@ -38,6 +38,8 @@
#include "qmljsscopebuilder.h"
#include "parser/qmljsast_p.h"
#include <languageutils/fakemetaobject.h>
#include <QtCore/QFile>
#include <QtCore/QDir>
#include <QtCore/QString>
...
...
@@ -48,6 +50,7 @@
#include <QtCore/QProcess>
#include <QtCore/QDebug>
using
namespace
LanguageUtils
;
using
namespace
QmlJS
::
Interpreter
;
using
namespace
QmlJS
::
AST
;
...
...
@@ -103,210 +106,6 @@ public:
}
};
}
// end of anonymous namespace
namespace
QmlJS
{
namespace
Interpreter
{
class
FakeMetaEnum
{
QString
m_name
;
QStringList
m_keys
;
QList
<
int
>
m_values
;
public:
FakeMetaEnum
(
const
QString
&
name
)
:
m_name
(
name
)
{}
QString
name
()
const
{
return
m_name
;
}
void
addKey
(
const
QString
&
key
,
int
value
)
{
m_keys
.
append
(
key
);
m_values
.
append
(
value
);
}
QString
key
(
int
index
)
const
{
return
m_keys
.
at
(
index
);
}
int
keyCount
()
const
{
return
m_keys
.
size
();
}
QStringList
keys
()
const
{
return
m_keys
;
}
};
class
FakeMetaMethod
{
public:
enum
{
Signal
,
Slot
,
Method
};
enum
{
Private
,
Protected
,
Public
};
public:
FakeMetaMethod
(
const
QString
&
name
,
const
QString
&
returnType
=
QString
())
:
m_name
(
name
),
m_returnType
(
returnType
),
m_methodTy
(
Method
),
m_methodAccess
(
Public
)
{}
QString
methodName
()
const
{
return
m_name
;
}
QStringList
parameterNames
()
const
{
return
m_paramNames
;
}
QStringList
parameterTypes
()
const
{
return
m_paramTypes
;
}
void
addParameter
(
const
QString
&
name
,
const
QString
&
type
)
{
m_paramNames
.
append
(
name
);
m_paramTypes
.
append
(
type
);
}
int
methodType
()
const
{
return
m_methodTy
;
}
void
setMethodType
(
int
methodType
)
{
m_methodTy
=
methodType
;
}
int
access
()
const
{
return
m_methodAccess
;
}
private:
QString
m_name
;
QString
m_returnType
;
QStringList
m_paramNames
;
QStringList
m_paramTypes
;
int
m_methodTy
;
int
m_methodAccess
;
};
class
FakeMetaProperty
{
QString
m_propertyName
;
QString
m_type
;
bool
m_isList
;
bool
m_isWritable
;
bool
m_isPointer
;
public:
FakeMetaProperty
(
const
QString
&
name
,
const
QString
&
type
,
bool
isList
,
bool
isWritable
,
bool
isPointer
)
:
m_propertyName
(
name
),
m_type
(
type
),
m_isList
(
isList
),
m_isWritable
(
isWritable
),
m_isPointer
(
isPointer
)
{}
QString
name
()
const
{
return
m_propertyName
;
}
QString
typeName
()
const
{
return
m_type
;
}
bool
isList
()
const
{
return
m_isList
;
}
bool
isWritable
()
const
{
return
m_isWritable
;
}