code: public Object evaluate()
    {
      if( !isCompileTimeConstant() )
      {
        return super.evaluate();
      }
      Object lhsValue = getLHS().evaluate();
      if( lhsValue == null )
      {
        return null;
      }
      Object rhsValue = getRHS().evaluate();
      if( rhsValue == null )
      {
        return null;
      }
  
      IType type = getType();
      if( getOperator().equals( "<<" ) )
      {
        if( type == JavaTypes.pINT() )
        {
          return CommonServices.getCoercionManager().makeIntegerFrom( lhsValue ) << CommonServices.getCoercionManager().makeIntegerFrom( rhsValue );
        }
        if( type == JavaTypes.pLONG() )
        {
          return makeLong( CommonServices.getCoercionManager().makeLongFrom( lhsValue ) << CommonServices.getCoercionManager().makeIntegerFrom( rhsValue ) );
        }
  
        throw new UnsupportedNumberTypeException(type);
      }
  
      if( getOperator().equals( ">>" ) )
      {
        if( type == JavaTypes.pINT() )
        {
          return CommonServices.getCoercionManager().makeIntegerFrom( lhsValue ) >> CommonServices.getCoercionManager().makeIntegerFrom( rhsValue );
        }
        if( type == JavaTypes.pLONG() )
        {
          return makeLong( CommonServices.getCoercionManager().makeLongFrom( lhsValue ) >> CommonServices.getCoercionManager().makeIntegerFrom( rhsValue ) );
        }
  
        throw new UnsupportedNumberTypeException(type);
      }
  
      if( getOperator().equals( ">>>" ) )
      {
        if( type == JavaTypes.pINT() )
        {
          return CommonServices.getCoercionManager().makeIntegerFrom( lhsValue ) >>> CommonServices.getCoercionManager().makeIntegerFrom( rhsValue );
        }
        if( type == JavaTypes.pLONG() )
        {
          return makeLong( CommonServices.getCoercionManager().makeLongFrom( lhsValue ) >>> CommonServices.getCoercionManager().makeIntegerFrom( rhsValue ) );
        }
  
        throw new UnsupportedNumberTypeException(type);
      }
  
      throw new UnsupportedNumberTypeException(type);
    }
docs: Evaluate the expression.