//generated by abstract-syntax-gen package de.peeeq.wurstscript.ast; import java.util.*; @SuppressWarnings({"cast", "unused", "rawtypes"}) class ExprNewObjectImpl implements ExprNewObject{ ExprNewObjectImpl(de.peeeq.wurstscript.parser.WPos source, Identifier typeNameId, TypeExprList typeArgs, Arguments args) { if (source == null) throw new IllegalArgumentException("Element source must not be null."); if (typeNameId == null) throw new IllegalArgumentException("Element typeNameId must not be null."); if (typeArgs == null) throw new IllegalArgumentException("Element typeArgs must not be null."); if (args == null) throw new IllegalArgumentException("Element args must not be null."); this.source = source; this.typeNameId = typeNameId; this.typeArgs = typeArgs; this.args = args; typeNameId.setParent(this); typeArgs.setParent(this); args.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.typeNameId); action.accept(this.typeArgs); action.accept(this.args); } public int size() { return 3; } @Override public ExprNewObject copy() { ExprNewObject result = new ExprNewObjectImpl(source, (Identifier) this.typeNameId.copy(), (TypeExprList) this.typeArgs.copy(), (Arguments) this.args.copy()); return result; } @Override public ExprNewObject copyWithRefs() { ExprNewObject res = copy(); return res; } @Override public void clearAttributes() { typeNameId.clearAttributes(); typeArgs.clearAttributes(); args.clearAttributes(); clearAttributesLocal(); } @Override public void clearAttributesLocal() { zzattr_attrNextStatements_state = 0; zzattr_attrPreviousStatements_state = 0; zzattr_attrListIndex_state = 0; zzattr_attrReadVariables_state = 0; zzattr_attrTyp_state = 0; zzattr_attrConstantValue_state = 0; zzattr_attrTypRaw_state = 0; zzattr_attrExpectedTypRaw_state = 0; zzattr_attrExpectedTyp_state = 0; zzattr_attrPossibleFunctionSignatures_state = 0; zzattr_attrFunctionSignature_state = 0; zzattr_attrCallSignature_state = 0; zzattr_attrConstructorDef_state = 0; zzattr_attrTypeDef_state = 0; zzattr_attrUsedGlobalVariables_state = 0; zzattr_attrReadGlobalVariables_state = 0; } @Override public void accept(Visitor v) { v.visit(this); } @Override public T match(ActionStatement.Matcher matcher) { return matcher.case_ExprNewObject(this); } @Override public void match(ActionStatement.MatcherVoid matcher) { matcher.case_ExprNewObject(this); } @Override public T match(VarInitialization.Matcher matcher) { return matcher.case_ExprNewObject(this); } @Override public void match(VarInitialization.MatcherVoid matcher) { matcher.case_ExprNewObject(this); } @Override public T match(HasReadVariables.Matcher matcher) { return matcher.case_ExprNewObject(this); } @Override public void match(HasReadVariables.MatcherVoid matcher) { matcher.case_ExprNewObject(this); } @Override public T match(HasTypeArgs.Matcher matcher) { return matcher.case_ExprNewObject(this); } @Override public void match(HasTypeArgs.MatcherVoid matcher) { matcher.case_ExprNewObject(this); } @Override public T match(OptExpr.Matcher matcher) { return matcher.case_ExprNewObject(this); } @Override public void match(OptExpr.MatcherVoid matcher) { matcher.case_ExprNewObject(this); } @Override public T match(Expr.Matcher matcher) { return matcher.case_ExprNewObject(this); } @Override public void match(Expr.MatcherVoid matcher) { matcher.case_ExprNewObject(this); } @Override public T match(AstElementWithSource.Matcher matcher) { return matcher.case_ExprNewObject(this); } @Override public void match(AstElementWithSource.MatcherVoid matcher) { matcher.case_ExprNewObject(this); } @Override public T match(WStatement.Matcher matcher) { return matcher.case_ExprNewObject(this); } @Override public void match(WStatement.MatcherVoid matcher) { matcher.case_ExprNewObject(this); } @Override public T match(AstElementWithTypeArgs.Matcher matcher) { return matcher.case_ExprNewObject(this); } @Override public void match(AstElementWithTypeArgs.MatcherVoid matcher) { matcher.case_ExprNewObject(this); } @Override public T match(Element.Matcher matcher) { return matcher.case_ExprNewObject(this); } @Override public void match(Element.MatcherVoid matcher) { matcher.case_ExprNewObject(this); } @Override public T match(StmtCall.Matcher matcher) { return matcher.case_ExprNewObject(this); } @Override public void match(StmtCall.MatcherVoid matcher) { matcher.case_ExprNewObject(this); } @Override public T match(TypeRef.Matcher matcher) { return matcher.case_ExprNewObject(this); } @Override public void match(TypeRef.MatcherVoid matcher) { matcher.case_ExprNewObject(this); } @Override public T match(AstElementWithArgs.Matcher matcher) { return matcher.case_ExprNewObject(this); } @Override public void match(AstElementWithArgs.MatcherVoid matcher) { matcher.case_ExprNewObject(this); } @Override public T match(ExprOrStatements.Matcher matcher) { return matcher.case_ExprNewObject(this); } @Override public void match(ExprOrStatements.MatcherVoid matcher) { matcher.case_ExprNewObject(this); } @Override public String toString() { return "ExprNewObject(" + source + ", " +typeNameId + ", " +typeArgs + ", " +args+")"; } public boolean structuralEquals(Element e) { if (e instanceof ExprNewObject) { ExprNewObject o = (ExprNewObject) e; return this.typeNameId.structuralEquals(o.getTypeNameId()) && this.typeArgs.structuralEquals(o.getTypeArgs()) && this.args.structuralEquals(o.getArgs()); } else { return false; } } // circular = null private int zzattr_attrNextStatements_state = 0; private java.util.List zzattr_attrNextStatements_cache; /** "returns all statements which can be executed after this statement"*/ public java.util.List attrNextStatements() { if (zzattr_attrNextStatements_state == 0) { try { zzattr_attrNextStatements_state = 1; zzattr_attrNextStatements_cache = de.peeeq.wurstscript.attributes.Flow.getNext((ExprNewObject)this); } finally { zzattr_attrNextStatements_state = 0; } zzattr_attrNextStatements_state = 2; } else if (zzattr_attrNextStatements_state == 1) { throw new CyclicDependencyError(this, "attrNextStatements"); } return zzattr_attrNextStatements_cache; } // circular = null private int zzattr_attrPreviousStatements_state = 0; private java.util.List zzattr_attrPreviousStatements_cache; /** "returns all statements which could have been executed before this statement"*/ public java.util.List attrPreviousStatements() { if (zzattr_attrPreviousStatements_state == 0) { try { zzattr_attrPreviousStatements_state = 1; zzattr_attrPreviousStatements_cache = de.peeeq.wurstscript.attributes.Flow.getPrevious((ExprNewObject)this); } finally { zzattr_attrPreviousStatements_state = 0; } zzattr_attrPreviousStatements_state = 2; } else if (zzattr_attrPreviousStatements_state == 1) { throw new CyclicDependencyError(this, "attrPreviousStatements"); } return zzattr_attrPreviousStatements_cache; } // circular = null private int zzattr_attrListIndex_state = 0; private int zzattr_attrListIndex_cache; /** "returns the index this statement has in the underlying list"*/ public int attrListIndex() { if (zzattr_attrListIndex_state == 0) { try { zzattr_attrListIndex_state = 1; zzattr_attrListIndex_cache = de.peeeq.wurstscript.attributes.Flow.getListIndex((ExprNewObject)this); } finally { zzattr_attrListIndex_state = 0; } zzattr_attrListIndex_state = 2; } else if (zzattr_attrListIndex_state == 1) { throw new CyclicDependencyError(this, "attrListIndex"); } return zzattr_attrListIndex_cache; } // 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((ExprNewObject)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; } // 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.AttrExprType.normalizedType((ExprNewObject)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_attrConstantValue_state = 0; private de.peeeq.wurstscript.intermediatelang.ILconst zzattr_attrConstantValue_cache; /** */ public de.peeeq.wurstscript.intermediatelang.ILconst attrConstantValue() { if (zzattr_attrConstantValue_state == 0) { try { zzattr_attrConstantValue_state = 1; zzattr_attrConstantValue_cache = de.peeeq.wurstscript.attributes.AttrConstantValue.calculate((ExprNewObject)this); } finally { zzattr_attrConstantValue_state = 0; } zzattr_attrConstantValue_state = 2; } else if (zzattr_attrConstantValue_state == 1) { throw new CyclicDependencyError(this, "attrConstantValue"); } return zzattr_attrConstantValue_cache; } // circular = null private int zzattr_attrTypRaw_state = 0; private de.peeeq.wurstscript.types.WurstType zzattr_attrTypRaw_cache; /** */ public de.peeeq.wurstscript.types.WurstType attrTypRaw() { if (zzattr_attrTypRaw_state == 0) { try { zzattr_attrTypRaw_state = 1; zzattr_attrTypRaw_cache = de.peeeq.wurstscript.attributes.AttrExprType.calculate((ExprNewObject)this); } finally { zzattr_attrTypRaw_state = 0; } zzattr_attrTypRaw_state = 2; } else if (zzattr_attrTypRaw_state == 1) { throw new CyclicDependencyError(this, "attrTypRaw"); } return zzattr_attrTypRaw_cache; } // circular = null private int zzattr_attrExpectedTypRaw_state = 0; private de.peeeq.wurstscript.types.WurstType zzattr_attrExpectedTypRaw_cache; /** */ public de.peeeq.wurstscript.types.WurstType attrExpectedTypRaw() { if (zzattr_attrExpectedTypRaw_state == 0) { try { zzattr_attrExpectedTypRaw_state = 1; zzattr_attrExpectedTypRaw_cache = de.peeeq.wurstscript.attributes.AttrExprExpectedType.calculate((ExprNewObject)this); } finally { zzattr_attrExpectedTypRaw_state = 0; } zzattr_attrExpectedTypRaw_state = 2; } else if (zzattr_attrExpectedTypRaw_state == 1) { throw new CyclicDependencyError(this, "attrExpectedTypRaw"); } return zzattr_attrExpectedTypRaw_cache; } // circular = null private int zzattr_attrExpectedTyp_state = 0; private de.peeeq.wurstscript.types.WurstType zzattr_attrExpectedTyp_cache; /** "try to guess what type is expected here"*/ public de.peeeq.wurstscript.types.WurstType attrExpectedTyp() { if (zzattr_attrExpectedTyp_state == 0) { try { zzattr_attrExpectedTyp_state = 1; zzattr_attrExpectedTyp_cache = de.peeeq.wurstscript.attributes.AttrExprExpectedType.normalizedType((ExprNewObject)this); } finally { zzattr_attrExpectedTyp_state = 0; } zzattr_attrExpectedTyp_state = 2; } else if (zzattr_attrExpectedTyp_state == 1) { throw new CyclicDependencyError(this, "attrExpectedTyp"); } return zzattr_attrExpectedTyp_cache; } /** "more precise expected type, after overloading"*/ public de.peeeq.wurstscript.types.WurstType attrExpectedTypAfterOverloading() { return de.peeeq.wurstscript.attributes.AttrExprExpectedType.afterOverloading((ExprNewObject)this); } /** */ public boolean attrIsDynamicContext() { return de.peeeq.wurstscript.attributes.IsDynamicContext.calculate((ExprNewObject)this); } /** */ public @org.eclipse.jdt.annotation.Nullable PackageOrGlobal attrNearestPackage() { return de.peeeq.wurstscript.attributes.AttrNearest.nearestPackage((ExprNewObject)this); } /** */ public @org.eclipse.jdt.annotation.Nullable NamedScope attrNearestNamedScope() { return de.peeeq.wurstscript.attributes.AttrNearest.nearestNamedScope((ExprNewObject)this); } /** */ public @org.eclipse.jdt.annotation.Nullable WScope attrNearestScope() { return de.peeeq.wurstscript.attributes.AttrNearest.nearestScope((ExprNewObject)this); } /** */ public String attrPathDescription() { return de.peeeq.wurstscript.attributes.PathDescription.get((ExprNewObject)this); } /** */ public CompilationUnit attrCompilationUnit() { return de.peeeq.wurstscript.attributes.AttrNearest.nearestCompilationUnit((ExprNewObject)this); } /** */ public @org.eclipse.jdt.annotation.Nullable ClassDef attrNearestClassDef() { return de.peeeq.wurstscript.attributes.AttrNearest.nearestClassDef((ExprNewObject)this); } /** */ public @org.eclipse.jdt.annotation.Nullable ClassOrInterface attrNearestClassOrInterface() { return de.peeeq.wurstscript.attributes.AttrNearest.nearestClassOrInterface((ExprNewObject)this); } /** */ public @org.eclipse.jdt.annotation.Nullable ClassOrModule attrNearestClassOrModule() { return de.peeeq.wurstscript.attributes.AttrNearest.nearestClassOrModule((ExprNewObject)this); } /** */ public @org.eclipse.jdt.annotation.Nullable StructureDef attrNearestStructureDef() { return de.peeeq.wurstscript.attributes.AttrNearest.nearestStructureDef((ExprNewObject)this); } /** */ public @org.eclipse.jdt.annotation.Nullable FunctionImplementation attrNearestFuncDef() { return de.peeeq.wurstscript.attributes.AttrNearest.nearestFuncDef((ExprNewObject)this); } /** */ public @org.eclipse.jdt.annotation.Nullable ExprClosure attrNearestExprClosure() { return de.peeeq.wurstscript.attributes.AttrNearest.nearestExprClosure((ExprNewObject)this); } /** */ public @org.eclipse.jdt.annotation.Nullable ExprStatementsBlock attrNearestExprStatementsBlock() { return de.peeeq.wurstscript.attributes.AttrNearest.nearestExprStatementsBlock((ExprNewObject)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((ExprNewObject)this); } // circular = null private int zzattr_attrPossibleFunctionSignatures_state = 0; private com.google.common.collect.ImmutableCollection zzattr_attrPossibleFunctionSignatures_cache; /** */ public com.google.common.collect.ImmutableCollection attrPossibleFunctionSignatures() { if (zzattr_attrPossibleFunctionSignatures_state == 0) { try { zzattr_attrPossibleFunctionSignatures_state = 1; zzattr_attrPossibleFunctionSignatures_cache = de.peeeq.wurstscript.attributes.AttrPossibleFunctionSignatures.calculate((ExprNewObject)this); } finally { zzattr_attrPossibleFunctionSignatures_state = 0; } zzattr_attrPossibleFunctionSignatures_state = 2; } else if (zzattr_attrPossibleFunctionSignatures_state == 1) { throw new CyclicDependencyError(this, "attrPossibleFunctionSignatures"); } return zzattr_attrPossibleFunctionSignatures_cache; } // circular = null private int zzattr_attrFunctionSignature_state = 0; private de.peeeq.wurstscript.types.FunctionSignature zzattr_attrFunctionSignature_cache; /** */ public de.peeeq.wurstscript.types.FunctionSignature attrFunctionSignature() { if (zzattr_attrFunctionSignature_state == 0) { try { zzattr_attrFunctionSignature_state = 1; zzattr_attrFunctionSignature_cache = de.peeeq.wurstscript.attributes.AttrFunctionSignature.calculate((ExprNewObject)this); } finally { zzattr_attrFunctionSignature_state = 0; } zzattr_attrFunctionSignature_state = 2; } else if (zzattr_attrFunctionSignature_state == 1) { throw new CyclicDependencyError(this, "attrFunctionSignature"); } return zzattr_attrFunctionSignature_cache; } // circular = null private int zzattr_attrCallSignature_state = 0; private de.peeeq.wurstscript.types.CallSignature zzattr_attrCallSignature_cache; /** */ public de.peeeq.wurstscript.types.CallSignature attrCallSignature() { if (zzattr_attrCallSignature_state == 0) { try { zzattr_attrCallSignature_state = 1; zzattr_attrCallSignature_cache = de.peeeq.wurstscript.attributes.AttrCallSignature.calculate((ExprNewObject)this); } finally { zzattr_attrCallSignature_state = 0; } zzattr_attrCallSignature_state = 2; } else if (zzattr_attrCallSignature_state == 1) { throw new CyclicDependencyError(this, "attrCallSignature"); } return zzattr_attrCallSignature_cache; } /** */ public de.peeeq.wurstscript.parser.WPos attrSource() { return de.peeeq.wurstscript.attributes.AttrPos.getPos((ExprNewObject)this); } /** "returns the position where errors are marked"*/ public de.peeeq.wurstscript.parser.WPos attrErrorPos() { return de.peeeq.wurstscript.attributes.AttrPos.getErrorPos((ExprNewObject)this); } /** */ public WurstModel getModel() { return de.peeeq.wurstscript.attributes.AttrImportedPackage.getModel((ExprNewObject)this); } /** */ public de.peeeq.wurstscript.jassIm.ImExpr imTranslateExpr(de.peeeq.wurstscript.translation.imtranslation.ImTranslator translator, de.peeeq.wurstscript.jassIm.ImFunction f) { return de.peeeq.wurstscript.translation.imtranslation.ExprTranslation.translate((ExprNewObject)this, translator, f); } /** */ public de.peeeq.wurstscript.jassIm.ImExprOpt imTranslateExprOpt(de.peeeq.wurstscript.translation.imtranslation.ImTranslator translator, de.peeeq.wurstscript.jassIm.ImFunction f) { return de.peeeq.wurstscript.translation.imtranslation.ExprTranslation.translate((ExprNewObject)this, translator, f); } /** */ public de.peeeq.wurstscript.jassIm.ImStmt imTranslateStmt(de.peeeq.wurstscript.translation.imtranslation.ImTranslator translator, de.peeeq.wurstscript.jassIm.ImFunction f) { return de.peeeq.wurstscript.translation.imtranslation.StmtTranslation.translate((ExprNewObject)this, translator, f); } /** */ public void addError(String msg) { de.peeeq.wurstscript.attributes.ErrorHandling.addError((ExprNewObject)this, msg); } /** */ public void addWarning(String msg) { de.peeeq.wurstscript.attributes.ErrorHandling.addWarning((ExprNewObject)this, msg); } /** */ public de.peeeq.wurstscript.attributes.ErrorHandler getErrorHandler() { return de.peeeq.wurstscript.attributes.ErrorHandling.getErrorHandler((ExprNewObject)this); } // circular = null private int zzattr_attrConstructorDef_state = 0; private @org.eclipse.jdt.annotation.Nullable ConstructorDef zzattr_attrConstructorDef_cache; /** */ public @org.eclipse.jdt.annotation.Nullable ConstructorDef attrConstructorDef() { if (zzattr_attrConstructorDef_state == 0) { try { zzattr_attrConstructorDef_state = 1; zzattr_attrConstructorDef_cache = de.peeeq.wurstscript.attributes.AttrConstructorDef.calculate((ExprNewObject)this); } finally { zzattr_attrConstructorDef_state = 0; } zzattr_attrConstructorDef_state = 2; } else if (zzattr_attrConstructorDef_state == 1) { throw new CyclicDependencyError(this, "attrConstructorDef"); } return zzattr_attrConstructorDef_cache; } // circular = null private int zzattr_attrTypeDef_state = 0; private @org.eclipse.jdt.annotation.Nullable TypeDef zzattr_attrTypeDef_cache; /** */ public @org.eclipse.jdt.annotation.Nullable TypeDef attrTypeDef() { if (zzattr_attrTypeDef_state == 0) { try { zzattr_attrTypeDef_state = 1; zzattr_attrTypeDef_cache = de.peeeq.wurstscript.attributes.AttrTypeDef.calculate((ExprNewObject)this); } finally { zzattr_attrTypeDef_state = 0; } zzattr_attrTypeDef_state = 2; } else if (zzattr_attrTypeDef_state == 1) { throw new CyclicDependencyError(this, "attrTypeDef"); } return zzattr_attrTypeDef_cache; } /** */ public @org.eclipse.jdt.annotation.Nullable TypeDef lookupType(String name, boolean showErrors) { return de.peeeq.wurstscript.attributes.names.NameResolution.lookupType((ExprNewObject)this, name, showErrors); } /** */ public de.peeeq.wurstscript.attributes.names.PackageLink lookupPackage(String name, boolean showErrors) { return de.peeeq.wurstscript.attributes.names.NameResolution.lookupPackage((ExprNewObject)this, name, showErrors); } /** */ public de.peeeq.wurstscript.attributes.names.NameLink lookupVar(String name, boolean showErrors) { return de.peeeq.wurstscript.attributes.names.NameResolution.lookupVar((ExprNewObject)this, name, showErrors); } /** */ public de.peeeq.wurstscript.attributes.names.NameLink lookupVarNoConfig(String name, boolean showErrors) { return de.peeeq.wurstscript.attributes.names.NameResolution.lookupVarNoConfig((ExprNewObject)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((ExprNewObject)this, receiverType, name, showErrors); } /** */ public com.google.common.collect.ImmutableCollection lookupFuncs(String name, boolean showErrors) { return de.peeeq.wurstscript.attributes.names.NameResolution.lookupFuncs((ExprNewObject)this, name, showErrors); } /** */ public com.google.common.collect.ImmutableCollection lookupFuncsNoConfig(String name, boolean showErrors) { return de.peeeq.wurstscript.attributes.names.NameResolution.lookupFuncsNoConfig((ExprNewObject)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((ExprNewObject)this, receiverType, name, showErrors); } /** */ public @org.eclipse.jdt.annotation.Nullable TypeDef lookupType(String name) { return de.peeeq.wurstscript.attributes.names.NameResolution.lookupTypeShort((ExprNewObject)this, name); } /** */ public de.peeeq.wurstscript.attributes.names.PackageLink lookupPackage(String name) { return de.peeeq.wurstscript.attributes.names.NameResolution.lookupPackageShort((ExprNewObject)this, name); } /** */ public de.peeeq.wurstscript.attributes.names.NameLink lookupVar(String name) { return de.peeeq.wurstscript.attributes.names.NameResolution.lookupVarShort((ExprNewObject)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((ExprNewObject)this, receiverType, name); } /** */ public com.google.common.collect.ImmutableCollection lookupFuncs(String name) { return de.peeeq.wurstscript.attributes.names.NameResolution.lookupFuncsShort((ExprNewObject)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((ExprNewObject)this, receiverType, name); } // 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((ExprNewObject)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((ExprNewObject)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((ExprNewObject)this); } /** */ public String description() { return de.peeeq.wurstscript.attributes.Description.description((ExprNewObject)this); } /** */ public String descriptionHtml() { return de.peeeq.wurstscript.attributes.DescriptionHtml.description((ExprNewObject)this); } /** */ public boolean isSubtreeOf(Element other) { return de.peeeq.wurstscript.attributes.SmallHelpers.isSubtreeOf((ExprNewObject)this, other); } /** */ public void prettyPrint(de.peeeq.wurstscript.attributes.prettyPrint.Spacer spacer, StringBuilder sb, int indent) { de.peeeq.wurstscript.attributes.prettyPrint.PrettyPrinter.prettyPrint((ExprNewObject)this, spacer, sb, indent); } /** */ public String getTypeName() { return de.peeeq.wurstscript.attributes.SmallHelpers.getTypeName((ExprNewObject)this); } }