public virtual void InADynamicArrayType(ADynamicArrayType node) { DefaultIn(node); }
public virtual void OutADynamicArrayType(ADynamicArrayType node) { DefaultOut(node); }
public virtual void CaseADynamicArrayType(ADynamicArrayType node) { DefaultCase(node); }
public override void CaseADynamicArrayType(ADynamicArrayType node) { InADynamicArrayType(node); if (node.GetType() != null) { node.GetType().Apply(this); } if (node.GetToken() != null) { node.GetToken().Apply(this); } OutADynamicArrayType(node); }
private PType LvalueToType(PLvalue lvalue, IList dynamicOpList, TLt genericToken, IList genericTypes) { PType type = LvalueToType(lvalue); if (genericToken != null) { type = new AGenericType(genericToken, type, new ArrayList()); while (genericTypes.Count > 0) { ((AGenericType) type).GetGenericTypes().Add(genericTypes[0]); } } foreach (PShadyDynamicOps op in dynamicOpList) { if (op is APointerShadyDynamicOps) { APointerShadyDynamicOps aop = (APointerShadyDynamicOps) op; type = new APointerType(aop.GetToken(), type); } else if (op is AArrayShadyDynamicOps) { AArrayShadyDynamicOps aop = (AArrayShadyDynamicOps)op; if (aop.GetExp() == null) type = new ADynamicArrayType(aop.GetToken(), type); else type = new AArrayTempType(aop.GetToken(), type, aop.GetExp(), null); } } return type; }
ArrayList New256() { ArrayList nodeList = new ArrayList(); ArrayList nodeArrayList3 = (ArrayList) Pop(); ArrayList nodeArrayList2 = (ArrayList) Pop(); ArrayList nodeArrayList1 = (ArrayList) Pop(); TLBracket tlbracketNode2 = (TLBracket)nodeArrayList2[0]; PType ptypeNode3 = (PType)nodeArrayList1[0]; ADynamicArrayType ptypeNode1 = new ADynamicArrayType ( tlbracketNode2, ptypeNode3 ); nodeList.Add(ptypeNode1); return nodeList; }
public override void OutADynamicArrayType(ADynamicArrayType node) { if (pointeredArrays.Contains(node)) return; pointeredArrays.Add(node); APointerType replacer = new APointerType(new TStar("*"), null); node.ReplaceBy(replacer); replacer.SetType(node); }