ConstructorDeclaration ConvertConstructor(IMethod ctor) { ConstructorDeclaration decl = new ConstructorDeclaration(); decl.Modifiers = GetMemberModifiers(ctor); if (ShowAttributes) decl.Attributes.AddRange (ctor.Attributes.Select ((a) => new AttributeSection (ConvertAttribute (a)))); if (ctor.DeclaringTypeDefinition != null) decl.Name = ctor.DeclaringTypeDefinition.Name; foreach (IParameter p in ctor.Parameters) { decl.Parameters.Add(ConvertParameter(p)); } if (AddResolveResultAnnotations) { decl.AddAnnotation(new MemberResolveResult(null, ctor)); } decl.Body = GenerateBodyBlock(); return decl; }
ConstructorDeclaration CreateConstructor(MethodDefinition methodDef) { ConstructorDeclaration astMethod = new ConstructorDeclaration(); astMethod.AddAnnotation(methodDef); astMethod.Modifiers = ConvertModifiers(methodDef); if (methodDef.IsStatic) { // don't show visibility for static ctors astMethod.Modifiers &= ~Modifiers.VisibilityMask; } astMethod.Name = CleanName(methodDef.DeclaringType.Name); astMethod.Parameters.AddRange(MakeParameters(methodDef.Parameters)); astMethod.Body = AstMethodBodyBuilder.CreateMethodBody(methodDef, context); ConvertAttributes(astMethod, methodDef); return astMethod; }
ConstructorDeclaration CreateConstructor(MethodDefinition methodDef) { // Create mapping - used in debugger MemberMapping methodMapping = methodDef.CreateCodeMapping(this.CodeMappings); ConstructorDeclaration astMethod = new ConstructorDeclaration(); astMethod.AddAnnotation(methodDef); astMethod.Modifiers = ConvertModifiers(methodDef); if (methodDef.IsStatic) { // don't show visibility for static ctors astMethod.Modifiers &= ~Modifiers.VisibilityMask; } astMethod.Name = CleanName(methodDef.DeclaringType.Name); astMethod.Parameters.AddRange(MakeParameters(methodDef)); astMethod.Body = CreateMethodBody(methodDef, astMethod.Parameters); ConvertAttributes(astMethod, methodDef); astMethod.WithAnnotation(methodMapping); return astMethod; }