Ejemplo n.º 1
0
 public virtual void InADynamicArrayType(ADynamicArrayType node)
 {
     DefaultIn(node);
 }
Ejemplo n.º 2
0
 public virtual void OutADynamicArrayType(ADynamicArrayType node)
 {
     DefaultOut(node);
 }
Ejemplo n.º 3
0
 public virtual void CaseADynamicArrayType(ADynamicArrayType node)
 {
     DefaultCase(node);
 }
Ejemplo n.º 4
0
 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);
 }
Ejemplo n.º 5
0
 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;
 }
Ejemplo n.º 6
0
 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);
 }