diff options
Diffstat (limited to 'test/test39.cpp')
-rw-r--r-- | test/test39.cpp | 66 |
1 files changed, 62 insertions, 4 deletions
diff --git a/test/test39.cpp b/test/test39.cpp index 2587644..fdda7f1 100644 --- a/test/test39.cpp +++ b/test/test39.cpp @@ -1,10 +1,16 @@ struct Data1; +struct DArr +{ + int z; +}; + struct Data1 { int val; Data1 *ptrval; int arr[3]; + DArr parr[5]; Data1 *getData3() { return ptrval; @@ -194,11 +200,11 @@ class Object1 paranuckerInternalTest("=", "linkedReverseVars", "ptr1"); Data1 *ptr1 = reinterpret_cast<Data1*>(&data1); paranuckerInternalTest("=", "knownVars", "data1 ptr1"); - paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); paranuckerInternalTest("=", "knownNullVars", ""); - paranuckerInternalTest("=", "needCheckNullVars", "data1 ptr1"); - paranuckerInternalTest("=", "addNullVars", "data1 ptr1"); - paranuckerInternalTest("=", "removeNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "data1"); + paranuckerInternalTest("=", "addNullVars", "data1"); + paranuckerInternalTest("=", "removeNullVars", "ptr1"); paranuckerInternalTest("=", "removeNullVarsAll", ""); paranuckerInternalTest("=", "linkedVars", "ptr1"); paranuckerInternalTest("=", "linkedReverseVars", "ptr1"); @@ -272,4 +278,56 @@ class Object1 paranuckerInternalTest("=", "linkedVars", "ptr1"); paranuckerInternalTest("=", "linkedReverseVars", "ptr1"); } + + DArr *func8(Data1 *ptr1) const + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + paranuckerInternalTest("=", "addNullVars", ""); + paranuckerInternalTest("=", "removeNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + paranuckerInternalTest("=", "linkedVars", "ptr1"); + paranuckerInternalTest("=", "linkedReverseVars", "ptr1"); + DArr *ptr2 = &ptr1->parr[0]; // here also need check parr + paranuckerInternalTest("=", "knownVars", "ptr1 ptr2"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr2"); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + paranuckerInternalTest("=", "addNullVars", ""); + paranuckerInternalTest("=", "removeNullVars", "ptr2"); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + paranuckerInternalTest("=", "linkedVars", "ptr1"); + paranuckerInternalTest("=", "linkedVars", "ptr2"); + paranuckerInternalTest("=", "linkedReverseVars", "ptr1"); + paranuckerInternalTest("=", "linkedReverseVars", "ptr2"); + return ptr2; + } + + int *func9(Data1 *ptr1) const + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + paranuckerInternalTest("=", "addNullVars", ""); + paranuckerInternalTest("=", "removeNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + paranuckerInternalTest("=", "linkedVars", "ptr1"); + paranuckerInternalTest("=", "linkedReverseVars", "ptr1"); + int *ptr2 = &ptr1->parr[0].z; // here also need check parr + paranuckerInternalTest("=", "knownVars", "ptr1 ptr2"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr2"); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + paranuckerInternalTest("=", "addNullVars", ""); + paranuckerInternalTest("=", "removeNullVars", "ptr2"); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + paranuckerInternalTest("=", "linkedVars", "ptr1"); + paranuckerInternalTest("=", "linkedVars", "ptr2"); + paranuckerInternalTest("=", "linkedReverseVars", "ptr1"); + paranuckerInternalTest("=", "linkedReverseVars", "ptr2"); + return ptr2; + } }; |