Commit Graph

34727 Commits

Author SHA1 Message Date
Michael Bogdanov 97dbec06e5 Codegen impl classes moved to 'codegen' package 2016-10-18 09:09:39 +03:00
Michael Bogdanov 29bd7c3804 Experimental 'CompareTo' intrinsic 2016-10-18 09:09:39 +03:00
Michael Bogdanov 0c92174e42 FunctionCodegen -> JvmFunctionCodegen 2016-10-18 09:09:39 +03:00
Dmitry Petrov 8551bcf103 Refactor IrWhen. 2016-10-18 09:09:38 +03:00
Michael Bogdanov aca71dea22 Constuctors support, refactoring 2016-10-18 09:09:38 +03:00
Michael Bogdanov 204a8c5c14 Initial intrinsic implementation 2016-10-18 09:09:37 +03:00
Michael Bogdanov 95c88e4445 infrastructure 2016-10-18 09:09:37 +03:00
Michael Bogdanov ca97f17cb6 Hack: intrinsic package support in typeMapper 2016-10-18 09:09:36 +03:00
Michael Bogdanov b07fc09dac Added experimental coercion 2016-10-18 09:09:36 +03:00
Michael Bogdanov 7ad69bbea1 Add IR black box tests 2016-10-18 09:09:35 +03:00
Michael Bogdanov 978a4db07b Introduced IR CodegenFactory, added configuration key to enable it 2016-10-18 09:09:35 +03:00
Michael Bogdanov 0c60b21cca Package part support 2016-10-18 09:09:34 +03:00
Michael Bogdanov 1d8b9c5a58 Initial implementation of ExpressionCodegen 2016-10-18 09:09:34 +03:00
Michael Bogdanov 99e7df7035 Remove duplicated line from build.xml 2016-10-18 09:09:33 +03:00
Michael Bogdanov fa5095977f JvmClassGenerator->JvmClassCodegen 2016-10-18 09:09:33 +03:00
Michael Bogdanov fe51c35298 Fix for 'getNthResult' in IfThenElse expression impl 2016-10-18 09:09:32 +03:00
Dmitry Petrov f4aee6cab5 Update testData. 2016-10-18 09:09:32 +03:00
Dmitry Petrov 7e7bc127d1 Coerce finally expression to Unit 2016-10-18 09:09:31 +03:00
Dmitry Petrov 663eb21990 Coerce loop body to Unit. 2016-10-18 09:09:31 +03:00
Dmitry Petrov 291d535de7 Fix IR generation for string templates containing single entry. 2016-10-18 09:09:30 +03:00
Dmitry Petrov 1c2a676cd6 Make coercion to Unit explicit in IR. 2016-10-18 09:09:30 +03:00
Dmitry Petrov 233a979932 Source element for file classes. 2016-10-18 09:09:29 +03:00
Dmitry Petrov 16334771ad Minor: comment for IrMemberAccessExpression::getTypeArgument 2016-10-18 09:09:29 +03:00
Dmitry Petrov 7ae6c55ddb IrMemberAccessExpression::getTypeArgument 2016-10-18 09:09:28 +03:00
Dmitry Petrov 89de2a2ebe Drop IrGeneralCall, pull up corresponding members to IrMemberAccessExpression. 2016-10-18 09:09:28 +03:00
Dmitry Petrov d67d8016d3 Lowering for property declarations. 2016-10-18 09:09:27 +03:00
Dmitry Petrov b19bcc0587 IrElementTransformerVoid 2016-10-18 09:09:27 +03:00
Dmitry Petrov e0129ef33b IrDeclaration.transform(transformer, data) returns IrStatement.
Declaration containers assume that transformers maintain declaration structure.
2016-10-18 09:09:26 +03:00
Dmitry Petrov 65dcdaecfb Minor: irFile. 2016-10-18 09:09:26 +03:00
Dmitry Petrov 2b5cb0f722 Make statement containers mutable. 2016-10-18 09:09:26 +03:00
Dmitry Petrov 4c88ad408f Make declaration containers mutable. 2016-10-18 09:09:25 +03:00
Dmitry Petrov 4b9c5effd3 Minor: irElement rendering 2016-10-18 09:09:25 +03:00
Dmitry Petrov 90119880c5 IrCatch element. 2016-10-18 09:09:24 +03:00
Michael Bogdanov c02ae4a4a5 Initial implemetation of JvmClassGenerator 2016-10-18 09:09:23 +03:00
Michael Bogdanov 4e258df26b Extract super class info calculation to utility class, make 'signature' static 2016-10-18 09:09:23 +03:00
Michael Bogdanov 709bc08fbd Add IR->JVM output to bytecode tool window 2016-10-18 09:09:22 +03:00
Michael Bogdanov 0838b28e10 Add IR modules to build.xml 2016-10-18 09:09:22 +03:00
Dmitry Petrov 001b95473a Drop 'parent' and 'slot'. 2016-10-18 09:09:21 +03:00
Dmitry Petrov a8a6477ce5 IrOperator -> IrStatementOrigin 2016-10-18 09:09:21 +03:00
Dmitry Petrov 5386d27284 File class lowering 2016-10-18 09:09:20 +03:00
Dmitry Petrov a25e781ee9 Minor: IrFieldAccessExpression, visitor methods. 2016-10-18 09:09:19 +03:00
Dmitry Petrov c699e2d24c Include declaration origin in testData. 2016-10-18 09:09:19 +03:00
Dmitry Petrov c2a7890ac4 JvmBackendFacade (initial import) 2016-10-18 09:09:18 +03:00
Dmitry Petrov c4391ebce5 Minor: add test for suppressed error. 2016-10-18 09:09:18 +03:00
Dmitry Petrov 3fa33b5969 Fix compound assignment on arbitrary expression in LHS
(with a convention compound assignment operator defined).
2016-10-18 09:09:17 +03:00
Dmitry Petrov 0cdf831bf0 IrDeclarationContainer as a super-interface for IrFile and IrClass.
Builder for IrDeclarationContainer (initial implementation; TODO more flexible builders).
2016-10-18 09:09:16 +03:00
Dmitry Petrov 1a3dedaf1c Minor: add test for primary constructor default parameter values. 2016-10-18 09:09:16 +03:00
Dmitry Petrov 201d2414bc Properties declared in primary constructors should have proper accessors in IR. 2016-10-18 09:09:15 +03:00
Dmitry Petrov 5c720845a8 Drop IrPropertyAccessor (and subclasses).
Drop IrLocalPropertyAccessor (and subclasses).
Introduce IrField.
2016-10-18 09:09:15 +03:00
Dmitry Petrov 121e949a33 Minor: LocalVariableAccessorDescriptor modality should be FINAL
(otherwise it breaks MemberDescriptor contract).
2016-10-18 09:09:14 +03:00