public override object VisitMethodDeclaration(MethodDeclaration methodDeclaration, object data)
{
// Initialize resolver for method:
if (!methodDeclaration.Body.IsNull) {
if (resolver.Initialize(parseInformation, methodDeclaration.Body.StartLocation.Y, methodDeclaration.Body.StartLocation.X)) {
resolver.RunLookupTableVisitor(methodDeclaration);
}
}
IMethod currentMethod = resolver.CallingMember as IMethod;
CreateInterfaceImplementations(currentMethod, methodDeclaration, methodDeclaration.InterfaceImplementations);
if (currentMethod != null && currentMethod.Name == "Main") {
if (currentMethod.DeclaringType.FullyQualifiedName == StartupObjectToMakePublic) {
if (currentMethod.IsStatic && currentMethod.IsPrivate) {
methodDeclaration.Modifier &= ~Modifiers.Private;
methodDeclaration.Modifier |= Modifiers.Internal;
}
}
}
return base.VisitMethodDeclaration(methodDeclaration, data);
}