public Method AddFunctionTo(TypeDefinition type, IToken nameToken, IToken getter, IToken setter)
{
Method method;
string name = nameToken.getText();
LexicalInfo info = ToLexicalInfo(nameToken);
Method method1 = method = new Method(info);
method.set_Name(name);
Method node = !IsConstructorName(name, type) ? method : new Constructor(info);
if ((getter != null) || (setter != null))
{
Property property = type.get_Members().get_Item(name) as Property;
if (property == null)
{
Property property2;
Property property1 = property2 = new Property(info);
property2.set_Name(name);
property = property2;
type.get_Members().Add(property);
}
if (getter != null)
{
if (property.get_Getter() != null)
{
throw new AssertionFailedException("p.Getter is null");
}
property.set_Getter(node);
}
else
{
if (property.get_Setter() != null)
{
throw new AssertionFailedException("p.Setter is null");
}
property.set_Setter(node);
}
this.FlushAttributes(property);
return node;
}
type.get_Members().Add(node);
this.FlushAttributes(node);
return node;
}