//generated by abstract-syntax-gen package de.peeeq.wurstscript.ast; import java.util.*; @SuppressWarnings({"cast", "unused", "rawtypes"}) class ExtensionFuncDefImpl implements ExtensionFuncDef{ ExtensionFuncDefImpl(de.peeeq.wurstscript.parser.WPos source, Modifiers modifiers, TypeExpr extendedType, Identifier nameId, TypeParamDefs typeParameters, WParameters parameters, OptTypeExpr returnTyp, WStatements body) { if (source == null) throw new IllegalArgumentException("Element source must not be null."); if (modifiers == null) throw new IllegalArgumentException("Element modifiers must not be null."); if (extendedType == null) throw new IllegalArgumentException("Element extendedType must not be null."); if (nameId == null) throw new IllegalArgumentException("Element nameId must not be null."); if (typeParameters == null) throw new IllegalArgumentException("Element typeParameters must not be null."); if (parameters == null) throw new IllegalArgumentException("Element parameters must not be null."); if (returnTyp == null) throw new IllegalArgumentException("Element returnTyp must not be null."); if (body == null) throw new IllegalArgumentException("Element body must not be null."); this.source = source; this.modifiers = modifiers; this.extendedType = extendedType; this.nameId = nameId; this.typeParameters = typeParameters; this.parameters = parameters; this.returnTyp = returnTyp; this.body = body; modifiers.setParent(this); extendedType.setParent(this); nameId.setParent(this); typeParameters.setParent(this); parameters.setParent(this); returnTyp.setParent(this); body.setParent(this); } private Element parent; public Element getParent() { return parent; } public void setParent(Element parent) { if (parent != null && this.parent != null) { throw new Error("Cannot change parent of element " + this.getClass().getSimpleName() + ", as it is already used in another tree." + "Use the copy method to create a new tree or remove the tree from its old parent or set the parent to null before moving the tree. "); } this.parent = parent; } public void replaceBy(Element other) { if (parent == null) throw new RuntimeException("Node not attached to tree."); for (int i=0; i action) { action.accept(this.modifiers); action.accept(this.extendedType); action.accept(this.nameId); action.accept(this.typeParameters); action.accept(this.parameters); action.accept(this.returnTyp); action.accept(this.body); } public int size() { return 7; } @Override public ExtensionFuncDef copy() { ExtensionFuncDef result = new ExtensionFuncDefImpl(source, (Modifiers) this.modifiers.copy(), (TypeExpr) this.extendedType.copy(), (Identifier) this.nameId.copy(), (TypeParamDefs) this.typeParameters.copy(), (WParameters) this.parameters.copy(), (OptTypeExpr) this.returnTyp.copy(), (WStatements) this.body.copy()); return result; } @Override public ExtensionFuncDef copyWithRefs() { ExtensionFuncDef res = copy(); return res; } @Override public void clearAttributes() { modifiers.clearAttributes(); extendedType.clearAttributes(); nameId.clearAttributes(); typeParameters.clearAttributes(); parameters.clearAttributes(); returnTyp.clearAttributes(); body.clearAttributes(); clearAttributesLocal(); } @Override public void clearAttributesLocal() { zzattr_attrReadVariables_state = 0; zzattr_attrTyp_state = 0; zzattr_attrReturnType_state = 0; zzattr_attrParameterTypesIncludingReceiver_state = 0; zzattr_attrParameterTypes_state = 0; zzattr_attrReceiverType_state = 0; zzattr_attrNextScope_state = 0; zzattr_attrConfigActualNameDef_state = 0; zzattr_attrRealFuncDef_state = 0; zzattr_attrNameLinks_state = 0; zzattr_attrTypeNameLinks_state = 0; zzattr_attrUsedGlobalVariables_state = 0; zzattr_attrReadGlobalVariables_state = 0; } @Override public void accept(Visitor v) { v.visit(this); } @Override public T match(AstElementWithParameters.Matcher matcher) { return matcher.case_ExtensionFuncDef(this); } @Override public void match(AstElementWithParameters.MatcherVoid matcher) { matcher.case_ExtensionFuncDef(this); } @Override public T match(HasReadVariables.Matcher matcher) { return matcher.case_ExtensionFuncDef(this); } @Override public void match(HasReadVariables.MatcherVoid matcher) { matcher.case_ExtensionFuncDef(this); } @Override public T match(Documentable.Matcher matcher) { return matcher.case_ExtensionFuncDef(this); } @Override public void match(Documentable.MatcherVoid matcher) { matcher.case_ExtensionFuncDef(this); } @Override public T match(WScope.Matcher matcher) { return matcher.case_ExtensionFuncDef(this); } @Override public void match(WScope.MatcherVoid matcher) { matcher.case_ExtensionFuncDef(this); } @Override public T match(FunctionLike.Matcher matcher) { return matcher.case_ExtensionFuncDef(this); } @Override public void match(FunctionLike.MatcherVoid matcher) { matcher.case_ExtensionFuncDef(this); } @Override public T match(AstElementWithTypeParameters.Matcher matcher) { return matcher.case_ExtensionFuncDef(this); } @Override public void match(AstElementWithTypeParameters.MatcherVoid matcher) { matcher.case_ExtensionFuncDef(this); } @Override public T match(AstElementWithSource.Matcher matcher) { return matcher.case_ExtensionFuncDef(this); } @Override public void match(AstElementWithSource.MatcherVoid matcher) { matcher.case_ExtensionFuncDef(this); } @Override public T match(HasFunctionSignature.Matcher matcher) { return matcher.case_ExtensionFuncDef(this); } @Override public void match(HasFunctionSignature.MatcherVoid matcher) { matcher.case_ExtensionFuncDef(this); } @Override public T match(TranslatedToImFunction.Matcher matcher) { return matcher.case_ExtensionFuncDef(this); } @Override public void match(TranslatedToImFunction.MatcherVoid matcher) { matcher.case_ExtensionFuncDef(this); } @Override public T match(HasModifier.Matcher matcher) { return matcher.case_ExtensionFuncDef(this); } @Override public void match(HasModifier.MatcherVoid matcher) { matcher.case_ExtensionFuncDef(this); } @Override public T match(Element.Matcher matcher) { return matcher.case_ExtensionFuncDef(this); } @Override public void match(Element.MatcherVoid matcher) { matcher.case_ExtensionFuncDef(this); } @Override public T match(AstElementWithBody.Matcher matcher) { return matcher.case_ExtensionFuncDef(this); } @Override public void match(AstElementWithBody.MatcherVoid matcher) { matcher.case_ExtensionFuncDef(this); } @Override public T match(FunctionDefinition.Matcher matcher) { return matcher.case_ExtensionFuncDef(this); } @Override public void match(FunctionDefinition.MatcherVoid matcher) { matcher.case_ExtensionFuncDef(this); } @Override public T match(NameDef.Matcher matcher) { return matcher.case_ExtensionFuncDef(this); } @Override public void match(NameDef.MatcherVoid matcher) { matcher.case_ExtensionFuncDef(this); } @Override public T match(FunctionImplementation.Matcher matcher) { return matcher.case_ExtensionFuncDef(this); } @Override public void match(FunctionImplementation.MatcherVoid matcher) { matcher.case_ExtensionFuncDef(this); } @Override public T match(WEntity.Matcher matcher) { return matcher.case_ExtensionFuncDef(this); } @Override public void match(WEntity.MatcherVoid matcher) { matcher.case_ExtensionFuncDef(this); } @Override public String toString() { return "ExtensionFuncDef(" + source + ", " +modifiers + ", " +extendedType + ", " +nameId + ", " +typeParameters + ", " +parameters + ", " +returnTyp + ", " +body+")"; } public boolean structuralEquals(Element e) { if (e instanceof ExtensionFuncDef) { ExtensionFuncDef o = (ExtensionFuncDef) e; return this.modifiers.structuralEquals(o.getModifiers()) && this.extendedType.structuralEquals(o.getExtendedType()) && this.nameId.structuralEquals(o.getNameId()) && this.typeParameters.structuralEquals(o.getTypeParameters()) && this.parameters.structuralEquals(o.getParameters()) && this.returnTyp.structuralEquals(o.getReturnTyp()) && this.body.structuralEquals(o.getBody()); } else { return false; } } // circular = null private int zzattr_attrReadVariables_state = 0; private de.peeeq.immutablecollections.ImmutableList zzattr_attrReadVariables_cache; /** */ public de.peeeq.immutablecollections.ImmutableList attrReadVariables() { if (zzattr_attrReadVariables_state == 0) { try { zzattr_attrReadVariables_state = 1; zzattr_attrReadVariables_cache = de.peeeq.wurstscript.attributes.ReadVariables.calculate((ExtensionFuncDef)this); } finally { zzattr_attrReadVariables_state = 0; } zzattr_attrReadVariables_state = 2; } else if (zzattr_attrReadVariables_state == 1) { throw new CyclicDependencyError(this, "attrReadVariables"); } return zzattr_attrReadVariables_cache; } /** */ public de.peeeq.wurstscript.types.WurstType attrReturnTyp() { return de.peeeq.wurstscript.attributes.AttrReturnTyp.calculate((ExtensionFuncDef)this); } // circular = null private int zzattr_attrTyp_state = 0; private de.peeeq.wurstscript.types.WurstType zzattr_attrTyp_cache; /** */ public de.peeeq.wurstscript.types.WurstType attrTyp() { if (zzattr_attrTyp_state == 0) { try { zzattr_attrTyp_state = 1; zzattr_attrTyp_cache = de.peeeq.wurstscript.attributes.AttrVarDefType.calculate((ExtensionFuncDef)this); } finally { zzattr_attrTyp_state = 0; } zzattr_attrTyp_state = 2; } else if (zzattr_attrTyp_state == 1) { throw new CyclicDependencyError(this, "attrTyp"); } return zzattr_attrTyp_cache; } // circular = null private int zzattr_attrReturnType_state = 0; private de.peeeq.wurstscript.types.WurstType zzattr_attrReturnType_cache; /** */ public de.peeeq.wurstscript.types.WurstType attrReturnType() { if (zzattr_attrReturnType_state == 0) { try { zzattr_attrReturnType_state = 1; zzattr_attrReturnType_cache = de.peeeq.wurstscript.attributes.AttrVarDefType.calculate((ExtensionFuncDef)this); } finally { zzattr_attrReturnType_state = 0; } zzattr_attrReturnType_state = 2; } else if (zzattr_attrReturnType_state == 1) { throw new CyclicDependencyError(this, "attrReturnType"); } return zzattr_attrReturnType_cache; } /** */ public boolean attrIsDynamicClassMember() { return de.peeeq.wurstscript.attributes.AttrIsClassMember.calculate((ExtensionFuncDef)this); } // circular = null private int zzattr_attrParameterTypesIncludingReceiver_state = 0; private com.google.common.collect.ImmutableList zzattr_attrParameterTypesIncludingReceiver_cache; /** */ public com.google.common.collect.ImmutableList attrParameterTypesIncludingReceiver() { if (zzattr_attrParameterTypesIncludingReceiver_state == 0) { try { zzattr_attrParameterTypesIncludingReceiver_state = 1; zzattr_attrParameterTypesIncludingReceiver_cache = de.peeeq.wurstscript.attributes.AttrParameterTypes.parameterTypesIncludingReceiver((ExtensionFuncDef)this); } finally { zzattr_attrParameterTypesIncludingReceiver_state = 0; } zzattr_attrParameterTypesIncludingReceiver_state = 2; } else if (zzattr_attrParameterTypesIncludingReceiver_state == 1) { throw new CyclicDependencyError(this, "attrParameterTypesIncludingReceiver"); } return zzattr_attrParameterTypesIncludingReceiver_cache; } // circular = null private int zzattr_attrParameterTypes_state = 0; private com.google.common.collect.ImmutableList zzattr_attrParameterTypes_cache; /** */ public com.google.common.collect.ImmutableList attrParameterTypes() { if (zzattr_attrParameterTypes_state == 0) { try { zzattr_attrParameterTypes_state = 1; zzattr_attrParameterTypes_cache = de.peeeq.wurstscript.attributes.AttrParameterTypes.parameterTypes((ExtensionFuncDef)this); } finally { zzattr_attrParameterTypes_state = 0; } zzattr_attrParameterTypes_state = 2; } else if (zzattr_attrParameterTypes_state == 1) { throw new CyclicDependencyError(this, "attrParameterTypes"); } return zzattr_attrParameterTypes_cache; } // circular = null private int zzattr_attrReceiverType_state = 0; private de.peeeq.wurstscript.types.WurstType zzattr_attrReceiverType_cache; /** */ public de.peeeq.wurstscript.types.WurstType attrReceiverType() { if (zzattr_attrReceiverType_state == 0) { try { zzattr_attrReceiverType_state = 1; zzattr_attrReceiverType_cache = de.peeeq.wurstscript.attributes.AttrParameterTypes.receiverType((ExtensionFuncDef)this); } finally { zzattr_attrReceiverType_state = 0; } zzattr_attrReceiverType_state = 2; } else if (zzattr_attrReceiverType_state == 1) { throw new CyclicDependencyError(this, "attrReceiverType"); } return zzattr_attrReceiverType_cache; } /** */ public boolean attrIsDynamicContext() { return de.peeeq.wurstscript.attributes.IsDynamicContext.calculate((ExtensionFuncDef)this); } /** */ public @org.eclipse.jdt.annotation.Nullable PackageOrGlobal attrNearestPackage() { return de.peeeq.wurstscript.attributes.AttrNearest.nearestPackage((ExtensionFuncDef)this); } /** */ public @org.eclipse.jdt.annotation.Nullable NamedScope attrNearestNamedScope() { return de.peeeq.wurstscript.attributes.AttrNearest.nearestNamedScope((ExtensionFuncDef)this); } /** */ public @org.eclipse.jdt.annotation.Nullable WScope attrNearestScope() { return de.peeeq.wurstscript.attributes.AttrNearest.nearestScope((ExtensionFuncDef)this); } // circular = null private int zzattr_attrNextScope_state = 0; private @org.eclipse.jdt.annotation.Nullable WScope zzattr_attrNextScope_cache; /** "returns the scope surrounding this scope"*/ public @org.eclipse.jdt.annotation.Nullable WScope attrNextScope() { if (zzattr_attrNextScope_state == 0) { try { zzattr_attrNextScope_state = 1; zzattr_attrNextScope_cache = de.peeeq.wurstscript.attributes.AttrNearest.nextScope((ExtensionFuncDef)this); } finally { zzattr_attrNextScope_state = 0; } zzattr_attrNextScope_state = 2; } else if (zzattr_attrNextScope_state == 1) { throw new CyclicDependencyError(this, "attrNextScope"); } return zzattr_attrNextScope_cache; } /** */ public String attrPathDescription() { return de.peeeq.wurstscript.attributes.PathDescription.get((ExtensionFuncDef)this); } /** */ public CompilationUnit attrCompilationUnit() { return de.peeeq.wurstscript.attributes.AttrNearest.nearestCompilationUnit((ExtensionFuncDef)this); } /** */ public @org.eclipse.jdt.annotation.Nullable ClassDef attrNearestClassDef() { return de.peeeq.wurstscript.attributes.AttrNearest.nearestClassDef((ExtensionFuncDef)this); } /** */ public @org.eclipse.jdt.annotation.Nullable ClassOrInterface attrNearestClassOrInterface() { return de.peeeq.wurstscript.attributes.AttrNearest.nearestClassOrInterface((ExtensionFuncDef)this); } /** */ public @org.eclipse.jdt.annotation.Nullable ClassOrModule attrNearestClassOrModule() { return de.peeeq.wurstscript.attributes.AttrNearest.nearestClassOrModule((ExtensionFuncDef)this); } /** */ public @org.eclipse.jdt.annotation.Nullable StructureDef attrNearestStructureDef() { return de.peeeq.wurstscript.attributes.AttrNearest.nearestStructureDef((ExtensionFuncDef)this); } /** */ public @org.eclipse.jdt.annotation.Nullable FunctionImplementation attrNearestFuncDef() { return de.peeeq.wurstscript.attributes.AttrNearest.nearestFuncDef((ExtensionFuncDef)this); } /** */ public @org.eclipse.jdt.annotation.Nullable ExprClosure attrNearestExprClosure() { return de.peeeq.wurstscript.attributes.AttrNearest.nearestExprClosure((ExtensionFuncDef)this); } /** */ public @org.eclipse.jdt.annotation.Nullable ExprStatementsBlock attrNearestExprStatementsBlock() { return de.peeeq.wurstscript.attributes.AttrNearest.nearestExprStatementsBlock((ExtensionFuncDef)this); } /** "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 @org.eclipse.jdt.annotation.Nullable NameDef tryGetNameDef() { return de.peeeq.wurstscript.attributes.AttrNameDef.tryGetNameDef((ExtensionFuncDef)this); } /** */ public boolean attrIsCompiletime() { return de.peeeq.wurstscript.attributes.ModifiersHelper.isCompiletime((ExtensionFuncDef)this); } /** */ public boolean attrHasAnnotation(String name) { return de.peeeq.wurstscript.attributes.ModifiersHelper.hasAnnotation((ExtensionFuncDef)this, name); } /** */ public Annotation attrGetAnnotation(String name) { return de.peeeq.wurstscript.attributes.ModifiersHelper.getAnnotation((ExtensionFuncDef)this, name); } /** */ public boolean attrIsPublic() { return de.peeeq.wurstscript.attributes.ModifiersHelper.isPublic((ExtensionFuncDef)this); } /** */ public boolean attrIsPublicRead() { return de.peeeq.wurstscript.attributes.ModifiersHelper.isPublicRead((ExtensionFuncDef)this); } /** */ public boolean attrIsPrivate() { return de.peeeq.wurstscript.attributes.ModifiersHelper.isPrivate((ExtensionFuncDef)this); } /** */ public boolean attrIsProtected() { return de.peeeq.wurstscript.attributes.ModifiersHelper.isProtected((ExtensionFuncDef)this); } /** */ public boolean attrIsStatic() { return de.peeeq.wurstscript.attributes.ModifiersHelper.isStatic((ExtensionFuncDef)this); } /** */ public boolean attrIsOverride() { return de.peeeq.wurstscript.attributes.ModifiersHelper.isOverride((ExtensionFuncDef)this); } /** */ public boolean attrIsAbstract() { return de.peeeq.wurstscript.attributes.ModifiersHelper.isAbstract((ExtensionFuncDef)this); } /** */ public boolean attrIsConstant() { return de.peeeq.wurstscript.attributes.ModifiersHelper.isConstant((ExtensionFuncDef)this); } /** */ public boolean attrIsVararg() { return de.peeeq.wurstscript.attributes.ModifiersHelper.isVararg((ExtensionFuncDef)this); } /** */ public de.peeeq.wurstscript.parser.WPos attrSource() { return de.peeeq.wurstscript.attributes.AttrPos.getPos((ExtensionFuncDef)this); } /** "returns the position where errors are marked"*/ public de.peeeq.wurstscript.parser.WPos attrErrorPos() { return de.peeeq.wurstscript.attributes.AttrPos.getErrorPos((ExtensionFuncDef)this); } /** */ public WurstModel getModel() { return de.peeeq.wurstscript.attributes.AttrImportedPackage.getModel((ExtensionFuncDef)this); } // circular = null private int zzattr_attrConfigActualNameDef_state = 0; private NameDef zzattr_attrConfigActualNameDef_cache; /** */ public NameDef attrConfigActualNameDef() { if (zzattr_attrConfigActualNameDef_state == 0) { try { zzattr_attrConfigActualNameDef_state = 1; zzattr_attrConfigActualNameDef_cache = de.peeeq.wurstscript.attributes.CofigActualDef.calculate((ExtensionFuncDef)this); } finally { zzattr_attrConfigActualNameDef_state = 0; } zzattr_attrConfigActualNameDef_state = 2; } else if (zzattr_attrConfigActualNameDef_state == 1) { throw new CyclicDependencyError(this, "attrConfigActualNameDef"); } return zzattr_attrConfigActualNameDef_cache; } /** */ public boolean hasAnnotation(String annotation) { return de.peeeq.wurstscript.attributes.HasAnnotation.hasAnnotation((ExtensionFuncDef)this, annotation); } /** */ public Annotation getAnnotation(String annotation) { return de.peeeq.wurstscript.attributes.HasAnnotation.getAnnotation((ExtensionFuncDef)this, annotation); } /** */ public void imTranslateEntity(de.peeeq.wurstscript.translation.imtranslation.ImTranslator translator) { de.peeeq.wurstscript.translation.imtranslation.TLDTranslation.translate((ExtensionFuncDef)this, translator); } /** */ public void imCreateFuncSkeleton(de.peeeq.wurstscript.translation.imtranslation.ImTranslator translator, de.peeeq.wurstscript.jassIm.ImFunction f) { de.peeeq.wurstscript.translation.imtranslation.FuncSkeleton.create((ExtensionFuncDef)this, translator, f); } /** */ public void addError(String msg) { de.peeeq.wurstscript.attributes.ErrorHandling.addError((ExtensionFuncDef)this, msg); } /** */ public void addWarning(String msg) { de.peeeq.wurstscript.attributes.ErrorHandling.addWarning((ExtensionFuncDef)this, msg); } /** */ public de.peeeq.wurstscript.attributes.ErrorHandler getErrorHandler() { return de.peeeq.wurstscript.attributes.ErrorHandling.getErrorHandler((ExtensionFuncDef)this); } /** */ public boolean attrHasEmptyBody() { return de.peeeq.wurstscript.attributes.SmallHelpers.hasEmptyBody((ExtensionFuncDef)this); } // circular = null private int zzattr_attrRealFuncDef_state = 0; private @org.eclipse.jdt.annotation.Nullable FunctionDefinition zzattr_attrRealFuncDef_cache; /** "returns the function definition which overrides this definition"*/ public @org.eclipse.jdt.annotation.Nullable FunctionDefinition attrRealFuncDef() { if (zzattr_attrRealFuncDef_state == 0) { try { zzattr_attrRealFuncDef_state = 1; zzattr_attrRealFuncDef_cache = de.peeeq.wurstscript.attributes.OverriddenFunctions.getRealFuncDef((ExtensionFuncDef)this); } finally { zzattr_attrRealFuncDef_state = 0; } zzattr_attrRealFuncDef_state = 2; } else if (zzattr_attrRealFuncDef_state == 1) { throw new CyclicDependencyError(this, "attrRealFuncDef"); } return zzattr_attrRealFuncDef_cache; } /** "returns a FuncLink pointing to this NameDef"*/ public de.peeeq.wurstscript.attributes.names.FuncLink createFuncLink(WScope definedIn) { return de.peeeq.wurstscript.attributes.names.FuncLink.create((ExtensionFuncDef)this, definedIn); } // circular = null private int zzattr_attrNameLinks_state = 0; private com.google.common.collect.ImmutableMultimap zzattr_attrNameLinks_cache; /** "returns a map of all the names visible in this scope."*/ public com.google.common.collect.ImmutableMultimap attrNameLinks() { if (zzattr_attrNameLinks_state == 0) { try { zzattr_attrNameLinks_state = 1; zzattr_attrNameLinks_cache = de.peeeq.wurstscript.attributes.names.NameLinks.calculate((ExtensionFuncDef)this); } finally { zzattr_attrNameLinks_state = 0; } zzattr_attrNameLinks_state = 2; } else if (zzattr_attrNameLinks_state == 1) { throw new CyclicDependencyError(this, "attrNameLinks"); } return zzattr_attrNameLinks_cache; } // circular = null private int zzattr_attrTypeNameLinks_state = 0; private com.google.common.collect.ImmutableMultimap zzattr_attrTypeNameLinks_cache; /** "returns a map of all the names visible in this scope."*/ public com.google.common.collect.ImmutableMultimap attrTypeNameLinks() { if (zzattr_attrTypeNameLinks_state == 0) { try { zzattr_attrTypeNameLinks_state = 1; zzattr_attrTypeNameLinks_cache = de.peeeq.wurstscript.attributes.names.TypeNameLinks.calculate((ExtensionFuncDef)this); } finally { zzattr_attrTypeNameLinks_state = 0; } zzattr_attrTypeNameLinks_state = 2; } else if (zzattr_attrTypeNameLinks_state == 1) { throw new CyclicDependencyError(this, "attrTypeNameLinks"); } return zzattr_attrTypeNameLinks_cache; } /** */ public @org.eclipse.jdt.annotation.Nullable TypeDef lookupType(String name, boolean showErrors) { return de.peeeq.wurstscript.attributes.names.NameResolution.lookupType((ExtensionFuncDef)this, name, showErrors); } /** */ public de.peeeq.wurstscript.attributes.names.PackageLink lookupPackage(String name, boolean showErrors) { return de.peeeq.wurstscript.attributes.names.NameResolution.lookupPackage((ExtensionFuncDef)this, name, showErrors); } /** */ public de.peeeq.wurstscript.attributes.names.NameLink lookupVar(String name, boolean showErrors) { return de.peeeq.wurstscript.attributes.names.NameResolution.lookupVar((ExtensionFuncDef)this, name, showErrors); } /** */ public de.peeeq.wurstscript.attributes.names.NameLink lookupVarNoConfig(String name, boolean showErrors) { return de.peeeq.wurstscript.attributes.names.NameResolution.lookupVarNoConfig((ExtensionFuncDef)this, name, showErrors); } /** */ public de.peeeq.wurstscript.attributes.names.NameLink lookupMemberVar(de.peeeq.wurstscript.types.WurstType receiverType, String name, boolean showErrors) { return de.peeeq.wurstscript.attributes.names.NameResolution.lookupMemberVar((ExtensionFuncDef)this, receiverType, name, showErrors); } /** */ public com.google.common.collect.ImmutableCollection lookupFuncs(String name, boolean showErrors) { return de.peeeq.wurstscript.attributes.names.NameResolution.lookupFuncs((ExtensionFuncDef)this, name, showErrors); } /** */ public com.google.common.collect.ImmutableCollection lookupFuncsNoConfig(String name, boolean showErrors) { return de.peeeq.wurstscript.attributes.names.NameResolution.lookupFuncsNoConfig((ExtensionFuncDef)this, name, showErrors); } /** */ public com.google.common.collect.ImmutableCollection lookupMemberFuncs(de.peeeq.wurstscript.types.WurstType receiverType, String name, boolean showErrors) { return de.peeeq.wurstscript.attributes.names.NameResolution.lookupMemberFuncs((ExtensionFuncDef)this, receiverType, name, showErrors); } /** */ public @org.eclipse.jdt.annotation.Nullable TypeDef lookupType(String name) { return de.peeeq.wurstscript.attributes.names.NameResolution.lookupTypeShort((ExtensionFuncDef)this, name); } /** */ public de.peeeq.wurstscript.attributes.names.PackageLink lookupPackage(String name) { return de.peeeq.wurstscript.attributes.names.NameResolution.lookupPackageShort((ExtensionFuncDef)this, name); } /** */ public de.peeeq.wurstscript.attributes.names.NameLink lookupVar(String name) { return de.peeeq.wurstscript.attributes.names.NameResolution.lookupVarShort((ExtensionFuncDef)this, name); } /** */ public de.peeeq.wurstscript.attributes.names.NameLink lookupMemberVar(de.peeeq.wurstscript.types.WurstType receiverType, String name) { return de.peeeq.wurstscript.attributes.names.NameResolution.lookupMemberVarShort((ExtensionFuncDef)this, receiverType, name); } /** */ public com.google.common.collect.ImmutableCollection lookupFuncs(String name) { return de.peeeq.wurstscript.attributes.names.NameResolution.lookupFuncsShort((ExtensionFuncDef)this, name); } /** */ public com.google.common.collect.ImmutableCollection lookupMemberFuncs(de.peeeq.wurstscript.types.WurstType receiverType, String name) { return de.peeeq.wurstscript.attributes.names.NameResolution.lookupMemberFuncsShort((ExtensionFuncDef)this, receiverType, name); } /** */ public String attrComment() { return de.peeeq.wurstscript.attributes.AttrWurstDoc.getComment((ExtensionFuncDef)this); } // circular = de.peeeq.wurstscript.utils.Utils.emptyList private int zzattr_attrUsedGlobalVariables_state = 0; private com.google.common.collect.ImmutableList zzattr_attrUsedGlobalVariables_cache; /** */ public com.google.common.collect.ImmutableList attrUsedGlobalVariables() { if (zzattr_attrUsedGlobalVariables_state == 0) { zzattr_attrUsedGlobalVariables_state = 1; zzattr_attrUsedGlobalVariables_cache = de.peeeq.wurstscript.utils.Utils.emptyList(); while (true) { com.google.common.collect.ImmutableList r = de.peeeq.wurstscript.attributes.UsedGlobalVariables.getUsedGlobals((ExtensionFuncDef)this); if (zzattr_attrUsedGlobalVariables_state == 3) { if (!zzattr_attrUsedGlobalVariables_cache.equals(r)) { zzattr_attrUsedGlobalVariables_cache = r; continue; } } zzattr_attrUsedGlobalVariables_cache = r; break; } zzattr_attrUsedGlobalVariables_state = 2; } else if (zzattr_attrUsedGlobalVariables_state == 1) { zzattr_attrUsedGlobalVariables_state = 3; } return zzattr_attrUsedGlobalVariables_cache; } // circular = de.peeeq.wurstscript.utils.Utils.emptyList private int zzattr_attrReadGlobalVariables_state = 0; private com.google.common.collect.ImmutableList zzattr_attrReadGlobalVariables_cache; /** */ public com.google.common.collect.ImmutableList attrReadGlobalVariables() { if (zzattr_attrReadGlobalVariables_state == 0) { zzattr_attrReadGlobalVariables_state = 1; zzattr_attrReadGlobalVariables_cache = de.peeeq.wurstscript.utils.Utils.emptyList(); while (true) { com.google.common.collect.ImmutableList r = de.peeeq.wurstscript.attributes.UsedGlobalVariables.getReadGlobals((ExtensionFuncDef)this); if (zzattr_attrReadGlobalVariables_state == 3) { if (!zzattr_attrReadGlobalVariables_cache.equals(r)) { zzattr_attrReadGlobalVariables_cache = r; continue; } } zzattr_attrReadGlobalVariables_cache = r; break; } zzattr_attrReadGlobalVariables_state = 2; } else if (zzattr_attrReadGlobalVariables_state == 1) { zzattr_attrReadGlobalVariables_state = 3; } return zzattr_attrReadGlobalVariables_cache; } /** */ public com.google.common.collect.ImmutableCollection attrUsedPackages() { return de.peeeq.wurstscript.attributes.UsedPackages.usedPackages((ExtensionFuncDef)this); } /** */ public String description() { return de.peeeq.wurstscript.attributes.Description.description((ExtensionFuncDef)this); } /** */ public String descriptionHtml() { return de.peeeq.wurstscript.attributes.DescriptionHtml.description((ExtensionFuncDef)this); } /** */ public boolean isSubtreeOf(Element other) { return de.peeeq.wurstscript.attributes.SmallHelpers.isSubtreeOf((ExtensionFuncDef)this, other); } /** */ public void prettyPrint(de.peeeq.wurstscript.attributes.prettyPrint.Spacer spacer, StringBuilder sb, int indent) { de.peeeq.wurstscript.attributes.prettyPrint.PrettyPrinter.prettyPrint((ExtensionFuncDef)this, spacer, sb, indent); } /** */ public String getName() { return de.peeeq.wurstscript.attributes.SmallHelpers.getName((ExtensionFuncDef)this); } }