MuJava++ 1.5.4 bug fixes
Changes:
- PRVO and mujava.openjava.extension.EvaluationShuttle used the new methods in mujava.op.util.Mutator to check the method to mutate.
- PRVO now checks for expected arguments (if given) when obtaining the method return type
of the method under consideration defined in the Api.
Fixes:
- All operators where being used even when defining specific ones in the .properties file.
- PNC operator was throwing an exception when dealing with a class with generics (this issue may appear in other operators and will be fixed if found).
- A bug in mujava.util.Config#isValidOp(String) that was returning the first of the mutant operators regardless of the operator passed as argument.
Additions:
- if the output folder exists a confirmation will be displayed before deleting that folder.
- added new methods to mujava.op.util.Mutator to check the method to mutate :
- checkApiConstructorNodeAgainstMethodToMutate
checks whether a constructor matches the method to mutate defined in the Api - checkApiMethodNodeAgainstMethodToMutate
checks whether a constructor matches the method to mutate defined in the Api - checkMethodNodeAgainstMethodToMutate
checks whether a method mathes a expected name and arguments - checkConstructorNodeAgainstMethodToMutate
checks whether a constructor mathes a expected name and arguments
- checkApiConstructorNodeAgainstMethodToMutate
- [WIP] support for defining inner classes in .properties file.
- [WIP] support for method names of the form NAME(TYPE*) to select exactly which method to mutate.
- Checks in PRVO_WRITER to detect cases where a node (original or mutant) does not match the contemplated node types.
- Debugging checks to mujava.op.util.MutantCodeWriter to detect if a mutation is not written