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;
 }
Beispiel #2
0
		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 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;
 }
Beispiel #4
0
		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;
		}