nsfInt.h

Clone Tools
  • last updated 8 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- prefer lower case "U" suffix to improve readability

- improve sanity test in ISOBJ(): obj->bytes might only be NULL when type is given.

  1. … 2 more files in changeset.
- white space changes (mostly strip trailing spaces, remove a few tabs)

  1. … 5 more files in changeset.
- cleanup of type conversions

  1. … 6 more files in changeset.
- cleanup of type conversions in ~first ~18000 lines

  1. … 2 more files in changeset.
- improve variable for logging from "debugLevel" to "logSeverity" (print logging messages which have a severity larger equal the then given value; so; "nsf::configure debugLevel 0" will print everything, and "nsf::configure debugLevel 3" will print just error messages and omit warnings etc.) - this is not a change in sematics, but removes some confusion in the code. therefore the configure name was not changed - Remove 2 occurrences of deprecated Tcl Call Tcl_AppendResult() in nsfStubLib

  1. … 6 more files in changeset.
Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf

  1. … 1 more file in changeset.
Provide for releasing/deleting the hash tables for cmd definitions and enumeration-type converters in ExitHandler

  1. … 3 more files in changeset.
remove various code smells: - add const declarations - prefer boolean tests - don't write "for" loops without a block - don't pass non-initialized value in an array on index [0] - reduce variable scope - prefer single returns statements in functions - dont't use CONST unless defined by Tcl-API

  1. … 9 more files in changeset.
- NsfProcStubDeleteProc(): Protect against potentially dangling namespace references from within ::nsf::procs::*. The wrapper cmd's namespace of an nsf::proc might already have been deleted when ::nsf::procs::* shuts down finally. This showed up during a Tcl_Exit (NSF's ExitHandler) as an invalid memory access via (dangling) namespace pointers (valgrind).

  1. … 1 more file in changeset.
- add new command nsf::parseargs to parse an argument vector against a parameter definition and to set the resulting variables in the current scope - extend regression test

  1. … 5 more files in changeset.
- change "struct timeval" to "Tcl_Time" and gettimeofday() to Tcl_GetTime() in profiling code to improve portability (esp windows)

  1. … 3 more files in changeset.
- newer versions of gcc6 handle now as well nonnull asserts gracefully, show we can turn off its deactivation for gcc6

Re-factored new hash-table infrastructure (based on function-pointer keys) to support method-definitions (and future uses as well).

  1. … 5 more files in changeset.
- Let nsf create classes with ::nsf::object::unknown handler in the fly, when c-function are called with objects of type class. This is necessary for triggering creation attempts in ttrace via ::nsf::object::alloc SOMECLASS SOMEOBJ

  1. … 2 more files in changeset.
- turned all for-loops controlled over a nonnull value into while loops - updated TODO, copyright notices, version number

  1. … 11 more files in changeset.
- changed interface of NsfDStringEval to control behavior via bitflags (this is after all more readable than a argument list of "0" and "1"s) - added optional recursion prevention for functions called via NsfDStringEval (handling NSF_EVAL_DEBUG, NSF_EVAL_LOG, NSF_EVAL_DEPRECATED) - added regression tests for potential recursive calls

  1. … 5 more files in changeset.
- replace all remaning ObjectName and ClassName with variant with trailing "_" when appropriate - allow nsf::procs with zero arguments or plain arguments (when "-debug" is used - extended regression test - bump version number to 2.1

  1. … 7 more files in changeset.
- nx: added flag "-debug" and "-deprecated" to methods "method" "object method" "alias" "object alias" "forward" "object forward" such one can use e.g. /cls/ public alias -deprecated|-debug /method/ ... /cls/ public forward -deprecated|-debug /method/ ... /cls/ public method -deprecated|-debug /method/ ... /obj/ public object alias -deprecated|-debug /method/ ... /obj/ public object forward -deprecated|-debug /method/ ... /obj/ public object method -deprecated|-debug /method/ ...

- added new cmd:

nsf::method::property /obj/ ?-per-object? /method/ exists

to check, whether a method is defined for an object.

- output triggered via "-debug" is now generated via the

tcl functions "nsf::debug::call" and "nsf::debug::exit",

that can be redefined (similar to e.g. nsf::deprecated)

- cleanup of nsfProfile.c commands

- extended regression test

  1. … 13 more files in changeset.
- added nsf::method::property /obj/ /method/ debug ?0|1? when debug is activated, a debug line written to the log file when the function is called and exited

- added nsf::method::property /obj/ /method/ deprecated ?0|1?

when deprecated is activated, a warning written to the log file when

the function is called

- added flags to nsf::proc: -debug and -deprecated

(can als be set via nsf::method::property with an arbitrary object

and proc passed fully qualified)

- bumped version number to 2.0.1

  1. … 11 more files in changeset.
- New macros NSF_nonnull_assert() and nonnull_assert() Background: The unreleased gcc6 with "-pedantic" complaints since recently about asserts, in which nonnull conditions implied by nonnull declarations are explicitly tested, and spits out warnings like ... warning: nonnull argument ... compared to NULL ... The new macros turns off asserts, when gcc6 is used.

  1. … 16 more files in changeset.
Profile trace enhancements: - add optional argument "-builtins" to nsf::__profile_trace to trace a selected list of builtins. Every element of the list passed to "-builtins" might contain a cmd name and optionally a maximum number of arguments to be shown (typically 0 or 1) - generalized NsfReplaceCommand* logic to become more general usable (e.g. for the builtins mechanism of nsf::__profile_trace)

  1. … 6 more files in changeset.
- Use standard logging for nsf::__profile_trace ... -verbose true ... By using the standard logging mechanism, we can redefining ::nsf::log to output e.g. trace in a GUI. - Add argument "-dontsave" to nsf::__profile_trace to avoid saving trace in memory - Refactor trace and debug output to deliver lists. This makes it easier to postprocess the results from Tcl.

  1. … 4 more files in changeset.
- silence cppcheck 1.71

- reduce implicit conversions - wite body of if-statements as blocks - whitespace changes - prefer boolean expressions - add likely/unlikely hints

  1. … 2 more files in changeset.
- prefer boolean expressions - reduce implicit conversions - wite body of if-statements as blocks - whitespace changes - update licenses

  1. … 8 more files in changeset.
- removed NsfParamDefs.slotObj (and single occurance for memory-management) since it is not used for the time being

  1. … 2 more files in changeset.
- write body-blocks of if on separate lines - change variable name "validCscPtr" to "isValidCsc", since it is a boolean and not a ptr (tcl coding guidelines) - prefer explicit comparisons

  1. … 2 more files in changeset.
- fix compilation when compiled without --enable-profile

Improve profiling support - added profile support for undispatched methods (i.e. implemented via CallDirectly) - new function for controlling profile trace nsf:__profile_trace -enable /bool/ ?-verbose /bool/?

C-code generator:

- allow type boolean for non-positional arguments

  1. … 7 more files in changeset.