avrora.stack
Class StateSpace.State

java.lang.Object
  extended byavrora.stack.AbstractState
      extended byavrora.stack.StateSpace.State
All Implemented Interfaces:
IORegisterConstants
Enclosing class:
StateSpace

public class StateSpace.State
extends AbstractState
implements IORegisterConstants

The State class represents an immutable state within the state space of the program. Such a state is cached and cannot be modified. It contains a unique identifier, a mark for graph traversals, and a list of outgoing edges.


Field Summary
 java.lang.Object mark
          The mark field is used by graph traversal algorithms to detect cycles and terminate traversals.
 StateSpace.Link outgoing
          The outgoing field is a reference to the head of the list of outgoing edges from this state.
 long UID
           
 
Fields inherited from class avrora.stack.AbstractState
av_EIMSK, av_REGISTERS, av_SREG, pc, primes
 
Fields inherited from interface avrora.sim.IORegisterConstants
ACSR, ADCH, ADCL, ADCSRA, ADMUX, ASSR, DDRA, DDRB, DDRC, DDRD, DDRE, DDRF, DDRG, EEARH, EEARL, EECR, EEDR, EICRA, EICRB, EIFR, EIMSK, ETIFR, ETIMSK, ICR1H, ICR1L, ICR3H, ICR3L, MCUCR, MCUCSR, NUM_REGS, OCDR, OCR0, OCR1AH, OCR1AL, OCR1BH, OCR1BL, OCR1CH, OCR1CL, OCR2, OCR3AH, OCR3AL, OCR3BH, OCR3BL, OCR3CH, OCR3CL, OSCCAL, PINA, PINB, PINC, PIND, PINE, PINF, PING, PORTA, PORTB, PORTC, PORTD, PORTE, PORTF, PORTG, RAMPZ, SFIOR, SPCR, SPDR, SPH, SPL, SPMCSR, SPSR, SREG, SREG_C, SREG_H, SREG_I, SREG_N, SREG_S, SREG_T, SREG_V, SREG_Z, TCCR0, TCCR1A, TCCR1B, TCCR1C, TCCR2, TCCR3A, TCCR3B, TCCR3C, TCNT0, TCNT1H, TCNT1L, TCNT2, TCNT3H, TCNT3L, TIFR, TIMSK, TWAR, TWBR, TWCR, TWDR, TWSR, UBRR0H, UBRR0L, UBRR1H, UBRR1L, UCSR0A, UCSR0B, UCSR0C, UCSR1A, UCSR1B, UCSR1C, UDR0, UDR1, WDTCR, XDIV, XMCRA, XMCRB
 
Method Summary
 boolean equals(java.lang.Object o)
           
 java.lang.String getUniqueName()
          The getUniqueName() gets a string that uniquely identifies this state.
 int hashCode()
           
 
Methods inherited from class avrora.stack.AbstractState
computeHashCode, copy, getFlag_C, getFlag_H, getFlag_I, getFlag_N, getFlag_S, getFlag_T, getFlag_V, getFlag_Z, getHeaderString, getIORegisterAV, getPC, getRegisterAV, getRegisterAV, getSREG, toShortString, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

UID

public final long UID

mark

public java.lang.Object mark
The mark field is used by graph traversal algorithms to detect cycles and terminate traversals. Concurrent traversal is not supported.


outgoing

public StateSpace.Link outgoing
The outgoing field is a reference to the head of the list of outgoing edges from this state.

Method Detail

hashCode

public int hashCode()
Specified by:
hashCode in class AbstractState

equals

public boolean equals(java.lang.Object o)
Specified by:
equals in class AbstractState

getUniqueName

public java.lang.String getUniqueName()
The getUniqueName() gets a string that uniquely identifies this state. For immutable states, this is simply the UID. For special states, this is the name of the special state.

Returns:
a unique identifying string for this state