-
Notifications
You must be signed in to change notification settings - Fork 9
Rosetta state of development
Andrea edited this page Nov 23, 2016
·
1 revision
This page illustrates the current state of art of Rosetta with respect to the features which should be developed.
Rosetta implements different features which can be divided into categories:
- Syntax constructs translation
- Files and projects handling
- .NET native types handling
- ScriptSharp
Attention All features are enumerated according to Roslyn node types.
Rosetta has the ability to translate C# language constructs into corresponding/alternative TypeScript ones.
C# language feature | Implemented? | Rank |
---|---|---|
Class declaration | Yes | 100 |
Interface declaration | Yes | 100 |
Enum declaration | No | 80 |
Struct declaration | No | 10 |
Delegate declaration | No | 10 |
With the following subfeatures:
C# language feature | Implemented? | Rank |
---|---|---|
Subclassing | Yes | 100 |
Interface implementation | Yes | 100 |
Interface extension | No | 80 |
C# language feature | Implemented? | Rank |
---|---|---|
Break statement | No | 50 |
Checked statement | Out of scope | |
Continue statement | Yes | 50 |
Do statement | No | 40 |
Empty statement | No | 40 |
Expression statement | Yes | 100 |
Fixed statement | No | 40 |
For each statement | No | 50 |
For statement | No | 70 |
Global statement | Out of scope | |
Goto statement | Out of scope | |
Labeled statement | No | 10 |
Local declaration statement | Yes | 80 |
Lock statement | Out of scope | |
Return statement | Yes | 100 |
Switch statement | No | 20 |
Throw statement | Yes | 30 |
Try statement | No | 30 |
Unsafe statement | Out of scope | |
Using statement | No | 30 |
While statement | No | 50 |
Yield statement | Out of scope |
C# language feature | Implemented? | Rank |
---|---|---|
Anonymous function expression | Out of scope | |
Anonymous method expression | Out of scope | |
Anonymous object creation expression | Out of scope | |
Array creation expression | No | 5 |
Arrow expression clause | Out of scope | |
Assignment expression | Yes | 100 |
Await expression | Out of scope | |
Base expression | Yes | 100 |
Binary expression | Yes | 100 |
Checked expression | Out of scope | |
Conditional access expression | No | 40 |
Conditional expression | No | 40 |
Default expression | Out of scope | |
Element access expression | No | 50 |
Element binding expression | No | 20 |
Implicit array creation expression | No | 30 |
Initializer expression | No | 20 |
Instance expression | No | 50 |
Interpolated string expression | Out of scope | |
Invocation expression | Yes | 80 |
Lambda expression | Out of scope | |
Literal expression | Yes | 70 |
Make ref expression | Out of scope | |
Member access expression | No | 60 |
Member binding expression | No | 40 |
Object creation expression | No | 80 |
Omitted array size expression | No | 40 |
Parenthesized expression | Out of scope | |
Parenthesized lambda expression | Out of scope | |
Postfix unary expression | Yes | 80 |
Prefix unary expression | Yes | 80 |
Query expression | Out of scope | |
Ref type expression | Out of scope | |
Ref value expression | Out of scope | |
Simple lambda expression | Out of scope | |
Sizeof expression | No | 5 |
Stack allocation array creation expression | Out of scope | |
This expression | Yes | 80 |
Typeof expression | No | 5 |
C# language feature | Implemented? | Rank |
---|---|---|
Lambda expressions | No | 10 |
LINQ | No | 10 |
The following features are supported:
C# language feature | Implemented? | Rank |
---|---|---|
Definition bundle generation | No* | 100 |
Single file definition generation | No* | 100 |
Multiple file definitions generation | No* | 100 |
MSBuild integration | No* | 100 |
Definition generation from project file | Partly | 40 |
Note Entries marked as "No*" are not yet available, but the feature is actually implemented in the codebase. It means that the feature is very likely to be completed soon.
Rosetta - Andrea Tino