File indexing completed on 2024-05-12 04:37:47

0001 /*
0002     SPDX-FileCopyrightText: 2012 Miha Čančula <miha@noughmad.eu>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #ifndef KDEVPLATFORM_CODEDESCRIPTIONMETATYPES_H
0008 #define KDEVPLATFORM_CODEDESCRIPTIONMETATYPES_H
0009 
0010 #include "codedescription.h"
0011 
0012 #include <grantlee/metatype.h>
0013 
0014 #define GRANTLEE_LOOKUP_PROPERTY(name)          \
0015     if (property == QLatin1String(# name)) \
0016         return QVariant::fromValue(object.name);
0017 
0018 #define GRANTLEE_LOOKUP_LIST_PROPERTY(name)     \
0019     if (property == QLatin1String(# name)) \
0020         return QVariant::fromValue(KDevelop::CodeDescription::toVariantList(object.name));
0021 
0022 GRANTLEE_BEGIN_LOOKUP(KDevelop::VariableDescription)
0023 GRANTLEE_LOOKUP_PROPERTY(name)
0024 GRANTLEE_LOOKUP_PROPERTY(type)
0025 GRANTLEE_LOOKUP_PROPERTY(access)
0026 GRANTLEE_LOOKUP_PROPERTY(value)
0027 GRANTLEE_END_LOOKUP
0028 
0029 GRANTLEE_BEGIN_LOOKUP(KDevelop::FunctionDescription)
0030 GRANTLEE_LOOKUP_PROPERTY(name)
0031 GRANTLEE_LOOKUP_PROPERTY(access)
0032 GRANTLEE_LOOKUP_LIST_PROPERTY(arguments)
0033 GRANTLEE_LOOKUP_LIST_PROPERTY(returnArguments)
0034 GRANTLEE_LOOKUP_PROPERTY(isConstructor)
0035 GRANTLEE_LOOKUP_PROPERTY(isDestructor)
0036 GRANTLEE_LOOKUP_PROPERTY(isVirtual)
0037 GRANTLEE_LOOKUP_PROPERTY(isAbstract)
0038 GRANTLEE_LOOKUP_PROPERTY(isOverriding)
0039 GRANTLEE_LOOKUP_PROPERTY(isFinal)
0040 GRANTLEE_LOOKUP_PROPERTY(isStatic)
0041 GRANTLEE_LOOKUP_PROPERTY(isConst)
0042 GRANTLEE_LOOKUP_PROPERTY(isSignal)
0043 GRANTLEE_LOOKUP_PROPERTY(isSlot)
0044 if (property == QLatin1String("returnType"))
0045 {
0046     return object.returnType();
0047 }
0048 GRANTLEE_END_LOOKUP
0049 
0050 GRANTLEE_BEGIN_LOOKUP(KDevelop::InheritanceDescription)
0051 GRANTLEE_LOOKUP_PROPERTY(inheritanceMode)
0052 GRANTLEE_LOOKUP_PROPERTY(baseType)
0053 GRANTLEE_END_LOOKUP
0054 
0055 GRANTLEE_BEGIN_LOOKUP(KDevelop::ClassDescription)
0056 GRANTLEE_LOOKUP_PROPERTY(name)
0057 GRANTLEE_LOOKUP_LIST_PROPERTY(baseClasses)
0058 GRANTLEE_LOOKUP_LIST_PROPERTY(members)
0059 GRANTLEE_LOOKUP_LIST_PROPERTY(methods)
0060 GRANTLEE_END_LOOKUP
0061 
0062 #endif // KDEVPLATFORM_CODEDESCRIPTIONMETATYPES_H