Polaris: ExpressionAssertion Class Reference

ExpressionAssertion Class Reference

a base class for compiler assertions. More...

#include <ExpressionAssertion.h>

Inheritance diagram for ExpressionAssertion:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 ExpressionAssertion ()
 Construct a ExpressionAssertion.
 ExpressionAssertion (const ExpressionAssertion &a)
 Construct a ExpressionAssertion with a copy of another ExpressionAssertion's current value.
virtual const List< Expression > & arg_list_guarded () const
virtual List< Expression > & arg_list_guarded ()
 return the list of expression associated with this assertion.
virtual Boolean arg_list_valid () const
 check to see if the arg_list() exists.
virtual Assertionclone () const
 clone any ExpressionAssertion
virtual void relink_aptrs (ProgramUnit &p)
 fix up the pointers in the Assertion after a copy.
virtual ExpressionAssertionoperator= (const ExpressionAssertion &a)
 assignment operator.
virtual ~ExpressionAssertion ()
 destructor

Protected Attributes

List< Expression_arg_list

Detailed Description

a base class for compiler assertions.

C Polaris

See also:
Directive/Assertion.h

Directive/ExpressionAssertion.h

Description

The ExpressionAssertion class is meant to provide the base for a generic compiler assertion class based on Lists of expressions. Derived classes will implement specific instances of the different flavors of compiler assertions.

Bugs

No known bugs.

Definition at line 37 of file ExpressionAssertion.h.


Constructor & Destructor Documentation

ExpressionAssertion::ExpressionAssertion  ) 
 

Construct a ExpressionAssertion.

Definition at line 303 of file Assertion.cc.

References AS_NONE.

Referenced by clone().

ExpressionAssertion::ExpressionAssertion const ExpressionAssertion a  ) 
 

Construct a ExpressionAssertion with a copy of another ExpressionAssertion's current value.

Definition at line 308 of file Assertion.cc.

References _arg_list, and Assertion::operator=().

ExpressionAssertion::~ExpressionAssertion  )  [virtual]
 

destructor

... nothing to do

Definition at line 351 of file Assertion.cc.


Member Function Documentation

const List< Expression > & ExpressionAssertion::arg_list_guarded  )  const [virtual]
 

Reimplemented from Assertion.

Definition at line 328 of file Assertion.cc.

References _arg_list.

Referenced by IPCPProcData::add_maymods(), force_parallel(), Directive::generate_convex_private_directive(), Directive::generate_convex_serial_directive(), Directive::generate_convex_spp_nodependence_directive(), Directive::generate_convex_spp_private_directive(), Directive::generate_convex_spp_serial_directive(), Directive::generate_cray_t3d_private_directive(), Directive::generate_cray_t3d_shared_directive(), Directive::generate_csrd_assert_directive(), Directive::generate_csrd_critical_directive(), Directive::generate_csrd_dynlastvalue_directive(), Directive::generate_csrd_epilogue_directive(), Directive::generate_csrd_firstvalue_directive(), Directive::generate_csrd_forward_directive(), Directive::generate_csrd_induction_directive(), Directive::generate_csrd_lastvalue_directive(), Directive::generate_csrd_maymod_directive(), Directive::generate_csrd_nodependence_directive(), Directive::generate_csrd_nomod_directive(), Directive::generate_csrd_parallel_directive(), Directive::generate_csrd_parcondition_directive(), Directive::generate_csrd_private_directive(), Directive::generate_csrd_privaterefs_directive(), Directive::generate_csrd_prologue_directive(), Directive::generate_csrd_rangewritten_directive(), Directive::generate_csrd_readonlyrefs_directive(), Directive::generate_csrd_reduction_directive(), Directive::generate_csrd_rtshadow_directive(), Directive::generate_csrd_safe_condition_directive(), Directive::generate_csrd_shared_directive(), Directive::generate_csrd_sharedrefs_directive(), Directive::generate_csrd_sideeffectfree_directive(), make_maymod(), AssertNoWait::print(), AssertForward::print(), AssertUnknownShared::print(), AssertNoMod::print(), AssertMayMod::print(), AssertParallelCondition::print(), AssertInduction::print(), AssertPostamble::print(), AssertPreamble::print(), AssertNoDependence::print(), AssertSideEffectFree::print(), AssertRunTimeTest::print(), AssertNoPutGet::print(), AssertNoInline::print(), AssertRecursiveInline::print(), AssertInline::print(), AssertDepIO::print(), AssertRTShadow::print(), AssertSharedRefs::print(), AssertReadOnlyRefs::print(), AssertPrivateRefs::print(), AssertRangeWritten::print(), AssertFirstValue::print(), AssertInstrument::print(), AssertSafeCondition::print(), AssertRelation::print(), AssertCritical::print(), AssertSerial::print(), AssertPartialFirstValue::print(), AssertPartialReduction::print(), AssertReduction::print(), AssertEpilogue::print(), AssertPrologue::print(), AssertParallel::print(), AssertDynLastValue::print(), AssertLastValue::print(), AssertSubst::print(), AssertShared::print(), and AssertPrivate::print().

List< Expression > & ExpressionAssertion::arg_list_guarded  )  [virtual]
 

return the list of expression associated with this assertion.

Reimplemented from Assertion.

Definition at line 334 of file Assertion.cc.

References _arg_list.

Boolean ExpressionAssertion::arg_list_valid  )  const [virtual]
 

