|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Interface Summary | |
AssertLexerTokenTypes | |
Java14RecognizerTokenTypes | |
JavaTokenTypes |
Class Summary | |
AssertClass | Object to represent an instrumented class. |
AssertLexer | |
AssertMethod | Object that contains the data needed to generate instrumented code for a method. |
AssertToken | |
AssertTools | class of static helper methods for assertions. |
AssertTools.MethodLock | Used for locking methods. |
CodeFragment | Class that represents a fragment of code that needs to be inserted into a file to instrument it for assertions. |
CodeFragmentType | Represents a type of assertion. |
CodeGenerator | |
CodeModification | Used for representing a modification to code, rather than just a chunck of code to be inserted. |
CodePoint | |
CodePointPair | |
Configuration | Holds all the option values. |
Configuration.SourceCompatibilityEnum | Enum for which version of source compatibility we're using. |
InvariantCondition | |
Java14Recognizer | |
JavaLexer | |
JavaRecognizer | Java parser for JonsAssert. |
JonsAssert | Class that starts everything off. |
Symtab | Class that keeps track of all classes and interfaces parsed in this run. |
Exception Summary | |
AssertionViolation | Exception thrown when an assertiong violation occurs. |
FileAlreadyParsedException | Exception thrown to break out of the parser if the destination file is newer than the source file. |
This table shows the names that are generated that might collide with names in instrumented source code. Do not use these names. If there are problems with the names choosen here, please emailme and I'll see what I can do to keep them from colliding. I've created these names to follow standard naming conventions for java source code so that if the code is run through a tool, like jtest, that checks these things the instrumented code doesn't generate unneeded errors. All generated variables and methods will be prepended with jps_. Some are listed in the following table. I've also been writing down skeletons of my instrumented code in MethodSkeletons. This should help explain what's going on.
name | description |
---|---|
jps__<packageName>_<className>_check<methodName>PreConditions | Name of method used to check preconditions on a method |
jps__<packageName>_<className>_check<methodName>PostConditions | Name of method used to check postconditions on a method |
jps__<packageName>_<className>_checkInvariant | Name of method used to check invariants on a class |
jps__retval<className> | Variable used to store the return value of a method so that it may be used when checking postconditions and still be returned from the method |
JPS_<packageName>_<className>_AssertDummy<count> | Name of class generated to check preconditions on constructors. count is incremented for each constructor in a class |
jps_dummy<count> | Name of extra parameters created to uniquify generated constructors. count is incremented for each parameter added to a particular constructor |
JPS__<packageName>_<className>_AssertClass | Name of class generated to check conditions on interfaces |
This table shows the properties that are used by the instrumented code and their meanings. That is these properties are checked when the instrumented code is run, NOT when the code is instrumented by JonsAssert.
Note: These properties must be set on the commandline.
property | description |
---|---|
ENFORCE_ASSERT_CONDITION | If "FALSE", then ignore inline assert checks. Default value is "TRUE". |
ENFORCE_INVARIANT_CONDITION | If "FALSE", then ignore invariant checks. Default value is "TRUE". |
ENFORCE_POST_CONDITION | If "FALSE", then ignore post condition checks. Default value is "TRUE". |
ENFORCE_PRE_CONDITION | If "FALSE", then ignore pre condition checks. Default value is "TRUE". |
ENFORCE_INHERITED_CONDITIONS | If "FALSE", then the instrumented code will not walk the inheritance heirarchy looking for pre/post/invariant conditions when checking the conditions for a class. Default value is "TRUE". This is useful for speeding up the instrumented code while sacrificing a completly accurate run. One way to use this is to set this to FALSE when doing every day development and leave it at TRUE when running in nightly test runs. |
ASSERT_BEHAVIOR | If "CONTINUE", print out a stack trace and continue.
If "EXCEPTION", throw an
AssertionViolation
If "EXIT" or unset, print a stack trace and call
System.exit(1). Default value is "EXIT" |
|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |