diff options
Diffstat (limited to 'test/test28.cpp')
-rw-r--r-- | test/test28.cpp | 231 |
1 files changed, 231 insertions, 0 deletions
diff --git a/test/test28.cpp b/test/test28.cpp new file mode 100644 index 0000000..8825d96 --- /dev/null +++ b/test/test28.cpp @@ -0,0 +1,231 @@ +struct Data1; + +struct Data1 +{ + int val; + Data1 *ptrval; + int arr[3]; +}; + +int k; + +void paranuckerInternalTest(const char *action, const char *collection, const char *values); + +class Object1 +{ + Data1 *tmp1; + Data1 *tmp2; + + void func1(Data1 *const ptr1) + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + } + + void func2(Data1 *const ptr1) + { + if (!ptr1) + return; + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", ""); + } + + void func3(Data1 *const ptr1) + { + if (ptr1) + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", ""); + } + else + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", "ptr1"); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + } + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + } + + void func4(Data1 *const ptr1) + { + if (!ptr1) + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", "ptr1"); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + } + else + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", ""); + } + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + } + + void func5(Data1 *const ptr1) + { + if (ptr1) + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", ""); + return; + } + else + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", "ptr1"); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + } + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", "ptr1"); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + } + + void func6(Data1 *const ptr1) + { + if (ptr1) + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", ""); + } + else + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", "ptr1"); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + return; + } + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", ""); + } + + void func7(Data1 *const ptr1) + { + if (!ptr1) + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", "ptr1"); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + } + else + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", ""); + return; + } + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", "ptr1"); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + } + + void func8(Data1 *const ptr1) + { + if (ptr1) + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", ""); + return; + } + else + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", "ptr1"); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + return; + } + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); + paranuckerInternalTest("=", "knownNullVars", "ptr1"); + paranuckerInternalTest("=", "needCheckNullVars", ""); + } + + void func9(Data1 *const ptr1) + { + if (ptr1) + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", ""); + if (ptr1) + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", ""); + } + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", ""); + if (!ptr1) + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", ""); + } + } + else + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", "ptr1"); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + if (ptr1) + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); + paranuckerInternalTest("=", "knownNullVars", "ptr1"); + paranuckerInternalTest("=", "needCheckNullVars", ""); + } + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", "ptr1"); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + if (!ptr1) + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", "ptr1"); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + } + } + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + } +}; |