text: /*
   * ExecExprStmtImpl.h
   *
   * Copyright 2016 Mentor Graphics Corporation
   * All Rights Reserved Worldwide
   *
   * Licensed under the Apache License, Version 2.0 (the
   *  "License"); you may not use this file except in
   *  compliance with the License.  You may obtain a copy of
   *  the License at
   *
   *  http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in
   * writing, software distributed under the License is
   * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
   * CONDITIONS OF ANY KIND, either express or implied.  See
   * the License for the specific language governing
   * permissions and limitations under the License.
   * 
   *  Created on: Aug 30, 2016
   *      Author: ballance
   */
  #pragma once
  
  #include "ExecStmtImpl.h"
  #include "IExecExprStmt.h"
  
  class ExecExprStmtImpl:
  		public virtual ExecStmtImpl,
  		public virtual IExecExprStmt {
  public:
  
  	ExecExprStmtImpl(
  			IExpr						*lhs,
  			IExecExprStmt::AssignOp		op=IExecExprStmt::AssignOp_None,
  			IExpr						*rhs=0
  			);
  
  	virtual ~ExecExprStmtImpl();
  
  	virtual IExpr *getLhs() const { return m_lhs; }
  	virtual IExecExprStmt::AssignOp getOp() const { return m_op; }
  	virtual IExpr *getRhs() const { return m_rhs; }
  
  	virtual IExecStmt *clone() const;
  
  private:
  	IExpr						*m_lhs;
  	IExecExprStmt::AssignOp		m_op;
  	IExpr						*m_rhs;
  };
  
  