Eval4j: always cast int to byte, short, boolean and char when they are expected
add common test suite for eval4j
Add run configuration for Eval4j tests
Remove hamcrest library, it is included in idea full
Remove MockPsiDocumentManager: it is registered in CoreProjectEnvironment
Eval4j: fix ReadMe
Eval4j: delete IDEA project files
Added KT-4579 makeTypeExplicitInLambda and makeTypeImplicitInLambda intentions
Minor, use kotlin.Pair instead of intellij
KT-4568 Bug Fix: Refactored the convertNegatedExpressionWithDemorgansLaw intention to better handle longer and more complex expressions. Fixed bug and added appropriate test cases as well.
KT-4568: Cleaned up some of the code in ConvertNegatedBooleanSequence to match the other DeMorgan intention
KT-4568 Bugfix: Reformatted code to adhere to style guides. Removed unreachable cases in when expression for ConvertNegatedExpression. Fixed last element access. Changed array list to simple list.
Switch Optimization
SwitchOptimization: generating `lookupswitch' opcode for 'when' in case of integral types
Switch in when-expression: choice between lookupswitch and table switch (heuristically)
Tests for switchOptimization: shuffled and added sparse version
Refactored tests for switch optimization of When expression
Optimizations of When expression with int constants: pull request review fixes
Optimizations of When expression with int constants: heuristics from openJDK for decision about using tableswitch/lookupswitch
Optimizations of When expression with int constants:
Added test with dense constants (tableswitch should be used)