summaryrefslogtreecommitdiff
path: root/graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/OverridableMethod.h
blob: dd0ada60cc7de46ba405765976e797cb848261dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#pragma once

#include "LibLsp/JsonRpc/serializer.h"
#include <string>
struct OverridableMethod
{
        std::string bindingKey;
        std::string name;
        std::vector<std::string> parameters;
        bool unimplemented = false;
        std::string declaringClass;
        std::string declaringClassType;

        void swap(OverridableMethod& arg) noexcept
        {
                bindingKey.swap(arg.bindingKey);
                name.swap(arg.name);
                parameters.swap(arg.parameters);
                declaringClass.swap(arg.declaringClass);
                declaringClassType.swap(arg.declaringClassType);
                std::swap(unimplemented, arg.unimplemented);
        }
};
MAKE_REFLECT_STRUCT(OverridableMethod, bindingKey, name, parameters, unimplemented, declaringClass, declaringClassType);

struct  OverridableMethodsResponse
{
        std::string type;
        std::vector<OverridableMethod> methods;

        MAKE_SWAP_METHOD(OverridableMethodsResponse, type, methods)
};

MAKE_REFLECT_STRUCT(OverridableMethodsResponse, type, methods)