/** * @attribute syn * @aspect GenericsSubtype * @declaredat * /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.5Frontend/GenericsSubtype.jrag:212 */ @SuppressWarnings({"unchecked", "cast"}) public boolean sameStructure(TypeDecl t) { Object _parameters = t; if (sameStructure_TypeDecl_values == null) sameStructure_TypeDecl_values = new java.util.HashMap(4); ASTNode$State.CircularValue _value; if (sameStructure_TypeDecl_values.containsKey(_parameters)) { Object _o = sameStructure_TypeDecl_values.get(_parameters); if (!(_o instanceof ASTNode$State.CircularValue)) { return ((Boolean) _o).booleanValue(); } else _value = (ASTNode$State.CircularValue) _o; } else { _value = new ASTNode$State.CircularValue(); sameStructure_TypeDecl_values.put(_parameters, _value); _value.value = Boolean.valueOf(true); } ASTNode$State state = state(); if (!state.IN_CIRCLE) { state.IN_CIRCLE = true; int num = state.boundariesCrossed; boolean isFinal = this.is$Final(); boolean new_sameStructure_TypeDecl_value; do { _value.visited = new Integer(state.CIRCLE_INDEX); state.CHANGE = false; new_sameStructure_TypeDecl_value = sameStructure_compute(t); if (new_sameStructure_TypeDecl_value != ((Boolean) _value.value).booleanValue()) { state.CHANGE = true; _value.value = Boolean.valueOf(new_sameStructure_TypeDecl_value); } state.CIRCLE_INDEX++; } while (state.CHANGE); if (isFinal && num == state().boundariesCrossed) { sameStructure_TypeDecl_values.put(_parameters, new_sameStructure_TypeDecl_value); } else { sameStructure_TypeDecl_values.remove(_parameters); state.RESET_CYCLE = true; sameStructure_compute(t); state.RESET_CYCLE = false; } state.IN_CIRCLE = false; return new_sameStructure_TypeDecl_value; } if (!new Integer(state.CIRCLE_INDEX).equals(_value.visited)) { _value.visited = new Integer(state.CIRCLE_INDEX); boolean new_sameStructure_TypeDecl_value = sameStructure_compute(t); if (state.RESET_CYCLE) { sameStructure_TypeDecl_values.remove(_parameters); } else if (new_sameStructure_TypeDecl_value != ((Boolean) _value.value).booleanValue()) { state.CHANGE = true; _value.value = new_sameStructure_TypeDecl_value; } return new_sameStructure_TypeDecl_value; } return ((Boolean) _value.value).booleanValue(); }
@SuppressWarnings({"unchecked", "cast"}) public boolean subtype(TypeDecl type) { Object _parameters = type; if (subtype_TypeDecl_visited == null) subtype_TypeDecl_visited = new java.util.HashMap(4); if (subtype_TypeDecl_values == null) subtype_TypeDecl_values = new java.util.HashMap(4); if (subtype_TypeDecl_computed.contains(_parameters)) return ((Boolean) subtype_TypeDecl_values.get(_parameters)).booleanValue(); if (!subtype_TypeDecl_initialized.contains(_parameters)) { subtype_TypeDecl_initialized.add(_parameters); subtype_TypeDecl_values.put(_parameters, Boolean.valueOf(true)); } if (!IN_CIRCLE) { IN_CIRCLE = true; int num = boundariesCrossed; boolean isFinal = this.is$Final(); CIRCLE_INDEX = 1; boolean new_subtype_TypeDecl_value; do { subtype_TypeDecl_visited.put(_parameters, new Integer(CIRCLE_INDEX)); CHANGE = false; new_subtype_TypeDecl_value = subtype_compute(type); if (new_subtype_TypeDecl_value != ((Boolean) subtype_TypeDecl_values.get(_parameters)).booleanValue()) CHANGE = true; subtype_TypeDecl_values.put(_parameters, Boolean.valueOf(new_subtype_TypeDecl_value)); CIRCLE_INDEX++; } while (CHANGE); if (isFinal && num == boundariesCrossed) { subtype_TypeDecl_computed.add(_parameters); } else { RESET_CYCLE = true; subtype_compute(type); RESET_CYCLE = false; subtype_TypeDecl_computed.remove(_parameters); subtype_TypeDecl_initialized.remove(_parameters); } IN_CIRCLE = false; return new_subtype_TypeDecl_value; } if (!new Integer(CIRCLE_INDEX).equals(subtype_TypeDecl_visited.get(_parameters))) { subtype_TypeDecl_visited.put(_parameters, new Integer(CIRCLE_INDEX)); if (RESET_CYCLE) { subtype_TypeDecl_computed.remove(_parameters); subtype_TypeDecl_initialized.remove(_parameters); return ((Boolean) subtype_TypeDecl_values.get(_parameters)).booleanValue(); } boolean new_subtype_TypeDecl_value = subtype_compute(type); if (new_subtype_TypeDecl_value != ((Boolean) subtype_TypeDecl_values.get(_parameters)).booleanValue()) CHANGE = true; subtype_TypeDecl_values.put(_parameters, Boolean.valueOf(new_subtype_TypeDecl_value)); return new_subtype_TypeDecl_value; } return ((Boolean) subtype_TypeDecl_values.get(_parameters)).booleanValue(); }
// Declared in GenericsSubtype.jrag at line 397 @SuppressWarnings({"unchecked", "cast"}) public boolean instanceOf(TypeDecl type) { Object _parameters = type; if (instanceOf_TypeDecl_values == null) instanceOf_TypeDecl_values = new java.util.HashMap(4); if (instanceOf_TypeDecl_values.containsKey(_parameters)) return ((Boolean) instanceOf_TypeDecl_values.get(_parameters)).booleanValue(); int num = boundariesCrossed; boolean isFinal = this.is$Final(); boolean instanceOf_TypeDecl_value = instanceOf_compute(type); if (isFinal && num == boundariesCrossed) instanceOf_TypeDecl_values.put(_parameters, Boolean.valueOf(instanceOf_TypeDecl_value)); return instanceOf_TypeDecl_value; }
// Declared in DefiniteAssignment.jrag at line 879 @SuppressWarnings({"unchecked", "cast"}) public boolean isDUafter(Variable v) { Object _parameters = v; if (isDUafter_Variable_values == null) isDUafter_Variable_values = new java.util.HashMap(4); if (isDUafter_Variable_values.containsKey(_parameters)) { return ((Boolean) isDUafter_Variable_values.get(_parameters)).booleanValue(); } ASTNode$State state = state(); int num = state.boundariesCrossed; boolean isFinal = this.is$Final(); boolean isDUafter_Variable_value = isDUafter_compute(v); if (isFinal && num == state().boundariesCrossed) isDUafter_Variable_values.put(_parameters, Boolean.valueOf(isDUafter_Variable_value)); return isDUafter_Variable_value; }
// Declared in TypeAnalysis.jrag at line 30 @SuppressWarnings({"unchecked", "cast"}) public boolean narrowingConversionTo(TypeDecl type) { Object _parameters = type; if (narrowingConversionTo_TypeDecl_values == null) narrowingConversionTo_TypeDecl_values = new java.util.HashMap(4); if (narrowingConversionTo_TypeDecl_values.containsKey(_parameters)) { return ((Boolean) narrowingConversionTo_TypeDecl_values.get(_parameters)).booleanValue(); } ASTNode$State state = state(); int num = state.boundariesCrossed; boolean isFinal = this.is$Final(); boolean narrowingConversionTo_TypeDecl_value = narrowingConversionTo_compute(type); if (isFinal && num == state().boundariesCrossed) narrowingConversionTo_TypeDecl_values.put( _parameters, Boolean.valueOf(narrowingConversionTo_TypeDecl_value)); return narrowingConversionTo_TypeDecl_value; }
/** * @attribute inh * @aspect ExceptionHandling * @declaredat * /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ExceptionHandling.jrag:45 */ @SuppressWarnings({"unchecked", "cast"}) public boolean handlesException(TypeDecl exceptionType) { Object _parameters = exceptionType; if (handlesException_TypeDecl_values == null) handlesException_TypeDecl_values = new java.util.HashMap(4); if (handlesException_TypeDecl_values.containsKey(_parameters)) { return ((Boolean) handlesException_TypeDecl_values.get(_parameters)).booleanValue(); } ASTNode$State state = state(); int num = state.boundariesCrossed; boolean isFinal = this.is$Final(); boolean handlesException_TypeDecl_value = getParent().Define_boolean_handlesException(this, null, exceptionType); if (isFinal && num == state().boundariesCrossed) handlesException_TypeDecl_values.put( _parameters, Boolean.valueOf(handlesException_TypeDecl_value)); return handlesException_TypeDecl_value; }