com.google.caja.ancillary.linter
Class ExitModes.ExitMode

java.lang.Object
  extended by com.google.caja.ancillary.linter.ExitModes.ExitMode
Enclosing class:
ExitModes

static final class ExitModes.ExitMode
extends java.lang.Object


Field Summary
(package private)  boolean always
           
(package private)  java.util.Set<Statement> sources
           
(package private)  LiveSet vars
           
 
Constructor Summary
private ExitModes.ExitMode(LiveSet vars, boolean always, java.util.Set<Statement> sources)
           
 
Method Summary
private  ExitModes.ExitMode combine(ExitModes.ExitMode other, boolean orAlways)
           
 boolean equals(java.lang.Object o)
           
 int hashCode()
           
private  ExitModes.ExitMode sometimes()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

vars

final LiveSet vars

always

final boolean always

sources

final java.util.Set<Statement> sources
Constructor Detail

ExitModes.ExitMode

private ExitModes.ExitMode(LiveSet vars,
                           boolean always,
                           java.util.Set<Statement> sources)
Parameters:
vars - the set of vars live when that exit mode is reached.
always - true if that exit mode always occurs. In if (x) return false;, the program returns, but not always, whereas in if (x) return true; else return false; it always returns. Unexpected exceptions are not considered for purposes of always.
Method Detail

combine

private ExitModes.ExitMode combine(ExitModes.ExitMode other,
                                   boolean orAlways)
Parameters:
orAlways - true means that an ExitMode in the output has its always bit set if at least one of (this, m) has a corresponding ExitMode with the always bit set. Otherwise, all existing corresponding ExitModes must have the always bit set.

sometimes

private ExitModes.ExitMode sometimes()

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright (C) 2008 Google Inc.
Licensed under the Apache License, Version 2.0