public void Visit(MethodContext parserRule) { var methodName = parserRule.methodName.Text; var typeReturn = globalContext.GetType(parserRule.TypeReturn.Text); var formals = (from f in parserRule._formals select Visit(f)).ToArray(); if (!type.IfDefineInTheCurrentType(methodName)) { //Si no esta definida en la clase actual hay que verificar si se puede refinir de un ancestro if (!type.Define(methodName, typeReturn, formals)) { errorLogger.LogError($"No se puede redefinir el metodo con nombre {parserRule.idText}, linea {parserRule.methodName.Line} y la columna {parserRule.methodName.Column}"); } } else { errorLogger.LogError($"El tipo {type.Name} ya tiene un metodo con nombre {parserRule.idText}, linea {parserRule.methodName.Line} y la columna {parserRule.methodName.Column}"); } //if ( !type.Define(methodName, type, formals)) // errorLogger.LogError($"El tipo {type.Name} ya tiene un metodo con nombre {parserRule.idText}, linea {parserRule.methodName.Line} y la columna {parserRule.methodName.Column}"); }