Commit Graph

34653 Commits

Author SHA1 Message Date
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
Dmitry Petrov aee2a58385 Drop assertDetached, unneeded ceremony. 2016-10-18 09:09:14 +03:00
Dmitry Petrov 00093ac901 Move IR tests to module 'compiler-tests'
(due to dependencies on classes from 'compiler-tests').

Minor: remove unused imports.
2016-10-18 09:09:13 +03:00
Dmitry Petrov 00a74699e2 SourceLocationManager -> SourceManager 2016-10-18 09:09:13 +03:00
Dmitry Petrov 1e00561b6f IrModule -> IrModuleFragment 2016-10-18 09:09:13 +03:00
Dmitry Petrov e8bacad62b backend: introduce 'CodegenFactory' interface with default implementation
creating PackageCodegen and MultifileClassCodegen from an existing JVM back-end.
2016-10-18 09:09:12 +03:00
Dmitry Petrov 838b639692 IrComposite - block introducing immediate declarations to the surrounding scope.
E.g., destructuring declaration is represented as IrComposite.
2016-10-18 09:09:12 +03:00
Dmitry Petrov aaa5fa4209 Minor: cleanup in 'backend.jvm' 2016-10-18 09:09:11 +03:00
Dmitry Petrov da4079bfe7 Move implementation classes to 'impl' packages. 2016-10-18 09:09:11 +03:00
Dmitry Petrov d6a3246586 Use throwNoSuchSlot consistently. 2016-10-18 09:09:10 +03:00
Dmitry Petrov 40a60e430f - Compact representation for empty blocks.
- Fix some issues in IrBlockImpl.
2016-10-18 09:09:10 +03:00
Dmitry Petrov 09c52696a5 Unique numbers for "special" slots. 2016-10-18 09:09:09 +03:00
Dmitry Petrov 4e270ef487 Store file-level annotations in IrFile (should be on some descriptor, really). 2016-10-18 09:09:09 +03:00
Dmitry Petrov e23325b014 Bound callable references. 2016-10-18 09:09:08 +03:00
Dmitry Petrov 0da4c08520 Handle unresolved break/continue expressions as error expressions. 2016-10-18 09:09:08 +03:00
Dmitry Petrov c0ac607a1d Additional tests for integer literal type promotion. 2016-10-18 09:09:07 +03:00
Dmitry Petrov 0c0dac4822 Some additional secondary constructor examples. 2016-10-18 09:09:07 +03:00
Dmitry Petrov 3e96f7b015 Do not generate those 2300+ tests for now. 2016-10-18 09:09:06 +03:00
Dmitry Petrov 8fc16345e6 Property initializers from primary constructor parameters
are generated as property initializer expressions
and should not be repeated in primary constructor.
2016-10-18 09:09:06 +03:00
Dmitry Petrov a9dbaca473 AbstractPsi2IrDiagnosticsTest 2016-10-18 09:09:05 +03:00
Dmitry Petrov 88e0fed5d3 Minor: AbstractPsi2IrBoxTestCase.kt 2016-10-18 09:09:05 +03:00
Dmitry Petrov 4eda19b36a Do not generate constructors for annotation classes. 2016-10-18 09:09:04 +03:00
Dmitry Petrov 4e112b3f88 testData format update: detailed descriptor rendering. 2016-10-18 09:09:04 +03:00
Dmitry Petrov 993c3fe51e - Render IrModule.
- Dump IR for box tests to .txt.
2016-10-18 09:09:03 +03:00
Dmitry Petrov 15ed21ebae Stable order for delegated members. 2016-10-18 09:09:03 +03:00