add ifNode, blockNode, assignmentNode and variableScope into the tree walker.
test ifNode
- refactor code to remove instanceof
- clean up
Merge remote-tracking branch 'origin/master'