+2003-10-17 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
+
+ * Microsoft.VisualBasic/VBCodeGenerator.cs: Sub or Function generation is switched by method.ReturnType being "System.Void"
+
2003-10-17 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
* Microsoft.VisualBasic/VBCodeCompiler.cs: Inserts "--" before file names block
TextWriter output = Output;
GenerateExpression (expression.TargetObject);
- output.Write ('.Item(');
+ output.Write (".Item(");
OutputExpressionList (expression.Indices);
output.Write (')');
}
[MonoTODO ("partially implemented")]
protected override void GenerateMethod (CodeMemberMethod method, CodeTypeDeclaration declaration)
{
+ bool isSub = method.ReturnType == null || method.ReturnType.ToString() == "System.Void";
+
TextWriter output = Output;
if (method.CustomAttributes.Count > 0)
OutputMemberAccessModifier (attributes);
OutputMemberScopeModifier (attributes);
- if (method.ReturnType == null)
+ if (isSub)
output.Write ("Sub ");
else
output.Write ("Function ");
OutputParameters (method.Parameters);
output.Write (')');
- if (method.ReturnType != null) {
+ if (!isSub) {
output.Write (" As ");
OutputType (method.ReturnType);
}
++Indent;
GenerateStatements (method.Statements);
--Indent;
- if (method.ReturnType == null)
+ if (isSub)
output.WriteLine ("End Sub");
else
output.WriteLine ("End Function");