public override void CaseAMethodDecl(AMethodDecl node) { if (node.GetInline() == null && node.GetTrigger() == null && !(data.ConstructorMap.ContainsValue(node) && !inlineConstructors) && node != finalTrans.mainEntry) { CountStatements counter = new CountStatements(); node.Apply(counter); if (counter.Count <= 2) { //Don't inline if it has a recurssive call to itself FindRecurssiveCall recurssiveCallSearcher = new FindRecurssiveCall(node, data); node.Apply(recurssiveCallSearcher); if (!recurssiveCallSearcher.InlinedCallToItself) { node.SetInline(new TInline("inline")); } } } base.CaseAMethodDecl(node); }