check to see if the arg_list() exists.

Reimplemented from Assertion.

Definition at line 340 of file Assertion.cc.

References True.

Assertion * ExpressionAssertion::clone  )  const [virtual]
 

clone any ExpressionAssertion

Reimplemented from Assertion.

Reimplemented in AssertConcurrentRoutine, AssertCritical, AssertDepIO, AssertDynLastValue, AssertEpilogue, AssertFirstValue, AssertForward, AssertInduction, AssertInline, AssertInstrument, AssertLastValue, AssertMayMod, AssertNoDependence, AssertNoInline, AssertNoLastValue, AssertNoMod, AssertNoPutGet, AssertNoWait, AssertParallel, AssertParallelCondition, AssertPartialFirstValue, AssertPartialReduction, AssertPostamble, AssertPreamble, AssertPrivate, AssertPrivateRefs, AssertPrivatizable, AssertPrologue, AssertRangeWritten, AssertReadOnlyRefs, AssertRecursiveInline, AssertReduction, AssertRelation, AssertRTShadow, AssertRunTimeTest, AssertSafeCondition, AssertSerial, AssertShared, AssertSharedRefs, AssertSideEffectFree, AssertSubst, AssertUnknownShared, and RecurrenceAssertion.

Definition at line 346 of file Assertion.cc.

References ExpressionAssertion().

void ExpressionAssertion::relink_aptrs ProgramUnit p  )  [virtual]
 

fix up the pointers in the Assertion after a copy.

Reimplemented from Assertion.

Definition at line 1298 of file Assertion.cc.

References _arg_list, and List< T >::valid().

ExpressionAssertion & ExpressionAssertion::operator= const ExpressionAssertion a  )  [virtual]
 

assignment operator.

Definition at line 316 of file Assertion.cc.

References _arg_list, List< T >::clear(), and Assertion::operator=().

Referenced by AssertCritical::AssertCritical(), AssertDepIO::AssertDepIO(), AssertDynLastValue::AssertDynLastValue(), AssertEpilogue::AssertEpilogue(), AssertFirstValue::AssertFirstValue(), AssertForward::AssertForward(), AssertInduction::AssertInduction(), AssertInline::AssertInline(), AssertInstrument::AssertInstrument(), AssertLastValue::AssertLastValue(), AssertMayMod::AssertMayMod(), AssertNoDependence::AssertNoDependence(), AssertNoInline::AssertNoInline(), AssertNoMod::AssertNoMod(), AssertNoPutGet::AssertNoPutGet(), AssertNoWait::AssertNoWait(), AssertParallel::AssertParallel(), AssertParallelCondition::AssertParallelCondition(), AssertPartialFirstValue::AssertPartialFirstValue(), AssertPartialReduction::AssertPartialReduction(), AssertPostamble::AssertPostamble(), AssertPreamble::AssertPreamble(), AssertPrivate::AssertPrivate(), AssertPrivateRefs::AssertPrivateRefs(), AssertPrologue::AssertPrologue(), AssertRangeWritten::AssertRangeWritten(), AssertReadOnlyRefs::AssertReadOnlyRefs(), AssertRecursiveInline::AssertRecursiveInline(), AssertReduction::AssertReduction(), AssertRelation::AssertRelation(), AssertRTShadow::AssertRTShadow(), AssertRunTimeTest::AssertRunTimeTest(), AssertSafeCondition::AssertSafeCondition(), AssertSerial::AssertSerial(), AssertShared::AssertShared(), AssertSharedRefs::AssertSharedRefs(), AssertSideEffectFree::AssertSideEffectFree(), AssertSubst::AssertSubst(), AssertUnknownShared::AssertUnknownShared(), AssertNoWait::operator=(), AssertForward::operator=(), AssertUnknownShared::operator=(), AssertNoMod::operator=(), AssertMayMod::operator=(), AssertParallelCondition::operator=(), AssertInduction::operator=(), AssertPostamble::operator=(), AssertPreamble::operator=(), AssertNoDependence::operator=(), AssertSideEffectFree::operator=(), AssertRunTimeTest::operator=(), AssertNoPutGet::operator=(), AssertNoInline::operator=(), AssertRecursiveInline::operator=(), AssertInline::operator=(), AssertDepIO::operator=(), AssertRTShadow::operator=(), AssertSharedRefs::operator=(), AssertReadOnlyRefs::operator=(), AssertPrivateRefs::operator=(), AssertRangeWritten::operator=(), AssertFirstValue::operator=(), AssertInstrument::operator=(), AssertSafeCondition::operator=(), AssertRelation::operator=(), AssertCritical::operator=(), AssertSerial::operator=(), AssertPartialFirstValue::operator=(), AssertPartialReduction::operator=(), AssertReduction::operator=(), AssertEpilogue::operator=(), AssertPrologue::operator=(), AssertParallel::operator=(), AssertDynLastValue::operator=(), AssertLastValue::operator=(), AssertSubst::operator=(), AssertShared::operator=(), and AssertPrivate::operator=().


Member Data Documentation

List<Expression> ExpressionAssertion::_arg_list [protected]
 

Definition at line 39 of file ExpressionAssertion.h.

Referenced by arg_list_guarded(), ExpressionAssertion(), operator=(), and relink_aptrs().


The documentation for this class was generated from the following files:
 © 1995-2005 University of Illinois, Urbana-Champaign. All rights reserved.  Fri Mar 25 23:07:22 2005