private void validateVeLogNode ( VeLogNode node ) { if ( node . getVeDataExpression ( ) . getRoot ( ) . getType ( ) . getKind ( ) != Kind . VE_DATA ) { reporter . report ( node . getVeDataExpression ( ) . getSourceLocation ( ) , INVALID_VE , node . getVeDataExpression ( ) . getRoot ( ) . getType ( ) ) ; } if ( node . getLogonlyExpression ( ) != null ) { // check to see if it is in a msg node. logonly is disallowed in msg nodes because we don't // have an implementation strategy. if ( isInMsgNode ( node ) ) { reporter . report ( node . getLogonlyExpression ( ) . getSourceLocation ( ) , LOGONLY_DISALLOWED_IN_MSG ) ; } SoyType type = node . getLogonlyExpression ( ) . getType ( ) ; if ( type . getKind ( ) != Kind . BOOL ) { reporter . report ( node . getLogonlyExpression ( ) . getSourceLocation ( ) , WRONG_TYPE , BoolType . getInstance ( ) , type ) ; } } }
Type checks the VE and logonly expressions .