Commit Graph

34592 Commits

Author SHA1 Message Date
Dmitry Petrov 28b3ea27f3 Generate explicit call to 'Any()' if no superclass found.
Generate call super-constructor calls as IrDelegatedConstructorCall.
2016-10-18 09:08:57 +03:00
Dmitry Petrov 535ddd639f 'ignoreErrors' as a PSI2IR configuration parameter. 2016-10-18 09:08:56 +03:00
Dmitry Petrov ea83407dce Multiple minor fixes. 2016-10-18 09:08:56 +03:00
Dmitry Petrov da93f57afb Default getter/setter bodies. 2016-10-18 09:08:55 +03:00
Dmitry Petrov fed09f059b Byte and Short literals. 2016-10-18 09:08:55 +03:00
Dmitry Petrov 66f6ce7f26 --- testdata for unresolvedReference 2016-10-18 09:08:54 +03:00
Dmitry Petrov 5cb7566975 Psi2IR acceptance test (failing). 2016-10-18 09:08:54 +03:00
Dmitry Petrov a3dadd9e3f Callable references now can have receivers and arguments
(for bound references implementation).
2016-10-18 09:08:53 +03:00
Dmitry Petrov fe397eddbe Handle erroneous code (initial drop, TBD). 2016-10-18 09:08:53 +03:00
Dmitry Petrov bf03be97a1 Minor: workaround for IDE exception (1186485). 2016-10-18 09:08:52 +03:00
Dmitry Petrov 3c0cce4c48 Reflection literals (no bound member references yet). 2016-10-18 09:08:52 +03:00
Dmitry Petrov 8b95992af1 Generate get/set for local delegated properties as accessor calls. 2016-10-18 09:08:51 +03:00
Dmitry Petrov f2e778d2d0 Some more tests. 2016-10-18 09:08:51 +03:00
Dmitry Petrov 42988383e0 Local delegated properties. 2016-10-18 09:08:50 +03:00
Dmitry Petrov e42116bb6a Delegated implementations for properties and extension properties. 2016-10-18 09:08:50 +03:00
Dmitry Petrov d27f22ae0e Delegated implementations for functions and extension functions. 2016-10-18 09:08:49 +03:00
Dmitry Petrov 2438876173 Implementing interface by delegation: creating delegates in class. 2016-10-18 09:08:49 +03:00
Dmitry Petrov 264c8afc78 Type aliases. 2016-10-18 09:08:48 +03:00
Dmitry Petrov 1b5dd50359 Represent class instance initialization "as from resolve". 2016-10-18 09:08:48 +03:00
Dmitry Petrov c3c758c7cc Do not generate underlying classes for enum entries without member declarations. 2016-10-18 09:08:47 +03:00
Dmitry Petrov 759f0168c2 Delegated properties. 2016-10-18 09:08:47 +03:00
Dmitry Petrov 865d2c43c7 Default arguments stored in function declarations. 2016-10-18 09:08:46 +03:00
Dmitry Petrov 2d2100b1b5 IrSyntheticBody (for 'values', 'valueOf'). 2016-10-18 09:08:46 +03:00
Dmitry Petrov c47e82f965 Cleaner IrBuiltIns. 2016-10-18 09:08:45 +03:00
Dmitry Petrov 93618ebb12 IrClassReference 2016-10-18 09:08:45 +03:00
Dmitry Petrov 9eeb492fe3 Underlying classes for enum entries. 2016-10-18 09:08:44 +03:00
Dmitry Petrov bd76e39a8c Enum entries generation (no underlying classes yet) 2016-10-18 09:08:44 +03:00
Dmitry Petrov 917e7bffbd Property accessors are now children of IrProperty. 2016-10-18 09:08:43 +03:00
Dmitry Petrov ed68b3ecd0 Use builder API in OperatorExpressionGenerator. 2016-10-18 09:08:43 +03:00
Dmitry Petrov 600fdf7eee Use builder API in increment/decrement desugaring. 2016-10-18 09:08:43 +03:00
Dmitry Petrov 1022725fd1 Data class members generation.
Builder-style API for desugaring expressions.
2016-10-18 09:08:42 +03:00
Dmitry Petrov dc169e98d5 Local classes. 2016-10-18 09:08:42 +03:00
Dmitry Petrov 41d772d636 Object literal expressions. 2016-10-18 09:08:41 +03:00
Dmitry Petrov 86a52e6426 Character literals and string templates. 2016-10-18 09:08:41 +03:00
Dmitry Petrov f83237498f Minor: DeclarationsGenerator can take care of secondary constructor delegating to 'super'. 2016-10-18 09:08:40 +03:00
Dmitry Petrov a140d75016 Minor: IrSyntheticPropertyAccessorDescriptor.Kind. 2016-10-18 09:08:40 +03:00
Dmitry Petrov 7adf173a66 Add tests for companion objects and various kinds of classes
(no representation for enum entries yet).
2016-10-18 09:08:39 +03:00
Dmitry Petrov a6bee7a22b Generate delegating constructor calls as IrDelegatingConstructorCall expressions
(they have different platform-level representation in JVM and JS).
2016-10-18 09:08:39 +03:00
Dmitry Petrov 6fbac2ed40 Minor: ir.backend.jvm -> backend.jvm 2016-10-18 09:08:38 +03:00
Dmitry Petrov fe46a02885 Support all primitive literal types.
Apply simple unary operators to constants.
2016-10-18 09:08:38 +03:00
Dmitry Petrov b3f605c4c4 Generate synthetic getter & setter descriptors for static properties in Java classes
(recognized as properties defined in classes without dispatchReceiver and extensionReceiver).
Fix 'when' generation for else-only case.
2016-10-18 09:08:37 +03:00
Dmitry Petrov 05b9eda809 Generate "raw" IR in Psi2IrTranslator. 2016-10-18 09:08:37 +03:00
Dmitry Petrov ba85e714e3 Generate nested initializers for class. 2016-10-18 09:08:36 +03:00
Dmitry Petrov 415265276a Minor: CallGenerator is StatementGeneratorExtension. 2016-10-18 09:08:36 +03:00
Dmitry Petrov 8d86c0a2dd Representation for nested initializers in a class & nested initializers call. 2016-10-18 09:08:35 +03:00
Dmitry Petrov 8528c23194 Constructors represented "as in Java".
TODO: extract nested initializers somehow.
2016-10-18 09:08:35 +03:00
Dmitry Petrov 57c1b3e0e2 '!!' operator 2016-10-18 09:08:34 +03:00
Dmitry Petrov 92a7ecfac7 Render return target for IrReturn in tests.
Add tests for non-local returns from lambdas.
2016-10-18 09:08:34 +03:00
Dmitry Petrov e459105128 Primary constructor generation. 2016-10-18 09:08:34 +03:00
Dmitry Petrov 225d792939 Secondary constructors in classes. 2016-10-18 09:08:33 +03:00