public static Translate ( Statement, statement ) : |
||
statement | Statement, | |
return |
public static SUnit Translate(Statement statement)
{
// Return empty SUnit for empty statement.
if(statement.GetExpressions().Count() == 0)
{
return new SUnit(SUnitType.SingleMethodCall, "", "", "", new List<string>(), "void");
}
if(statement is ReturnStatement)
{
//Console.WriteLine("TRANSLATE RETURN");
return TranslateReturn(statement);
}
//
if (statement.GetExpressions().First() is VariableDeclaration)
{
//Console.WriteLine("TRANSLATE ASSIGNMENT");
return TranslateAssignment(statement);
}
else
{
//Console.WriteLine("TRANSLATE METHODCALL");
return TranslateMethodCall(statement);
}
}
public void TranslateAssignmentSUnit() { var assignmentStatement = methodDef.GetDescendants <Statement>().OfType <DeclarationStatement>().First(); Console.WriteLine("Assignment statement: {0}", assignmentStatement.ToString()); var translated = SUnitTranslator.Translate(assignmentStatement); Console.WriteLine("Action: {0}\nTheme: {1}", translated.action, translated.theme); }