Raw-value enum test cases added
Tokenizer updated, allow detect unclosed string interpolation
Fixed broken string interpolation cannot be detected
Added more test cases for raw-value enum
Make Raw value enum implements RawRepresentable implicitly
Refactored code for defining cases for enum
Refactored code for defining Array/Optional/Dictionary type
Added a simple test case for infering Optional type
Multiline comment changed to qt-style for better compatibility with AppCode
Added Nil and Boolean literal parsing and treat nil/true/false as keywords
Added type inference for Optional type
More accurate type inference in function call's arguments
Added type inference for optional chaining
More test cases added for Optional Chaining and forced value
Added more declaration modifiers and access level modifiers in parser
Allow if statement can unpack optional type
Added semantic analysis for if statement
Added test case from official document that verify computed property access is working through optional chaining
Allow generic functions can be overloaded
Allow comparison between Optional and nil
Tuple/function type specilization
Fixed repl cannot handle code ''var a = 3 + 4.5''
Allow calling methods through optional chaining
Fixed type inference for expression ''3 * 4.5'' is incorrect
Fixed return expression has incorrect behavior in function/getter/setter