public override void CaseAArrayTempType(AArrayTempType node) { InAArrayTempType(node); if (node.GetIntDim() != null) { node.GetIntDim().Apply(this); } if (node.GetDimention() != null) { node.GetDimention().Apply(this); } if (node.GetType() != null) { node.GetType().Apply(this); } if (node.GetToken() != null) { node.GetToken().Apply(this); } OutAArrayTempType(node); }
public override void CaseAArrayTempType(AArrayTempType node) { /*if (node.GetDimention() is ALvalueExp && ((ALvalueExp)node.GetDimention()).GetLvalue() is AAmbiguousNameLvalue) { AAmbiguousNameLvalue lvalue = (AAmbiguousNameLvalue) ((ALvalueExp) node.GetDimention()).GetLvalue(); ASimpleName name = (ASimpleName) lvalue.GetAmbiguous(); if (name.GetIdentifier().Text == "PlayerData") node = node; }*/ if (!isInANewExp && !data.IsLiteCompile) { bool wasFolding = foldIntegerConstants; bool foldFailedBefore = foldingFailed; foldIntegerConstants = true; foldingFailed = false; integerConstant = 0; integerConstantToken = node.GetToken(); CheckValidConstExp(node.GetDimention()); base.CaseAArrayTempType(node); foldIntegerConstants = false; if (!foldingFailed) node.SetIntDim(new TIntegerLiteral(integerConstant.ToString())); foldIntegerConstants = wasFolding; foldingFailed = foldFailedBefore; } else { base.CaseAArrayTempType(node); } }