C# Class Rosetta.Translation.ConditionalStatementTranslationUnit

Class describing conditional statements.
Internal members protected for testability.
Inheritance: StatementTranslationUnit
Show file Open project: andry-tino/Rosetta Class Usage Examples

Protected Properties

Property Type Description
bodies ITranslationUnit[]
hasFinalElse bool
lastBody ITranslationUnit
testExpressions ITranslationUnit[]

Public Methods

Method Description
Create ( int blocksNumber, bool hasFinalElse ) : ConditionalStatementTranslationUnit

SetStatementInConditionalBlock ( ITranslationUnit statement, int index ) : void

SetStatementInElseBlock ( ITranslationUnit statement ) : void

SetTestExpression ( ITranslationUnit testExpression, int index ) : void

Translate ( ) : string

Translate the unit into TypeScript.

Protected Methods

Method Description
ConditionalStatementTranslationUnit ( ) : System

Initializes a new instance of the ConditionalStatementTranslationUnit class.

ConditionalStatementTranslationUnit ( ConditionalStatementTranslationUnit other ) : System

Copy initializes a new instance of the ConditionalStatementTranslationUnit class.

For testability.

ConditionalStatementTranslationUnit ( int nestingLevel ) : System

Initializes a new instance of the ConditionalStatementTranslationUnit class.

Method Details

ConditionalStatementTranslationUnit() protected method

Initializes a new instance of the ConditionalStatementTranslationUnit class.
protected ConditionalStatementTranslationUnit ( ) : System
return System

ConditionalStatementTranslationUnit() protected method

Copy initializes a new instance of the ConditionalStatementTranslationUnit class.
For testability.
protected ConditionalStatementTranslationUnit ( ConditionalStatementTranslationUnit other ) : System
other ConditionalStatementTranslationUnit
return System

ConditionalStatementTranslationUnit() protected method

Initializes a new instance of the ConditionalStatementTranslationUnit class.
protected ConditionalStatementTranslationUnit ( int nestingLevel ) : System
nestingLevel int
return System

Create() public static method

public static Create ( int blocksNumber, bool hasFinalElse ) : ConditionalStatementTranslationUnit
blocksNumber int
hasFinalElse bool
return ConditionalStatementTranslationUnit

SetStatementInConditionalBlock() public method

public SetStatementInConditionalBlock ( ITranslationUnit statement, int index ) : void
statement ITranslationUnit Can be a block or a statement.
index int
return void

SetStatementInElseBlock() public method

public SetStatementInElseBlock ( ITranslationUnit statement ) : void
statement ITranslationUnit Can be a block or a statement.
return void

SetTestExpression() public method

public SetTestExpression ( ITranslationUnit testExpression, int index ) : void
testExpression ITranslationUnit
index int
return void

Translate() public method

Translate the unit into TypeScript.
public Translate ( ) : string
return string

Property Details

bodies protected property

Contains all bodies: if (...) { } else if (...) { } else if (...) { } else {...} We can have N bodies and they can be blocks or single statements.
protected ITranslationUnit[] bodies
return ITranslationUnit[]

hasFinalElse protected property

protected bool hasFinalElse
return bool

lastBody protected property

Contains all bodies: if (...) { ... } else if (...) { ... } else if (...) { ... } else { } Total bodies is N + 1 in case we have final ELSE clause and it can be a block or a single statement.
protected ITranslationUnit lastBody
return ITranslationUnit

testExpressions protected property

Contains all test expressions: if () { } else if () { } else if () { } else { } N is the number of test expressions.
protected ITranslationUnit[] testExpressions
return ITranslationUnit[]