2014-09-02 08:33:54 +00:00
|
|
|
package de.dhbwstuttgart.syntaxtree;
|
2015-10-23 14:22:44 +00:00
|
|
|
|
2014-09-02 08:33:54 +00:00
|
|
|
import de.dhbwstuttgart.core.IItemWithOffset;
|
2016-12-15 14:45:23 +00:00
|
|
|
import de.dhbwstuttgart.typecheck.JavaClassName;
|
2014-09-05 09:49:31 +00:00
|
|
|
import de.dhbwstuttgart.syntaxtree.modifier.Modifiers;
|
2017-02-10 16:37:42 +00:00
|
|
|
import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPH;
|
2017-02-03 14:20:26 +00:00
|
|
|
import org.antlr.v4.runtime.Token;
|
2013-10-18 11:33:46 +00:00
|
|
|
|
2016-12-07 13:32:48 +00:00
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.List;
|
2015-05-22 11:50:43 +00:00
|
|
|
|
2016-09-09 22:40:17 +00:00
|
|
|
/**
|
|
|
|
* Stellt jede Art von Klasse dar. Auch abstrakte Klassen und Interfaces
|
|
|
|
*/
|
2017-01-10 22:44:19 +00:00
|
|
|
public class ClassOrInterface extends GTVDeclarationContext implements IItemWithOffset, Generic{
|
|
|
|
protected Modifiers modifiers;
|
|
|
|
protected JavaClassName name;
|
|
|
|
private List<Field> fielddecl = new ArrayList<>();
|
|
|
|
private GenericDeclarationList genericClassParameters;
|
2017-02-03 14:20:26 +00:00
|
|
|
private Token offset;
|
2017-02-10 16:37:42 +00:00
|
|
|
private RefTypeOrTPH superClass;
|
2017-01-10 22:44:19 +00:00
|
|
|
protected boolean isInterface;
|
2017-02-10 16:37:42 +00:00
|
|
|
private List<RefTypeOrTPH> implementedInterfaces;
|
2017-01-10 22:44:19 +00:00
|
|
|
|
2017-02-10 16:37:42 +00:00
|
|
|
public ClassOrInterface(Modifiers modifiers, JavaClassName name, List<Field> fielddecl, GenericDeclarationList genericClassParameters,
|
|
|
|
RefTypeOrTPH superClass, Boolean isInterface, List<RefTypeOrTPH> implementedInterfaces, Token offset){
|
2017-01-16 13:28:22 +00:00
|
|
|
if(modifiers != null){
|
|
|
|
this.modifiers = modifiers;
|
|
|
|
}
|
|
|
|
if(name != null){
|
|
|
|
this.name = name;
|
|
|
|
}
|
|
|
|
if(fielddecl != null){
|
|
|
|
this.fielddecl = fielddecl;
|
|
|
|
}
|
|
|
|
if(genericClassParameters != null){
|
|
|
|
this.genericClassParameters = genericClassParameters;
|
|
|
|
}
|
|
|
|
this.offset = offset;
|
|
|
|
if(superClass != null){
|
|
|
|
this.superClass = superClass;
|
|
|
|
}
|
|
|
|
this.isInterface = isInterface;
|
|
|
|
if(implementedInterfaces != null){
|
|
|
|
this.implementedInterfaces = implementedInterfaces;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-01-10 22:44:19 +00:00
|
|
|
// Gets class name
|
|
|
|
public JavaClassName getClassName(){
|
|
|
|
return this.name;
|
|
|
|
}
|
|
|
|
|
2017-01-17 23:45:46 +00:00
|
|
|
// Get modifiers
|
|
|
|
public Modifiers getModifiers(){
|
|
|
|
return this.modifiers;
|
|
|
|
}
|
2017-01-11 15:42:02 +00:00
|
|
|
|
2013-10-18 11:33:46 +00:00
|
|
|
}
|