Esempio n. 1
0
void SecurityManager::updateMemberInDatabase(const Member &m, bool add)
{
    bool update = !add;

    /* Can't write in a thread manner, because can't update memory in a threaded manner and update filepos in a threaded
     * manner. Could with mutexes */
#if 0
    thread->pushMember(m, update);
#else
    Member m2 = m;
    insertMember(&m2, update);
#endif
}
Esempio n. 2
0
void SecurityManager::updateMemberInDatabase(const Member &m, bool add)
{
    bool update = !add;

    if (isSql()) {
        thread->pushMember(m, update);
    } else {
        /* Can't write in a threaded manner, because can't update memory in a threaded manner and update filepos in a threaded
         * manner. Could with mutexes */
        Member m2 = m;
        insertMember(0, &m2, update);
    }
}
Esempio n. 3
0
void Tree::insertGeneratedConcreteType(
    ClassDefinition* generatedClass,
    const TypeList& concreteTypeParameters) {

    if (auto innerClass = findInnerClass(concreteTypeParameters)) {
        auto outerClass = innerClass->getEnclosingClass();
        // Insert the generated class after the inner class.
        outerClass->insertMember(innerClass, generatedClass, true);
        runPassesOnGeneratedClass(generatedClass);
    } else {
        // Insert the generated class in the global name bindings.
        globalNameBindings.insertClass(generatedClass->getName(),
                                       generatedClass);
        runPassesOnGeneratedClass(generatedClass);

        // Insert the definition in front of the definition currently being
        // traversed.
        globalDefinitions.insert(definitionIter, generatedClass);
    }
}