public void Analyze(MethodCall methodCall, ISymbolTable context, List <IPreCondition> preConditions) { Method calleeMethod = IntrospectionUtility.ExtractMethod(methodCall); ICustomInference matchingRule = MatchingAnalyzeRule(calleeMethod); if (matchingRule != null) { matchingRule.Analyze(methodCall, context, preConditions); } }
public void PassProblem( MethodCall methodCall, List <IPreCondition> preConditions, ProblemMetadata problemMetadata, ISymbolTable symbolTable, IProblemPipe problemPipe) { Method calleeMethod = IntrospectionUtility.ExtractMethod(methodCall); ICustomInference matchingRule = MatchingAnalyzeRule(calleeMethod); if (matchingRule != null) { matchingRule.PassProblem(methodCall, preConditions, problemMetadata, symbolTable, problemPipe); } }
public Fragment InferFragmentType(MethodCall methodCall, ISymbolTable context) { Fragment fragmentType = Fragment.CreateEmpty(); Method calleeMethod = IntrospectionUtility.ExtractMethod(methodCall); ICustomInference matchingRule = MatchingInferRule(calleeMethod); if (matchingRule != null) { fragmentType = matchingRule.InferFragmentType(methodCall, context); } return(fragmentType); }