struct Data1;
struct Data1
{
int val;
Data1 *ptrval;
int arr[3];
};
struct Data2 : public Data1
{
};
int k;
void paranuckerInternalTest(const char *action, const char *collection, const char *values);
class Object1
{
Data1 *tmp1;
Data1 *tmp2;
Data1 *tmp3;
Data1 *getData()
{
return tmp1;
}
void func1(Data1 *ptr1)
{
paranuckerInternalTest("=", "knownVars", "ptr1");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1");
paranuckerInternalTest("=", "linkedVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
tmp1 = ptr1;
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
}
void func2(Data1 *ptr1)
{
paranuckerInternalTest("=", "knownVars", "ptr1");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1");
paranuckerInternalTest("=", "linkedVars", "ptr1");
tmp1 = ptr1;
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
tmp2 = tmp1;
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 this->tmp1 this->tmp2");
}
void func3(Data1 *ptr1)
{
paranuckerInternalTest("=", "knownVars", "ptr1");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1");
paranuckerInternalTest("=", "linkedVars", "ptr1");
tmp1 = ptr1;
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 this->tmp1");
// wco if_stmt clean checkedThenNonNullVars:ptr1, checkedElseNullVars:ptr1, needCheckNullVars:ptr1, this->tmp1,
// knownVars:ptr1, this->tmp1, knownNonNullVars:ptr1, addNullVars:this->tmp1,
// linkedVars:ptr1 -> (this->tmp1, ), linkedReverseVars:this->tmp1 -> ptr1
if (ptr1)
{
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "");
if (tmp1)
return;
}
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 this->tmp1");
}
void func4(Data1 *ptr1)
{
tmp1 = ptr1;
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 this->tmp1");
if (ptr1)
{
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "");
return;
}
else
{
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 this->tmp1");
}
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 this->tmp1");
}
void func5(Data1 *ptr1)
{
tmp1 = ptr1;
if (!ptr1)
{
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 this->tmp1");
return;
}
else
{
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "");
}
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "");
}
void func6(Data1 *ptr1)
{
tmp1 = ptr1;
if (!tmp1)
{
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 this->tmp1");
return;
}
else
{
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "");
}
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "");
}
void func7(Data1 *ptr1)
{
tmp1 = ptr1;
tmp2 = ptr1;
if (!tmp2)
{
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "addNullVars", "this->tmp1 this->tmp2");
paranuckerInternalTest("=", "removeNullVars", "");
paranuckerInternalTest("=", "removeNullVarsAll", "");
if (!ptr1)
{
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "addNullVars", "this->tmp1 this->tmp2");
paranuckerInternalTest("=", "removeNullVars", "");
paranuckerInternalTest("=", "removeNullVarsAll", "");
}
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "addNullVars", "this->tmp1 this->tmp2");
paranuckerInternalTest("=", "removeNullVars", "");
paranuckerInternalTest("=", "removeNullVarsAll", "");
return;
}
else
{
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNonNullVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "");
paranuckerInternalTest("=", "removeNullVars", "");
paranuckerInternalTest("=", "removeNullVarsAll", "");
if (tmp1)
{
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNonNullVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "");
paranuckerInternalTest("=", "removeNullVars", "");
paranuckerInternalTest("=", "removeNullVarsAll", "");
}
}
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNonNullVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "");
paranuckerInternalTest("=", "removeNullVars", "");
paranuckerInternalTest("=", "removeNullVarsAll", "this->tmp2");
}
void func8(Data1 *ptr1)
{
tmp1 = ptr1;
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
tmp1 = tmp2;
paranuckerInternalTest("=", "knownVars", "ptr1");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1");
paranuckerInternalTest("=", "linkedVars", "ptr1");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
}
void func9(Data1 *ptr1)
{
tmp1 = ptr1;
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
ptr1 = tmp2;
paranuckerInternalTest("=", "knownVars", "this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "this->tmp1");
paranuckerInternalTest("=", "linkedVars", "ptr1");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
}
void func10(Data1 *ptr1)
{
tmp1 = ptr1;
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2");
tmp2 = tmp1;
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 ptr1");
tmp2 = tmp3;
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2");
}
void func11(Data1 *ptr1)
{
tmp1 = ptr1;
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2");
tmp2 = tmp1;
paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 ptr1");
ptr1 = tmp3;
paranuckerInternalTest("=", "knownVars", "this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "ptr1");
paranuckerInternalTest("=", "linkedVars", "this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 this->tmp1");
}
void func12(Data1 *ptr1, Data1 *ptr2)
{
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2");
paranuckerInternalTest("=", "linkedVars", "ptr1");
paranuckerInternalTest("=", "linkedVars", "ptr2");
paranuckerInternalTest("=", "linkedVars", "tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "tmp1");
tmp1 = ptr1;
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2 this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2 this->tmp1");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedVars", "ptr2");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
}
void func13(Data1 *ptr1, Data1 *ptr2)
{
tmp1 = ptr1;
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2 this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2 this->tmp1");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedVars", "ptr2");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
ptr1 = ptr2;
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2 this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2 this->tmp1");
paranuckerInternalTest("=", "linkedVars", "ptr1");
paranuckerInternalTest("=", "linkedVars", "ptr2 ptr1");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1 ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1");
}
void func14(Data1 *ptr1, Data1 *ptr2)
{
tmp1 = ptr1;
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2 this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2 this->tmp1");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedVars", "ptr2");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
tmp1 = ptr2;
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2 this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2 this->tmp1");
paranuckerInternalTest("=", "linkedVars", "ptr1");
paranuckerInternalTest("=", "linkedVars", "ptr2 this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr2");
}
void func15(Data1 *ptr1, Data1 *ptr2)
{
tmp1 = ptr1;
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2 this->tmp1");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2 this->tmp1");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedVars", "ptr2");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2");
tmp2 = ptr2;
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedVars", "ptr2 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 ptr2");
tmp2 = ptr1;
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "ptr2");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 ptr1");
tmp2 = ptr2;
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1");
paranuckerInternalTest("=", "linkedVars", "ptr2 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 ptr2");
}
void func16(Data1 *ptr1, Data1 *ptr2)
{
tmp1 = ptr1;
tmp2 = ptr1;
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "ptr2");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 ptr1");
if (tmp1)
{
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNonNullVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr2");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "ptr2");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 ptr1");
}
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "ptr2");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 ptr1");
if (!ptr1)
{
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "ptr2");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 ptr1");
return;
}
else
{
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNonNullVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr2");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "ptr2");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 ptr1");
if (ptr2 && k == 10)
{
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNonNullVars", "ptr1 ptr2 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "ptr2");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 ptr1");
return;
}
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNonNullVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr2");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "ptr2");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 ptr1");
}
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNonNullVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr2");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "ptr2");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 ptr1");
}
void func17(Data1 *ptr1, Data1 *ptr2)
{
tmp1 = ptr1;
tmp2 = ptr1;
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "ptr2");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 ptr1");
if (tmp1)
{
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNonNullVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr2");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "ptr2");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 ptr1");
tmp1 = tmp3;
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2 this->tmp2");
paranuckerInternalTest("=", "knownNonNullVars", "ptr1 this->tmp2");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr2");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "ptr2");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 ptr1");
tmp3 = ptr2;
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2 this->tmp2 this->tmp3");
paranuckerInternalTest("=", "knownNonNullVars", "ptr1 this->tmp2");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr2 this->tmp3");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "ptr2 this->tmp3");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp2");
paranuckerInternalTest("=", "linkedVars", "this->tmp3");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp3 ptr2");
}
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2 this->tmp1 this->tmp2 this->tmp3");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2 this->tmp1 this->tmp2 this->tmp3");
paranuckerInternalTest("=", "linkedVars", "ptr1 this->tmp1 this->tmp2");
paranuckerInternalTest("=", "linkedVars", "ptr2");
paranuckerInternalTest("=", "linkedVars", "this->tmp1");
paranuckerInternalTest("=", "linkedVars", "this->tmp2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "this->tmp2 ptr1");
}
};