public PExp caseARecordPattern ( ARecordPattern node ) throws AnalysisException { AMkTypeExp mkExp = new AMkTypeExp ( ) ; mkExp . setTypeName ( node . getTypename ( ) . clone ( ) ) ; List < PExp > args = new Vector < PExp > ( ) ; for ( PPattern p : node . getPlist ( ) ) { args . add ( p . apply ( this ) . clone ( ) ) ; } addPossibleType ( mkExp , node ) ; mkExp . setArgs ( args ) ; return mkExp ; }
Now compound patterns involve recursive calls to expand their pattern components to expressions .