@@ -18,6 +18,11 @@ To use development versions of Kipper download the
1818
1919### Added
2020
21+ - Semantic checking and code generation for the ` new ` keyword expression to be able to create new instances of
22+ classes. ([ #679 ] ( https://github.com/Kipper-Lang/Kipper/issues/679 ) )
23+ - Support for the typeof operator, which returns the runtime type of a value.
24+ ([ #663 ] ( https://github.com/Kipper-Lang/Kipper/issues/663 ) )
25+ - Support for Nix Flakes and direnv, which allows for a more reproducible and consistent development environment.
2126- Support for dot notation for accessing properties of objects. ([ #67 ] ( https://github.com/Kipper-Lang/Kipper/issues/67 ) )
2227- Support for classes, class methods, class properties and class constructors.
2328 ([ #665 ] ( https://github.com/Kipper-Lang/Kipper/issues/665 ) )
@@ -45,6 +50,10 @@ To use development versions of Kipper download the
4550 - ` semantics/runtime-internals ` , which contains the runtime internal functions.
4651 - ` semantics/types ` , which contains the runtime types.
4752- New classes:
53+ - ` NewInstantiationExpression ` , which represents an AST new instantiation expression.
54+ - ` TypeofExpression ` , which represents an AST typeof expression that returns the runtime type of an object.
55+ - ` TypeofTypeSpecifierExpression ` , which represents an AST typeof type specifier that lets one define a type by using an object as reference
56+ - ` BuiltInTypeObject ` , which is the base class for the compilers representation of runtime objects
4857 - ` UniverseScope ` , which represents the universe scope, where all built-in types, functions and variables are
4958 declared. This serves as the parent of the global scope.
5059 - ` InterfaceDeclaration ` , which represents an AST interface declaration.
@@ -101,8 +110,14 @@ To use development versions of Kipper download the
101110 - ` CompilableType ` , which represents a type that can be compiled.
102111 - ` BuiltInReference ` , which replaces the now removed type ` Reference ` in the ` KipperProgramContext ` for reference
103112 tracking of built-in types.
113+ - ` NewInstantiationExpressionSemantics ` , which represents the semantics of a new instantiation expression.
114+ - ` NewInstantiationExpressionTypeSemantics ` , which represents the type semantics of a new instantiation expression.
115+ - ` TypeofExpressionSemantics ` , which represents the semantics of a typeof expression.
116+ - ` TypeofExpressionTypeSemantics ` , which represents the type semantics of a typeof expression.
104117- New functions:
105118 - ` KipperTypeChecker.validArrayExpression ` , which ensures that an array expression is valid.
119+ - ` generateInterfaceRuntimeTypeChecks ` which generates runtime type checks for an interface.
120+ - ` getRuntimeType ` , which gets the corresponding runtime representation of a built-in type.
106121- New properties:
107122 - ` BuiltInFunction.funcType ` , which returns a function type for the built-in function.
108123 - ` FunctionDeclarationTypeSemantics.type ` , which returns the type of the function declaration i.e. the function type.
0 commit comments