boolean isPurableOperation ( XtendFunction operation , ISideEffectContext context ) { if ( isUnpureOperationPrototype ( operation ) ) { return false ; } if ( this . nameValidator . isNamePatternForNotPureOperation ( operation ) ) { return false ; } if ( this . nameValidator . isNamePatternForPureOperation ( operation ) ) { return true ; } if ( context == null ) { return ! hasSideEffects ( getInferredPrototype ( operation ) , operation . getExpression ( ) ) ; } final Boolean result = internalHasSideEffects ( operation . getExpression ( ) , context ) ; return result == null || ! result . booleanValue ( ) ; }
Replies if the given is purable in the given context .