Esempio n. 1
0
        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));
        }