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