<commit_before>package chameleon.core.type;

import chameleon.core.declaration.Signature;
import chameleon.core.element.Element;
import chameleon.core.lookup.LookupException;
import chameleon.core.reference.CrossReference;

/**
 * @author <NAME>
 */
public interface TypeReference extends CrossReference<TypeReference,Element,Type> {

//  public TypeReference(String fqn) {
//    super(fqn, Type.class);
//  }
//  
//  public TypeReference(CrossReference<?, ?, ? extends TargetDeclaration> target, String name) {
//    super(target, name, Type.class);
//  }
//  
//  public TypeReference(CrossReference<?, ?, ? extends TargetDeclaration> target, SimpleNameSignature signature) {
//    super(target, signature, Type.class);
//  }
//  
//  public Type getType() throws LookupException {
//  	return getElement();
//  }
//
//  public TypeReference clone() {
//  	return new TypeReference((getTarget() == null ? null : getTarget().clone()),(SimpleNameSignature)signature().clone());
//  }
  
	public Type getType() throws LookupException;
	
	public TypeReference clone();
	
	public Signature signature();
}<commit_msg>added getTarget<commit_after>package chameleon.core.type;

import chameleon.core.declaration.Signature;
import chameleon.core.declaration.TargetDeclaration;
import chameleon.core.element.Element;
import chameleon.core.lookup.LookupException;
import chameleon.core.reference.CrossReference;

/**
 * @author <NAME>
 */
public interface TypeReference extends CrossReference<TypeReference,Element,Type> {

//  public TypeReference(String fqn) {
//    super(fqn, Type.class);
//  }
//  
//  public TypeReference(CrossReference<?, ?, ? extends TargetDeclaration> target, String name) {
//    super(target, name, Type.class);
//  }
//  
//  public TypeReference(CrossReference<?, ?, ? extends TargetDeclaration> target, SimpleNameSignature signature) {
//    super(target, signature, Type.class);
//  }
//  
//  public Type getType() throws LookupException {
//  	return getElement();
//  }
//
//  public TypeReference clone() {
//  	return new TypeReference((getTarget() == null ? null : getTarget().clone()),(SimpleNameSignature)signature().clone());
//  }
  
	public Type getType() throws LookupException;
	
	public TypeReference clone();
	
	public Signature signature();
	
	public CrossReference<?, ?, ? extends TargetDeclaration> getTarget();
}
{'fraction_non_alphanumeric': 0.14516129032258066, 'fraction_numerical': 0.0, 'mean_word_length': 4.344671201814059, 'pattern_counts': {'":': 0, '<': 12, '<?xml version=': 0, '>': 12, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5617752', 'n_tokens_mistral': 701, 'n_tokens_neox': 683, 'n_words': 146}