217 lines
5.5 KiB
Java
Executable File
217 lines
5.5 KiB
Java
Executable File
|
|
// ino.module.AClassOrInterface.8526.package
|
|
package de.dhbwstuttgart.core;
|
|
// ino.end
|
|
|
|
// ino.module.AClassOrInterface.8526.import
|
|
import de.dhbwstuttgart.typeinference.Menge;
|
|
|
|
import de.dhbwstuttgart.logger.Logger;
|
|
// ino.end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import de.dhbwstuttgart.myexception.JVMCodeException;
|
|
import de.dhbwstuttgart.parser.JavaClassName;
|
|
import de.dhbwstuttgart.syntaxtree.Interface;
|
|
import de.dhbwstuttgart.syntaxtree.misc.UsedId;
|
|
import de.dhbwstuttgart.syntaxtree.modifier.Modifiers;
|
|
import de.dhbwstuttgart.syntaxtree.type.RefType;
|
|
import de.dhbwstuttgart.syntaxtree.type.Type;
|
|
|
|
// ino.class.AClassOrInterface.21186.description type=javadoc
|
|
/**
|
|
* Superklasse von Class und Interface. Beinhaltet gemeinsame Attribute
|
|
* der beiden Objekte.
|
|
*
|
|
* @author Juergen Schmiing
|
|
*
|
|
*/
|
|
// ino.end
|
|
// ino.class.AClassOrInterface.21186.declaration
|
|
public interface AClassOrInterface
|
|
// ino.end
|
|
// ino.class.AClassOrInterface.21186.body
|
|
{
|
|
|
|
public JavaClassName getName();
|
|
public Menge<Type> getSuperInterfaces();
|
|
public void setSuperInterfaces(Menge<Type> Menge);
|
|
|
|
/*
|
|
// ino.attribute.inferencelog.21189.decldescription type=javadoc
|
|
// ino.end
|
|
// ino.attribute.inferencelog.21189.declaration
|
|
protected static Logger inferencelog = Logger.getLogger("inference");
|
|
// ino.end
|
|
// ino.attribute.codegenlog.21192.declaration
|
|
protected static Logger codegenlog = Logger.getLogger("codegen");
|
|
// ino.end
|
|
// ino.attribute.parserlog.21195.declaration
|
|
protected static Logger parserlog = Logger.getLogger("parser");
|
|
// ino.end
|
|
|
|
// ino.attribute.pkgName.21198.decldescription type=line
|
|
// Package-Name
|
|
// ino.end
|
|
// ino.attribute.pkgName.21198.declaration
|
|
protected UsedId pkgName;
|
|
// ino.end
|
|
|
|
// ino.attribute.modifiers.21201.decldescription type=line
|
|
// Class/Interface-Name und Access-Modifiers
|
|
// ino.end
|
|
// ino.attribute.modifiers.21201.declaration
|
|
protected Modifiers modifiers;
|
|
// ino.end
|
|
// ino.attribute.name.21204.declaration
|
|
protected String name;
|
|
// ino.end
|
|
|
|
// ino.attribute.superif.21207.decldescription type=line
|
|
// Superinterfaces. Interfaces erweitern die Liste,
|
|
// Klassen implementieren die Liste.
|
|
// ino.end
|
|
// ino.attribute.superif.21207.declaration
|
|
private Menge<UsedId> superif = new Menge<UsedId>();
|
|
// ino.end
|
|
|
|
// ino.method.AClassOrInterface.21210.defdescription type=line
|
|
// Konstruktoren
|
|
// ino.end
|
|
// ino.method.AClassOrInterface.21210.definition
|
|
public AClassOrInterface()
|
|
// ino.end
|
|
// ino.method.AClassOrInterface.21210.body
|
|
{}
|
|
// ino.end
|
|
|
|
// ino.method.AClassOrInterface.21213.definition
|
|
public AClassOrInterface(String strName)
|
|
// ino.end
|
|
// ino.method.AClassOrInterface.21213.body
|
|
{
|
|
name = strName;
|
|
}
|
|
// ino.end
|
|
// ino.method.AClassOrInterface.21216.definition
|
|
public AClassOrInterface(String strName, Modifiers mod)
|
|
// ino.end
|
|
// ino.method.AClassOrInterface.21216.body
|
|
{
|
|
name = strName;
|
|
this.modifiers = mod;
|
|
}
|
|
// ino.end
|
|
|
|
// ino.method.getPackageName.21219.defdescription type=line
|
|
// Handling fuer Packages
|
|
// ino.end
|
|
// ino.method.getPackageName.21219.definition
|
|
public UsedId getPackageName()
|
|
// ino.end
|
|
// ino.method.getPackageName.21219.body
|
|
{
|
|
return pkgName;
|
|
}
|
|
// ino.end
|
|
|
|
// ino.method.setPackageName.21222.definition
|
|
public void setPackageName(UsedId pkgName)
|
|
// ino.end
|
|
// ino.method.setPackageName.21222.body
|
|
{
|
|
this.pkgName = pkgName;
|
|
}
|
|
// ino.end
|
|
|
|
// ino.method.getName.21225.definition
|
|
public String getName()
|
|
// ino.end
|
|
// ino.method.getName.21225.body
|
|
{
|
|
return name;
|
|
}
|
|
// ino.end
|
|
|
|
// ino.method.setName.21228.definition
|
|
public void setName(String strName)
|
|
// ino.end
|
|
// ino.method.setName.21228.body
|
|
{
|
|
name = strName;
|
|
}
|
|
// ino.end
|
|
|
|
// ino.method.setModifiers.21231.definition
|
|
public void setModifiers(Modifiers mod)
|
|
// ino.end
|
|
// ino.method.setModifiers.21231.body
|
|
{
|
|
this.modifiers = mod;
|
|
}
|
|
// ino.end
|
|
|
|
// ino.method.getModifiers.21234.definition
|
|
public Modifiers getModifiers()
|
|
// ino.end
|
|
// ino.method.getModifiers.21234.body
|
|
{
|
|
return this.modifiers;
|
|
}
|
|
// ino.end
|
|
|
|
// ino.method.getAccessFlags.21237.defdescription type=javadoc
|
|
// ino.end
|
|
// ino.method.getAccessFlags.21237.definition
|
|
public short getAccessFlags()
|
|
// ino.end
|
|
// ino.method.getAccessFlags.21237.body
|
|
{
|
|
short ret = 0;
|
|
if (modifiers != null) {
|
|
ret = modifiers.calculate_access_flags();
|
|
}
|
|
//if (ret != 0)
|
|
// return ret;
|
|
//else
|
|
// return (short) 32;
|
|
|
|
//feda 04.07.07 wird bei der Codegenerierung des Class File beachtet.
|
|
|
|
return ret;
|
|
}
|
|
// ino.end
|
|
|
|
// ino.method.getSuperInterfaces.21240.definition
|
|
public Menge<UsedId> getSuperInterfaces()
|
|
// ino.end
|
|
// ino.method.getSuperInterfaces.21240.body
|
|
{
|
|
return superif;
|
|
}
|
|
// ino.end
|
|
|
|
// ino.method.setSuperInterfaces.21243.definition
|
|
public void setSuperInterfaces(Menge<UsedId> superif)
|
|
// ino.end
|
|
// ino.method.setSuperInterfaces.21243.body
|
|
{
|
|
this.superif = superif;
|
|
}
|
|
// ino.end
|
|
|
|
// ino.method.codegen.21246.declaration
|
|
public abstract void codegen(SourceFile sf)
|
|
throws JVMCodeException;
|
|
// ino.end
|
|
*/
|
|
}
|
|
// ino.end
|