@@ -18,19 +18,33 @@ To use development versions of Kipper download the
1818
1919### Added
2020
21+ - Error handling support using ` try {} catch (e) {} finally {} ` statements to catch and handle runtime errors.
22+ ([#654](https://github.com/Kipper-Lang/Kipper/issues/654))
2123- New cast keywords ` cast as ` , ` force as ` and ` try as ` , which allow for various type-safe cast operations.
2224 ([ #685 ] ( https://github.com/Kipper-Lang/Kipper/issues/685 ) )
2325- Implemented new ` T? ` and ` T?? ` nullable type operator which marks the given type as ` T | null ` and ` T | undefined `
2426 respectively.
2527- New classes:
2628 - ` NullableTypeSpecifierExpression ` , which represents an AST nullable type specifier expression that marks a given
2729 type as nullable with either ` null ` or ` undefined ` .
30+ - ` TryCatchStatement ` , which represents an AST try-catch statement that handles exceptions thrown in the try block.
31+ - ` CatchClause ` , which represents an AST catch clause that is part of a try-catch statement.
32+ - ` ErrorBindingDeclaration ` , which represents an AST error binding declaration that is part of a catch clause. This
33+ declaration binds the error object to a variable in the catch clause scope.
2834- New interfaces:
2935 - ` NullableTypeSpecifierExpressionSemantics ` , which represents the semantics of a nullable type specifier expression.
3036 - ` NullableTypeSpecifierExpressionTypeSemantics ` , which represents the type semantics of a nullable type specifier
3137 expression.
38+ - ` TryCatchStatementSemantics ` , which represents the semantics of a try-catch statement.
39+ - ` TryCatchStatementTypeSemantics ` , which represents the type semantics of a try-catch statement.
40+ - ` CatchClauseSemantics ` , which represents the semantics of a catch clause.
41+ - ` CatchClauseTypeSemantics ` , which represents the type semantics of a catch clause.
42+ - ` ErrorBindingDeclarationSemantics ` , which represents the semantics of an error binding declaration.
43+ - ` ErrorBindingDeclarationTypeSemantics ` , which represents the type semantics of an error binding declaration.
3244- New functions:
3345 - ` KipperTypeScriptTarget.getRuntimeType ` , which gets the corresponding runtime representation of a type.
46+ - ` KipperTypeChecker.isValidErrorBindingArgument ` , which checks if a type is a valid type for an error binding
47+ argument.
3448- New properties:
3549 - ` CompilableASTNode.closestHigherLevelParent ` , which returns the closest parent of the node that is of a higher level
3650 than the node itself. (Higher level as in statement or declaration level, undefined means the item itself is already
@@ -42,6 +56,8 @@ To use development versions of Kipper download the
4256 - ` CustomType.sourceNode ` , which returns the source node of the custom type.
4357 - ` CustomType.clsConstructor ` , which returns the constructor of the class if the type is a class and the class has a
4458 constructor.
59+ - ` ProcessedType.isInterface ` , which returns true if the type is an interface.
60+ - ` ProcessedType.isClass ` , which returns true if the type is a class.
4561- New types:
4662 - ` KipperNullableNullOperator ` , which is the ` null ` nullable operator that can be used in Kipper.
4763 - ` KipperNullableUndefinedOperator ` , which is the ` undefined ` nullable operator that can be used in Kipper.
0 commit comments