⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 codemodel.h

📁 qt-x11-opensource-src-4.1.4.tar.gz源码
💻 H
📖 第 1 页 / 共 2 页
字号:
    void setParent(Scope *parent)    { m_parent = parent; }    virtual ClassType *toClassType() const    { return const_cast<ClassType*>(this); }private:    Scope *m_parent;    ClassScope *m_scope;};struct BuiltinType: public Type{protected:    BuiltinType(const QByteArray &name, Scope *parent)        : m_name(name), m_parent(parent) {}public:    QByteArray name() const    { return m_name; }    Scope *parent() const    { return m_parent; }    virtual BuiltinType *toBuiltinType() const    { return const_cast<BuiltinType*>(this); }    static BuiltinType Bool;    static BuiltinType Void;    static BuiltinType Char;    static BuiltinType Short;    static BuiltinType Int;    static BuiltinType Long;    static BuiltinType Double;    static BuiltinType Float;    static BuiltinType Unsigned;    static BuiltinType Signed;    // ### moreprivate:    QByteArray m_name;    Scope *m_parent;};struct PointerType: public Type{    PointerType()        : m_parent(0), m_baseType(0) {}    Type *baseType() const    { return m_baseType; }    void setBaseType(Type *baseType)    { m_baseType = baseType; }    QByteArray name() const    { return m_baseType->name(); }    Scope *parent() const    { return m_parent; }    void setParent(Scope *parent)    { m_parent = parent; }    virtual PointerType *toPointerType() const    { return const_cast<PointerType*>(this); }private:    Scope *m_parent;    Type *m_baseType;};struct ReferenceType: public Type{    ReferenceType()        : m_parent(0), m_baseType(0) {}    Type *baseType() const    { return m_baseType; }    void setBaseType(Type *baseType)    { m_baseType = baseType; }    QByteArray name() const    { return m_baseType->name(); }    Scope *parent() const    { return m_parent; }    void setParent(Scope *parent)    { m_parent = parent; }    virtual ReferenceType *toReferenceType() const    { return const_cast<ReferenceType*>(this); }private:    Scope *m_parent;    Type *m_baseType;};struct GenericType: public Type // ### implement me{    virtual GenericType *toGenericType() const    { return const_cast<GenericType*>(this); }};struct AliasType: public Type // ### implement me{    AliasType ()        : m_parent(0) {}    QByteArray name() const    {  return m_name;  }    Scope *parent() const    {  return m_parent;  }    virtual AliasType *toAliasType() const    { return const_cast<AliasType*>(this); }private:    QByteArray m_name;    Scope *m_parent;};struct Argument: public Item{    Argument()        : m_parent(0), m_type(0) {}    Type *type() const    { return m_type; }    void setType(Type *type)    { m_type = type; }    QByteArray name() const    { return m_name; }    void setName(const QByteArray &name)    { m_name = name; }    TokenEngine::TokenRef nameToken() const    { return m_nameToken; }    void setNameToken(TokenEngine::TokenRef nameToken)    { m_nameToken = nameToken; }    virtual FunctionMember *parent() const    { return m_parent; }    void setParent(FunctionMember *parent)    { m_parent = parent; }private:    FunctionMember *m_parent;    Type *m_type;    QByteArray m_name;    TokenEngine::TokenRef m_nameToken;};struct FunctionMember: public Member{    inline FunctionMember()        : m_returnType(0),          m_functionBodyScope(0),          m_signal(0),          m_virtual(0), m_abstract(0) { m_slot = 0; }    virtual FunctionMember *toFunctionMember() const    { return const_cast<FunctionMember*>(this); }    Type *returnType() const    { return m_returnType; }    void setReturnType(Type *type)    { m_returnType = type; }    const Collection<Argument> arguments() const    { return m_arguments; }    void addArgument(Argument *argument)    { m_arguments.insert(argument->name(), argument); }    void setFunctionBodyScope(BlockScope *functionBodyScope)    { m_functionBodyScope = functionBodyScope; }    BlockScope *functionBodyScope() const    {return m_functionBodyScope;}    bool isSignal() const    { return m_signal; }    void setSignal(bool b)    { m_signal = b; }    bool isSlot() const    { return m_slot; }    void setSlot(bool b)    { m_slot = b; }    bool isVirtual() const    { return m_virtual; }    void setVirtual(bool b)    { m_virtual = b; }    bool isAbstract() const    { return m_abstract; }    void setAbstract(bool b)    { m_abstract = b; }private:    Type *m_returnType;    Collection<Argument> m_arguments;    BlockScope *m_functionBodyScope;    uint m_signal: 1;    uint m_slot: 1;    uint m_virtual: 1;    uint m_abstract: 1;};struct VariableMember: public Member{    VariableMember()        : m_type(0) {}    Type *type() const    { return m_type; }    void setType(Type *type)    { m_type = type; }    virtual VariableMember *toVariableMember() const    { return const_cast<VariableMember*>(this); }private:    Type *m_type;};struct UsingDeclarationMember: public Member{    UsingDeclarationMember()    : m_member(0) {}    virtual UsingDeclarationMember *toUsingDeclarationMember() const    { return const_cast<UsingDeclarationMember*>(this); }    Member *member() const    { return m_member; }    void setMember(Member *member)    { m_member = member; }private:    Member *m_member;};struct NamespaceMember: public Member{    NamespaceMember()        :m_namespaceScope(0) {}    virtual NamespaceMember *toNamespaceMember() const    { return const_cast<NamespaceMember*>(this); }    NamespaceScope *namespaceScope() const    { return m_namespaceScope; }    void setNamespaceScope(NamespaceScope *namespaceScope)    { m_namespaceScope = namespaceScope; }private:    NamespaceScope *m_namespaceScope;};struct TypeMember: public Member{    TypeMember()        :m_type(0) {}    virtual TypeMember *toTypeMember() const    { return const_cast<TypeMember*>(this); }    Type *type() const    { return m_type; }    void setType(Type *type)    { m_type = type; }private:    Type *m_type;};struct NameUse: public Item{    NameUse()    : m_declaration(0), m_parent(0) {}    QByteArray name() const    { return m_name; }    void setName(const QByteArray &name)    {  m_name = name; }     TokenEngine::TokenRef nameToken() const    { return m_nameToken; }    void setNameToken(TokenEngine::TokenRef nameToken)    { m_nameToken = nameToken; }    Scope *parent() const    { return m_parent; }    void setParent(Scope *parent)    { m_parent = parent; }    Member *declaration() const    { return m_declaration; }    void setDeclaration(Member *parent)    { m_declaration = parent; }private:    QByteArray m_name;    TokenEngine::TokenRef m_nameToken;    Member *m_declaration;    Scope *m_parent;};struct UsingDirectiveLink: public Item{    UsingDirectiveLink()        : m_parent(0) {}    QByteArray name() const    { return QByteArray(); }    Scope *parent() const    { return m_parent; }    void setParent(Scope *parent)    { m_parent = parent; }    NamespaceScope *targetNamespace() const    { return m_targetNamespace; }    void setTargetNamespace(NamespaceScope *targetNamespace)    { m_targetNamespace = targetNamespace; }    NamespaceScope *insertionNamespace() const    { return m_insertionNamespace; }    void setInsertionNamespace(NamespaceScope *insertionNamespace)    { m_insertionNamespace = insertionNamespace; }private:    Scope *m_parent;    // targetNamespace is the namespace specified by the using directive.    NamespaceScope *m_targetNamespace;    // m_insertionNamespace is the namespace where the names from    // targetNamespace will be inserted. The C++ standard (7.3.4.1)    // defines this as the nearest namespace that includes both m_parent    // and m_targetNamespace.    NamespaceScope *m_insertionNamespace;};template <class T>T *Create(TypedPool<CodeModel::Item> *p){    return new (p->allocate(sizeof(T))) T();}} // namespace CodeModel#endif // CODEMODEL_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -