<commit_before>#ifndef SYMBOLTABLE_H
#define SYMBOLTABLE_H

#include "Kernel_global.h"
#include <QVariant>
#include <QMultiHash>

namespace Ilwis {
class KERNELSHARED_EXPORT Symbol{
public:
    Symbol(int scope=iUNDEF, quint64 tp=itUNKNOWN, const QVariant& v=QVariant()) ;
    quint64 _type;
    int _scope;
    QVariant _var;
    QVariant _modifier;
    bool isValid() const;
};

class KERNELSHARED_EXPORT SymbolTable //: private QHash<QString, Symbol>
{
public:
    enum GetAction { gaKEEP, gaREMOVE, gaREMOVEIFANON};
    SymbolTable();

    void addSymbol(const QString& name, int scope, quint64 tp, const QVariant &v=QVariant());
    QVariant getValue(const QString& name, int scope=1000) const;
    Symbol getSymbol(const QString& name, GetAction act=gaKEEP, int scope=1000);
    Symbol getSymbol(const QString& name, int scope=1000) const;

    static bool isNumerical(const QVariant &var) ;
    static bool isRealNumerical(const QVariant &var) ;
    static bool isIntegerNumerical(const QVariant &var) ;
    static bool isDataLink(const QVariant &value);
    static QString newAnonym();
    bool isString(const QVariant &var);
private:
    QHash<QString, Symbol> _symbols;
    static quint64 _symbolid;

    
    
};
}

#endif // SYMBOLTABLE_H
<commit_msg>method needs to be static<commit_after>#ifndef SYMBOLTABLE_H
#define SYMBOLTABLE_H

#include "Kernel_global.h"
#include <QVariant>
#include <QMultiHash>

namespace Ilwis {
class KERNELSHARED_EXPORT Symbol{
public:
    Symbol(int scope=iUNDEF, quint64 tp=itUNKNOWN, const QVariant& v=QVariant()) ;
    quint64 _type;
    int _scope;
    QVariant _var;
    QVariant _modifier;
    bool isValid() const;
};

class KERNELSHARED_EXPORT SymbolTable //: private QHash<QString, Symbol>
{
public:
    enum GetAction { gaKEEP, gaREMOVE, gaREMOVEIFANON};
    SymbolTable();

    void addSymbol(const QString& name, int scope, quint64 tp, const QVariant &v=QVariant());
    QVariant getValue(const QString& name, int scope=1000) const;
    Symbol getSymbol(const QString& name, GetAction act=gaKEEP, int scope=1000);
    Symbol getSymbol(const QString& name, int scope=1000) const;

    static bool isNumerical(const QVariant &var) ;
    static bool isRealNumerical(const QVariant &var) ;
    static bool isIntegerNumerical(const QVariant &var) ;
    static bool isDataLink(const QVariant &value);
    static QString newAnonym();
    static bool isString(const QVariant &var);
private:
    QHash<QString, Symbol> _symbols;
    static quint64 _symbolid;

    
    
};
}

#endif // SYMBOLTABLE_H

{'fraction_non_alphanumeric': 0.09430255402750491, 'fraction_numerical': 0.015717092337917484, 'mean_word_length': 4.463519313304721, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2221946', 'n_tokens_mistral': 868, 'n_tokens_neox': 825, 'n_words': 237}