//generated by abstract-syntax-gen package de.peeeq.wurstscript.ast; import java.util.*; public interface InterfaceDef extends TypeDef, AstElementWithTypeParameters, NamedScope, Element, ClassOrInterface { void setSource(de.peeeq.wurstscript.parser.WPos source); de.peeeq.wurstscript.parser.WPos getSource(); void setModifiers(Modifiers modifiers); Modifiers getModifiers(); void setNameId(Identifier nameId); Identifier getNameId(); void setTypeParameters(TypeParamDefs typeParameters); TypeParamDefs getTypeParameters(); void setExtendsList(TypeExprList extendsList); TypeExprList getExtendsList(); void setMethods(FuncDefs methods); FuncDefs getMethods(); void setVars(GlobalVarDefs vars); GlobalVarDefs getVars(); void setConstructors(ConstructorDefs constructors); ConstructorDefs getConstructors(); void setModuleInstanciations(ModuleInstanciations moduleInstanciations); ModuleInstanciations getModuleInstanciations(); void setModuleUses(ModuleUses moduleUses); ModuleUses getModuleUses(); void setOnDestroy(OnDestroyDef onDestroy); OnDestroyDef getOnDestroy(); Element getParent(); InterfaceDef copy(); InterfaceDef copyWithRefs(); void clearAttributes(); void clearAttributesLocal(); /** */ public abstract de.peeeq.immutablecollections.ImmutableList attrReadVariables(); /** */ public abstract de.peeeq.wurstscript.types.WurstType attrTyp(); /** */ public abstract de.peeeq.wurstscript.types.WurstTypeInterface attrTypI(); /** */ public abstract boolean attrIsDynamicContext(); /** */ public abstract @org.eclipse.jdt.annotation.Nullable PackageOrGlobal attrNearestPackage(); /** */ public abstract @org.eclipse.jdt.annotation.Nullable NamedScope attrNearestNamedScope(); /** */ public abstract @org.eclipse.jdt.annotation.Nullable WScope attrNearestScope(); /** "returns the scope surrounding this scope"*/ public abstract @org.eclipse.jdt.annotation.Nullable WScope attrNextScope(); /** */ public abstract String attrPathDescription(); /** */ public abstract CompilationUnit attrCompilationUnit(); /** */ public abstract @org.eclipse.jdt.annotation.Nullable ClassDef attrNearestClassDef(); /** */ public abstract @org.eclipse.jdt.annotation.Nullable ClassOrInterface attrNearestClassOrInterface(); /** */ public abstract @org.eclipse.jdt.annotation.Nullable ClassOrModule attrNearestClassOrModule(); /** */ public abstract @org.eclipse.jdt.annotation.Nullable StructureDef attrNearestStructureDef(); /** */ public abstract @org.eclipse.jdt.annotation.Nullable FunctionImplementation attrNearestFuncDef(); /** */ public abstract @org.eclipse.jdt.annotation.Nullable ExprClosure attrNearestExprClosure(); /** */ public abstract @org.eclipse.jdt.annotation.Nullable ExprStatementsBlock attrNearestExprStatementsBlock(); /** "returns the element itself if it is a NameDef or returns the referenced NameDef if the elem is a reference or returns null otherwise "*/ public abstract @org.eclipse.jdt.annotation.Nullable NameDef tryGetNameDef(); /** */ public abstract boolean attrIsCompiletime(); /** */ public abstract boolean attrHasAnnotation(String name); /** */ public abstract Annotation attrGetAnnotation(String name); /** */ public abstract boolean attrIsPublic(); /** */ public abstract boolean attrIsPublicRead(); /** */ public abstract boolean attrIsPrivate(); /** */ public abstract boolean attrIsProtected(); /** */ public abstract boolean attrIsStatic(); /** */ public abstract boolean attrIsOverride(); /** */ public abstract boolean attrIsAbstract(); /** */ public abstract boolean attrIsConstant(); /** */ public abstract boolean attrIsVararg(); /** */ public abstract de.peeeq.wurstscript.parser.WPos attrSource(); /** "returns the position where errors are marked"*/ public abstract de.peeeq.wurstscript.parser.WPos attrErrorPos(); /** */ public abstract WurstModel getModel(); /** */ public abstract NameDef attrConfigActualNameDef(); /** */ public abstract boolean hasAnnotation(String annotation); /** */ public abstract Annotation getAnnotation(String annotation); /** */ public abstract void imTranslateEntity(de.peeeq.wurstscript.translation.imtranslation.ImTranslator translator); /** */ public abstract void addError(String msg); /** */ public abstract void addWarning(String msg); /** */ public abstract de.peeeq.wurstscript.attributes.ErrorHandler getErrorHandler(); /** "returns the level in the hierarchy. no supertype -> level 1"*/ public abstract int attrLevel(); /** "returns a TypeLink pointing to this NameDef"*/ public abstract de.peeeq.wurstscript.attributes.names.TypeLink createTypeLink(WScope definedIn); /** "returns a map of all the names visible in this scope."*/ public abstract com.google.common.collect.ImmutableMultimap attrNameLinks(); /** "returns a map of all the names visible in this scope."*/ public abstract com.google.common.collect.ImmutableMultimap attrTypeNameLinks(); /** */ public abstract @org.eclipse.jdt.annotation.Nullable TypeDef lookupType(String name, boolean showErrors); /** */ public abstract de.peeeq.wurstscript.attributes.names.PackageLink lookupPackage(String name, boolean showErrors); /** */ public abstract de.peeeq.wurstscript.attributes.names.NameLink lookupVar(String name, boolean showErrors); /** */ public abstract de.peeeq.wurstscript.attributes.names.NameLink lookupVarNoConfig(String name, boolean showErrors); /** */ public abstract de.peeeq.wurstscript.attributes.names.NameLink lookupMemberVar(de.peeeq.wurstscript.types.WurstType receiverType, String name, boolean showErrors); /** */ public abstract com.google.common.collect.ImmutableCollection lookupFuncs(String name, boolean showErrors); /** */ public abstract com.google.common.collect.ImmutableCollection lookupFuncsNoConfig(String name, boolean showErrors); /** */ public abstract com.google.common.collect.ImmutableCollection lookupMemberFuncs(de.peeeq.wurstscript.types.WurstType receiverType, String name, boolean showErrors); /** */ public abstract @org.eclipse.jdt.annotation.Nullable TypeDef lookupType(String name); /** */ public abstract de.peeeq.wurstscript.attributes.names.PackageLink lookupPackage(String name); /** */ public abstract de.peeeq.wurstscript.attributes.names.NameLink lookupVar(String name); /** */ public abstract de.peeeq.wurstscript.attributes.names.NameLink lookupMemberVar(de.peeeq.wurstscript.types.WurstType receiverType, String name); /** */ public abstract com.google.common.collect.ImmutableCollection lookupFuncs(String name); /** */ public abstract com.google.common.collect.ImmutableCollection lookupMemberFuncs(de.peeeq.wurstscript.types.WurstType receiverType, String name); /** */ public abstract String attrComment(); /** */ public abstract com.google.common.collect.ImmutableCollection attrUsedPackages(); /** */ public abstract String description(); /** */ public abstract String descriptionHtml(); /** */ public abstract boolean isSubtreeOf(Element other); /** */ public abstract void prettyPrint(de.peeeq.wurstscript.attributes.prettyPrint.Spacer spacer, StringBuilder sb, int indent); /** */ public abstract String getName(); }