public String formatTypeArgs(ATupleTypeIR tupleType) throws AnalysisException { return formatTypeArgs(tupleType.getTypes()); }
private ATupleTypeIR consTupleType(ATuplePatternIR pat) { ATupleTypeIR type = new ATupleTypeIR(); if(pat != null) { for(SPatternIR p : pat.getPatterns()) { type.getTypes().add(consType(p)); } } return type; }
@Override public STypeIR caseAProductType(AProductType node, IRInfo question) throws AnalysisException { ATupleTypeIR tuple = new ATupleTypeIR(); LinkedList<PType> types = node.getTypes(); for (PType type : types) { STypeIR typeCg = type.apply(question.getTypeVisitor(), question); if (typeCg != null) { tuple.getTypes().add(typeCg); } else { return null; } } return tuple; }
/** * Called by the {@link ATupleTypeIR} node from {@link ATupleTypeIR#apply(IAnalysis)}. * @param node the calling {@link ATupleTypeIR} node */ public void caseATupleTypeIR(ATupleTypeIR node) throws AnalysisException { _visitedNodes.add(node); inATupleTypeIR(node); if(node.getNamedInvType() != null && !_visitedNodes.contains(node.getNamedInvType())) { node.getNamedInvType().apply(this); } { List<STypeIR> copy = new ArrayList<STypeIR>(node.getTypes()); for( STypeIR e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this); } } } outATupleTypeIR(node); }
/** * Called by the {@link ATupleTypeIR} node from {@link ATupleTypeIR#apply(IAnalysis)}. * @param node the calling {@link ATupleTypeIR} node */ public void caseATupleTypeIR(ATupleTypeIR node, Q question) throws AnalysisException { _visitedNodes.add(node); inATupleTypeIR(node, question); if(node.getNamedInvType() != null && !_visitedNodes.contains(node.getNamedInvType())) { node.getNamedInvType().apply(this, question); } { List<STypeIR> copy = new ArrayList<STypeIR>(node.getTypes()); for( STypeIR e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this, question); } } } outATupleTypeIR(node, question); }
/** * Called by the {@link ATupleTypeIR} node from {@link ATupleTypeIR#apply(IIsaAnalysis)}. * @param node the calling {@link ATupleTypeIR} node */ public void caseATupleTypeIR(ATupleTypeIR node) throws AnalysisException { _visitedNodes.add(node); inATupleTypeIR(node); if(node.getNamedInvType() != null && !_visitedNodes.contains(node.getNamedInvType())) { node.getNamedInvType().apply(this); } { List<STypeIR> copy = new ArrayList<STypeIR>(node.getTypes()); for( STypeIR e : copy) { if(!_visitedNodes.contains(e)) { e.apply(this); } } } outATupleTypeIR(node); }
/** * Called by the {@link ATupleTypeIR} node from {@link ATupleTypeIR#apply(IAnalysis)}. * @param node the calling {@link ATupleTypeIR} node */ public A caseATupleTypeIR(ATupleTypeIR node) throws AnalysisException { _visitedNodes.add(node); A retVal = createNewReturnValue(node); mergeReturns(retVal,inATupleTypeIR(node)); if(node.getNamedInvType() != null && !_visitedNodes.contains(node.getNamedInvType())) { mergeReturns(retVal,node.getNamedInvType().apply(this)); } { List<STypeIR> copy = new ArrayList<STypeIR>(node.getTypes()); for( STypeIR e : copy) { if(!_visitedNodes.contains(e)) { mergeReturns(retVal,e.apply(this)); } } } mergeReturns(retVal,outATupleTypeIR(node)); return retVal; }
/** * Called by the {@link ATupleTypeIR} node from {@link ATupleTypeIR#apply(IAnalysis)}. * @param node the calling {@link ATupleTypeIR} node */ public A caseATupleTypeIR(ATupleTypeIR node, Q question) throws AnalysisException { _visitedNodes.add(node); A retVal = createNewReturnValue(node, question); mergeReturns(retVal,inATupleTypeIR(node, question)); if(node.getNamedInvType() != null && !_visitedNodes.contains(node.getNamedInvType())) { mergeReturns(retVal,node.getNamedInvType().apply(this, question)); } { List<STypeIR> copy = new ArrayList<STypeIR>(node.getTypes()); for( STypeIR e : copy) { if(!_visitedNodes.contains(e)) { mergeReturns(retVal,e.apply(this, question)); } } } mergeReturns(retVal,outATupleTypeIR(node, question)); return retVal; }
STypeIR fieldType = tupleType.getTypes().get(idx);
for (STypeIR t : ((ATupleTypeIR) type).getTypes())