/// <summary> /// Creates a default constructor for the class. /// The constructor has the region of the class and a documentation comment saying /// it is a default constructor. /// </summary> public static Constructor CreateDefault(IClass c) { if (c == null) throw new ArgumentNullException("c"); Constructor con = new Constructor(ModifierEnum.Public, c.Region, c.Region, c); con.Documentation = "Default constructor of " + c.Name; return con; }
/// <summary> /// Creates a default constructor for the class. /// The constructor has the region of the class and a documentation comment saying /// it is a default constructor. /// </summary> public static Constructor CreateDefault(IClass c) { if (c == null) throw new ArgumentNullException("c"); ModifierEnum modifiers = ModifierEnum.Synthetic; if (c.IsAbstract) modifiers |= ModifierEnum.Protected; else modifiers |= ModifierEnum.Public; DomRegion region = new DomRegion(c.Region.BeginLine, c.Region.BeginColumn, c.Region.BeginLine, c.Region.BeginColumn); Constructor con = new Constructor(modifiers, region, region, c); con.Documentation = "Default constructor of " + c.Name; return con; }
public override object VisitConstructorDeclaration(NRefactoryAST.ConstructorDeclaration constructorDeclaration, object data) { DomRegion region = GetRegion(constructorDeclaration.StartLocation, constructorDeclaration.EndLocation); DomRegion bodyRegion = GetRegion(constructorDeclaration.EndLocation, constructorDeclaration.Body != null ? constructorDeclaration.Body.EndLocation : RefParser.Location.Empty); DefaultClass c = GetCurrentClass(); Constructor constructor = new Constructor(ConvertModifier(constructorDeclaration.Modifier), region, bodyRegion, GetCurrentClass()); constructor.Documentation = GetDocumentation(region.BeginLine, constructorDeclaration.Attributes); ConvertAttributes(constructorDeclaration, constructor); if (constructorDeclaration.Parameters != null) { foreach (NRefactoryAST.ParameterDeclarationExpression par in constructorDeclaration.Parameters) { constructor.Parameters.Add(CreateParameter(par)); } } c.Methods.Add(constructor); mapConstructor(constructorDeclaration, constructor); return null; }
/// <summary> /// Creates a default constructor for the class. /// The constructor has the region of the class and a documentation comment saying /// it is a default constructor. /// </summary> public static Constructor CreateDefault(IClass c) { Constructor con = new Constructor(ModifierEnum.Public, c.Region, c.Region, c); con.Documentation = "Default constructor of " + c.Name; return con; }
/// <summary> /// Walks a function definition. /// </summary> public override bool Walk(FunctionDefinition node) { if (node.Body == null) { return false; } bool ignoreFirstMethodParameter = true; IClass c = currentClass; if (currentClass == null) { // Walking a global method. CreateGlobalClass(); c = globalClass; ignoreFirstMethodParameter = false; } // Create method. string methodName = node.Name; DomRegion bodyRegion = GetBodyRegion(node.Body, node.Header); DomRegion region = GetMethodRegion(node); DefaultMethod method; if (methodName == "__init__") { method = new Constructor(ModifierEnum.Public, region, bodyRegion, c); } else { method = new DefaultMethod(methodName, new DefaultReturnType(c), ModifierEnum.Public, region, bodyRegion, c); } foreach (IParameter parameter in ConvertParameters(node.Parameters, ignoreFirstMethodParameter)) { method.Parameters.Add(parameter); } c.Methods.Add(method); return false; }
protected override void Walk(MethodDefinition methodDef) { IClass c = currentClass; if (currentClass == null) { // Walking a global method. CreateGlobalClass(); c = globalClass; } // Create method. string methodName = methodDef.Name; DomRegion region = GetMethodRegion(methodDef); DomRegion bodyRegion = GetMethodBodyRegion(methodDef.Body.Location, region); DefaultMethod method; if (methodName == "initialize") { method = new Constructor(ModifierEnum.Public, region, bodyRegion, c); } else { method = new DefaultMethod(methodName, new DefaultReturnType(c), ModifierEnum.Public, region, bodyRegion, c); } foreach (IParameter parameter in ConvertParameters(methodDef.Parameters)) { method.Parameters.Add(parameter); } c.Methods.Add(method); }