List of usage examples for org.aspectj.weaver AdviceKind AfterReturning
AdviceKind AfterReturning
To view the source code for org.aspectj.weaver AdviceKind AfterReturning.
Click Source Link
From source file:org.eclipse.ajdt.internal.ui.markers.UpdateAJMarkers.java
License:Open Source License
/** * Get the marker type that should be used for the given relationship * /*ww w .j a va 2 s .c om*/ * @param relationship * @param target * @return */ private String getMarkerTypeForRelationship(IRelationship relationship, String target) { String name = relationship.getName(); boolean runtimeTest = relationship.hasRuntimeTest(); String markerType; if (name.equals(AsmRelationshipProvider.ADVISED_BY)) { IProgramElement advice = model.getProgramElement(target); AdviceKind ak; if (advice.getExtraInfo() != null) { ak = AdviceKind.stringToKind(advice.getExtraInfo().getExtraAdviceInformation()); } else { ak = null; } if (runtimeTest) { if (ak == null) { markerType = IAJModelMarker.DYNAMIC_ADVICE_MARKER; } else if (ak == AdviceKind.Before) { markerType = IAJModelMarker.DYNAMIC_BEFORE_ADVICE_MARKER; } else if (ak == AdviceKind.After || ak == AdviceKind.AfterReturning || ak == AdviceKind.AfterThrowing) { markerType = IAJModelMarker.DYNAMIC_AFTER_ADVICE_MARKER; } else if (ak == AdviceKind.Around) { markerType = IAJModelMarker.DYNAMIC_AROUND_ADVICE_MARKER; } else { markerType = IAJModelMarker.DYNAMIC_ADVICE_MARKER; } } else { // no runtime test if (ak == null) { markerType = IAJModelMarker.ADVICE_MARKER; } else if (ak == AdviceKind.Before) { markerType = IAJModelMarker.BEFORE_ADVICE_MARKER; } else if (ak == AdviceKind.After || ak == AdviceKind.AfterReturning || ak == AdviceKind.AfterThrowing) { markerType = IAJModelMarker.AFTER_ADVICE_MARKER; } else if (ak == AdviceKind.Around) { markerType = IAJModelMarker.AROUND_ADVICE_MARKER; } else { markerType = IAJModelMarker.ADVICE_MARKER; } } } else if (name.equals(AsmRelationshipProvider.ADVISES)) { IProgramElement advice = model.getProgramElement(relationship.getSourceHandle()); AdviceKind ak; if (advice.getExtraInfo() != null) { ak = AdviceKind.stringToKind(advice.getExtraInfo().getExtraAdviceInformation()); } else { ak = null; // hmmm...sometmes ExtradviceInformtion is null. // try to get the advice kind by the name if (advice.getName().startsWith("before")) { ak = AdviceKind.Before; } else if (advice.getName().startsWith("after")) { ak = AdviceKind.After; } else if (advice.getName().startsWith("around")) { ak = AdviceKind.Around; } } if (runtimeTest) { if (ak == null) { markerType = IAJModelMarker.SOURCE_DYNAMIC_ADVICE_MARKER; } else if (ak == AdviceKind.Before) { markerType = IAJModelMarker.SOURCE_DYNAMIC_BEFORE_ADVICE_MARKER; } else if (ak == AdviceKind.After || ak == AdviceKind.AfterReturning || ak == AdviceKind.AfterThrowing) { markerType = IAJModelMarker.SOURCE_DYNAMIC_AFTER_ADVICE_MARKER; } else if (ak == AdviceKind.Around) { markerType = IAJModelMarker.SOURCE_DYNAMIC_AROUND_ADVICE_MARKER; } else { markerType = IAJModelMarker.SOURCE_DYNAMIC_ADVICE_MARKER; } } else { // no runtime test if (ak == null) { markerType = IAJModelMarker.SOURCE_ADVICE_MARKER; } else if (ak == AdviceKind.Before) { markerType = IAJModelMarker.SOURCE_BEFORE_ADVICE_MARKER; } else if (ak == AdviceKind.After || ak == AdviceKind.AfterReturning || ak == AdviceKind.AfterThrowing) { markerType = IAJModelMarker.SOURCE_AFTER_ADVICE_MARKER; } else if (ak == AdviceKind.Around) { markerType = IAJModelMarker.SOURCE_AROUND_ADVICE_MARKER; } else { markerType = IAJModelMarker.SOURCE_ADVICE_MARKER; } } } else if (name.equals(AsmRelationshipProvider.ANNOTATED_BY) || name.equals(AsmRelationshipProvider.SOFTENED_BY) || name.equals(AsmRelationshipProvider.INTER_TYPE_DECLARED_BY)) { // note that we ignore MATCHES_DECLARE because that is taken care of // by error and warning markers markerType = IAJModelMarker.ITD_MARKER; } else if (name.equals(AsmRelationshipProvider.ANNOTATES) || name.equals(AsmRelationshipProvider.INTER_TYPE_DECLARES) || name.equals(AsmRelationshipProvider.SOFTENS) || name.equals(AsmRelationshipProvider.MATCHED_BY)) { markerType = IAJModelMarker.SOURCE_ITD_MARKER; } else { markerType = null; } return markerType; }