@Override public SExpIR caseAFuncInstatiationExp(AFuncInstatiationExp node, IRInfo question) throws AnalysisException { PType type = node.getType(); PExp func = node.getFunction(); STypeIR typeCg = type.apply(question.getTypeVisitor(), question); SExpIR funcCg = func.apply(question.getExpVisitor(), question); AMethodInstantiationExpIR methodInst = new AMethodInstantiationExpIR(); LinkedList<PType> actualTypes = node.getActualTypes(); for (PType actualType : actualTypes) { STypeIR actualTypeCg = actualType.apply(question.getTypeVisitor(), question); if (actualTypeCg != null) { methodInst.getActualTypes().add(actualTypeCg); } else { return null; } } methodInst.setFunc(funcCg); methodInst.setType(typeCg); return methodInst; }