public override bool VisitMethodDefinitionStatement(MethodDefinitionStatement methodDef) { if (!identifierService.IsValidMethodName(methodDef.Name)) { errorReport.Error("TODOFILENAME", methodDef.Position, "'{0}' is an invalid method name.", methodDef.Name); return(false); } TransientType owner = methodDef.SymbolTable.CurrentTypeDefinition; System.Diagnostics.Debug.Assert(owner != null); try { owner.AddMethod(methodDef); } catch (Exception ex) { errorReport.Error("TODOFILENAME", methodDef.Position, ex.Message, methodDef.Name); return(false); } return(base.VisitMethodDefinitionStatement(methodDef)); }