public override void ConstructSwum(ProgramElementNode node)
{
if (node is MethodDeclarationNode)
{
var mdn = (MethodDeclarationNode)node;
mdn.AssignStructuralInformation(this.Splitter, this.PosTagger);
if (mdn.ReturnType != null && mdn.ReturnType.Name.ToLower() == "void")
{
ParseReactiveName(mdn); //this also sets the Action, Theme, and arguments
}
else
{
this.PosTagger.TagNounPhrase(mdn.ParsedName);
mdn.CreateThemeFromPhrases(mdn.Preamble, mdn.ParsedName);
mdn.Action = mdn.ParsedName[0].GetNewWord("get", PartOfSpeechTag.Verb);
SetDefaultUnknownArguments(mdn);
}
mdn.SwumRuleUsed = this;
}
}
}