function parseSimpleUnaryExpression() {
            switch (token) {
                case 35 /* PlusToken */:
                case 36 /* MinusToken */:
                case 50 /* TildeToken */:
                case 49 /* ExclamationToken */:
                    return parsePrefixUnaryExpression();
                case 78 /* DeleteKeyword */:
                    return parseDeleteExpression();
                case 101 /* TypeOfKeyword */:
                    return parseTypeOfExpression();
                case 103 /* VoidKeyword */:
                    return parseVoidExpression();
                case 25 /* LessThanToken */:
                    // This is modified UnaryExpression grammar in TypeScript
                    //  UnaryExpression (modified):
                    //      < type > UnaryExpression
                    return parseTypeAssertion();
                default:
                    return parseIncrementExpression();
            }
        }
Parse ES7 simple-unary expression or higher:

ES7 SimpleUnaryExpression:
     1) IncrementExpression[?yield]
     2) delete UnaryExpression[?yield]
     3) void UnaryExpression[?yield]
     4) typeof UnaryExpression[?yield]
     5) + UnaryExpression[?yield]
     6) - UnaryExpression[?yield]
     7) ~ UnaryExpression[?yield]
     8) ! UnaryExpression[?yield]