struct Data1;
void paranuckerInternalTest(const char *action, const char *collection, const char *values);
struct Data1
{
Data1()
{
}
Data1(Data1 *ptr0) :
ptrval(ptr0)
{
}
int val;
Data1 *ptrval;
int arr[3];
int ftest1()
{
return 1;
}
static int ftest2(Data1 *ptr0)
{
return 1;
}
};
struct Data2
{
virtual ~Data2()
{
}
};
int k;
class Object1
{
Data1 *tmp1;
Data1 *tmp2;
void func1(Data1 *const ptr1)
{
tmp1 = ptr1;
if (tmp1)
{
ptr1->val = 100;
tmp1->val = 200;
}
else
{
ptr1->val = 300;
tmp1->val = 400;
}
ptr1->val = 500;
tmp1->val = 600;
}
void func2(Data1 *const ptr1)
{
tmp1 = ptr1;
tmp2 = tmp1;
if (tmp2)
{
ptr1->val = 100;
tmp1->val = 200;
tmp2->val = 300;
}
else
{
ptr1->val = 400;
tmp1->val = 500;
tmp2->val = 600;
}
ptr1->val = 700;
tmp1->val = 800;
tmp2->val = 900;
}
void func3(Data1 *ptr1)
{
paranuckerInternalTest("=", "knownVars", "ptr1");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1");
paranuckerInternalTest("=", "addNullVars", "");
paranuckerInternalTest("=", "removeNullVars", "");
paranuckerInternalTest("=", "removeNullVarsAll", "");
paranuckerInternalTest("=", "linkedVars", "ptr1");
paranuckerInternalTest("=", "linkedVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
Data1 *ptr2;
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2");
paranuckerInternalTest("=", "addNullVars", "ptr2");
paranuckerInternalTest("=", "removeNullVars", "");
paranuckerInternalTest("=", "removeNullVarsAll", "");
paranuckerInternalTest("=", "linkedVars", "ptr1");
paranuckerInternalTest("=", "linkedVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
ptr1->val = 100;
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2");
paranuckerInternalTest("=", "addNullVars", "ptr2");
paranuckerInternalTest("=", "removeNullVars", "");
paranuckerInternalTest("=", "removeNullVarsAll", "");
paranuckerInternalTest("=", "linkedVars", "ptr1");
paranuckerInternalTest("=", "linkedVars", "ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
ptr1 = ptr2;
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2");
paranuckerInternalTest("=", "addNullVars", "ptr1 ptr2");
paranuckerInternalTest("=", "removeNullVars", "");
paranuckerInternalTest("=", "removeNullVarsAll", "");
paranuckerInternalTest("=", "linkedVars", "ptr1");
paranuckerInternalTest("=", "linkedVars", "ptr2 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1 ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
ptr2->val = 200;
if (!ptr1)
{
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "ptr1 ptr2");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2");
paranuckerInternalTest("=", "addNullVars", "ptr1 ptr2");
paranuckerInternalTest("=", "removeNullVars", "");
paranuckerInternalTest("=", "removeNullVarsAll", "");
paranuckerInternalTest("=", "linkedVars", "ptr1");
paranuckerInternalTest("=", "linkedVars", "ptr2 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1 ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
ptr1->val = 300;
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "ptr1 ptr2");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2");
paranuckerInternalTest("=", "addNullVars", "ptr1 ptr2");
paranuckerInternalTest("=", "removeNullVars", "");
paranuckerInternalTest("=", "removeNullVarsAll", "");
paranuckerInternalTest("=", "linkedVars", "ptr1");
paranuckerInternalTest("=", "linkedVars", "ptr2 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1 ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
}
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2");
paranuckerInternalTest("=", "addNullVars", "ptr1 ptr2");
paranuckerInternalTest("=", "removeNullVars", "");
paranuckerInternalTest("=", "removeNullVarsAll", "");
paranuckerInternalTest("=", "linkedVars", "ptr1");
paranuckerInternalTest("=", "linkedVars", "ptr2 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1 ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
ptr1->val = 400;
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2");
paranuckerInternalTest("=", "addNullVars", "ptr1 ptr2");
paranuckerInternalTest("=", "removeNullVars", "");
paranuckerInternalTest("=", "removeNullVarsAll", "");
paranuckerInternalTest("=", "linkedVars", "ptr1");
paranuckerInternalTest("=", "linkedVars", "ptr2 ptr1");
paranuckerInternalTest("=", "linkedReverseVars", "ptr1 ptr2");
paranuckerInternalTest("=", "linkedReverseVars", "ptr2");
}
void func4(Data1 *const ptr1)
{
Data1 *ptr2;
tmp1 = ptr1;
tmp1 = ptr2;
if (tmp1)
{
ptr1->val = 100;
tmp1->val = 200;
}
else
{
ptr1->val = 300;
tmp1->val = 400;
}
ptr1->val = 500;
tmp1->val = 600;
}
void func5(Data1 *ptr1, Data1 *ptr3)
{
Data1 *ptr2;
ptr1->val = 100;
ptr1 = ptr2;
ptr2->val = 200;
if (!ptr1)
{
ptr1->val = 300;
}
ptr1 = ptr3;
ptr1->val = 400;
ptr1 = ptr2;
ptr1->val = 500;
}
void func6(Data1 *ptr1, Data1 *ptr3)
{
ptr1->val = 100;
ptr1 = tmp1;
tmp1->val = 200;
if (!ptr1)
{
ptr1->val = 300;
}
ptr1 = ptr3;
ptr1->val = 400;
ptr1 = tmp2;
ptr1->val = 500;
}
void func7(Data1 *ptr1, Data1 *ptr3)
{
Data1 *ptr2;
tmp1 = ptr3;
ptr1->val = 100;
ptr1 = ptr2;
ptr2->val = 200;
if (!ptr1)
{
ptr1->val = 300;
}
ptr1 = ptr3;
ptr1->val = 400;
ptr1 = tmp1;
ptr1->val = 500;
}
void func8(Data1 *ptr1, Data1 *ptr3)
{
Data1 *ptr2;
tmp1 = ptr3;
if (ptr1)
ptr1->val = 100;
ptr1 = ptr2;
ptr2->val = 200;
if (!ptr1)
{
ptr1->val = 300;
}
ptr1 = ptr3;
if (ptr3)
ptr1->val = 400;
ptr1 = tmp1;
ptr2 = ptr1;
if (tmp1)
ptr1->val = 500;
if (ptr2)
ptr1->val = 600;
}
};