public String getMeasureApply ( AApplyExp node , ILexNameToken measure , boolean close ) { String start = null ; PExp root = node . getRoot ( ) ; if ( root instanceof AApplyExp ) { AApplyExp aexp = ( AApplyExp ) root ; start = getMeasureApply ( aexp , measure , false ) ; } else if ( root instanceof AVariableExp ) { start = measure . getFullName ( ) + "(" ; } else if ( root instanceof AFuncInstatiationExp ) { AFuncInstatiationExp fie = ( AFuncInstatiationExp ) root ; start = measure . getFullName ( ) + "[" + Utils . listToString ( fie . getActualTypes ( ) ) + "](" ; } else { start = root . toString ( ) + "(" ; } return start + Utils . listToString ( node . getArgs ( ) ) + ( close ? ")" : ", " ) ; }
Create a measure application string from this apply turning the root function name into the measure name passed and collapsing curried argument sets into one .