package de.dhbwstuttgart.strucTypes;

import de.dhbwstuttgart.syntaxtree.ClassOrInterface;
import de.dhbwstuttgart.syntaxtree.Field;

/* Formal Idea -> Implementation: 
 * 
 * Phi(c,f,c') = means c provides a field f with the type c' 
 * 
 * Example: 
 * 
 * Phi(A,f1,Integer) 
 * Phi( class , field, type or typevariable) 
 * 
 * Idea Implementation  -> Use object - reference
 * 
 * Phi( Class , Field , typevariable of Field f ) 
 * 
 * 
 * 
 * 
 * 
 */


public class TC_Field extends TC_Abstract {
	
	// Not completely implemented
	private ClassOrInterface cl; 
	private Field field; 
	private TV_Field tv; 
	
	
	/*
	 * here the type(variable) has to be supplemented 
	 */
	public TC_Field (ClassOrInterface cl , Field field , TV_Field tv ) {		
		this.cl = cl; 
		this.field = field; 	
		this.tv = tv; 
		
	}
	
	
	public String toString () {
		return "Phi( " + cl.getClassName().toString()  + "," + field.getName().toString() + "," +  tv.toString() + ")";    
	}
	
	

}
