private FAMIX.Parameter CreateParameter(IParameterSymbol parameterSymbol) { FAMIX.Parameter parameter = this.CreateNewEntity <FAMIX.Parameter>(typeof(FAMIX.Parameter).FullName); parameter.name = parameterSymbol.Name; parameter.Modifiers = (parameterSymbol.CustomModifiers.Select(p => p.Modifier.Name) .Concat( parameterSymbol.RefCustomModifiers.Select(p => p.Modifier.Name) ) ).ToList(); parameter.referenceType = helper.RefKindName(parameterSymbol.RefKind); if (parameterSymbol.IsParams) { throw new System.Exception("Should cehck this"); } if (parameterSymbol.HasExplicitDefaultValue) { if (parameterSymbol.ExplicitDefaultValue == null) { if (parameterSymbol.Language == LanguageNames.CSharp) { parameter.defaultValue = "null"; } else { parameter.defaultValue = "Nothing"; } } else { parameter.defaultValue = parameterSymbol.ExplicitDefaultValue.ToString(); } } return(parameter); }
public FAMIX.Parameter EnsureParameterInMethod(IParameterSymbol parameterSymbol, Method CurrentMethod) { if (CurrentMethod.Parameters.Any(p => p.name == parameterSymbol.Name)) { return(CurrentMethod.Parameters.Find(p => p.name == parameterSymbol.Name)); } FAMIX.Parameter parameter = this.CreateParameter(parameterSymbol); CurrentMethod.AddParameter(parameter); return(parameter); }
public void AddParameter(FAMIX.Parameter one) { parameters.Add(one); }