001package de.monochromata.anaphors.ast.reference.strategy.concept; 002 003import de.monochromata.anaphors.ast.spi.AnaphorsSpi; 004 005/** 006 * Referentialization based on case-sensitive exact type recurrence. 007 * 008 * @param <N> The node type in the AST 009 * @param <E> The expression type 010 * @param <TB> The type binding type 011 * @param <S> The scope type (optional) 012 * @param <I> The type used to represent identifiers 013 * @param <QI> The type used to represent qualified identifiers 014 * @param <EV> The type of the event contained in the condition that is 015 * evaluated to check when the perspectivations shall be applied. 016 * @param <PP> The type used for positions that carry perspectivations 017 */ 018public class CaseSensitiveTypeRecurrence<N, E, TB, S, I, QI, EV, PP> 019 extends TypeRecurrence<N, E, TB, S, I, QI, EV, PP> { 020 021 /** 022 * Used in contract testing. 023 */ 024 @SuppressWarnings("unused") 025 protected CaseSensitiveTypeRecurrence() { 026 } 027 028 public CaseSensitiveTypeRecurrence(final AnaphorsSpi<N, E, TB, S, I, QI, EV, PP> anaphorsSpi) { 029 super(anaphorsSpi); 030 } 031 032 /** 033 * Returns true; 034 */ 035 @Override 036 protected boolean isCaseSensitive() { 037 return true; 038 } 039 040 @Override 041 public String getKind() { 042 return super.getKind() + "CS"; 043 } 044 045}