@Override public PPatternAssistant createPPatternAssistant() { return new PPatternAssistant(this); }
public LexNameList getVariableNamesBaseCase(PPattern pattern) { Set<ILexNameToken> set = new HashSet<ILexNameToken>(); set.addAll(af.createPPatternAssistant().getAllVariableNames(pattern)); LexNameList list = new LexNameList(); list.addAll(set); return list; }
public LexNameList getVariableNames(PPattern pattern) { return af.createPPatternAssistant().getVariableNamesBaseCase(pattern); }
public static AValueDefinition newAValueDefinition(PPattern p, NameScope scope, PType type, PExp readExpression) { AValueDefinition result = new AValueDefinition(); // Definition initialization initDefinition(result, Pass.VALUES, p.getLocation(), null, scope); result.setPattern(p); result.setType(type); result.setExpression(readExpression); List<PDefinition> defs = new Vector<PDefinition>(); for (ILexNameToken var : af.createPPatternAssistant().getVariableNames(p)) { defs.add(AstFactory.newAUntypedDefinition(result.getLocation(), var, scope)); } result.setDefs(defs); return result; }
@Override public LexNameList caseAConcatenationPattern(AConcatenationPattern pattern) throws AnalysisException { LexNameList list = new LexNameList(); list.addAll(af.createPPatternAssistant().getAllVariableNames(pattern.getLeft())); list.addAll(af.createPPatternAssistant().getAllVariableNames(pattern.getRight())); return list; }
@Override public LexNameList caseAUnionPattern(AUnionPattern pattern) throws AnalysisException { LexNameList list = new LexNameList(); list.addAll(af.createPPatternAssistant().getAllVariableNames(pattern.getLeft())); list.addAll(af.createPPatternAssistant().getAllVariableNames(pattern.getRight())); return list; }
@Override public LexNameList caseARecordPattern(ARecordPattern pattern) throws AnalysisException { LexNameList list = new LexNameList(); for (PPattern p : pattern.getPlist()) { list.addAll(af.createPPatternAssistant().getAllVariableNames(p)); } return list; }
@Override public LexNameList caseASeqPattern(ASeqPattern pattern) throws AnalysisException { LexNameList list = new LexNameList(); for (PPattern p : pattern.getPlist()) { list.addAll(af.createPPatternAssistant().getAllVariableNames(p)); } return list; }
@Override public LexNameList caseASetPattern(ASetPattern pattern) throws AnalysisException { LexNameList list = new LexNameList(); for (PPattern p : pattern.getPlist()) { list.addAll(af.createPPatternAssistant().getAllVariableNames(p)); } return list; }
@Override public LexNameList caseATuplePattern(ATuplePattern pattern) throws AnalysisException { LexNameList list = new LexNameList(); for (PPattern p : pattern.getPlist()) { list.addAll(af.createPPatternAssistant().getAllVariableNames(p)); } return list; }
@Override public LexNameList caseAObjectPattern(AObjectPattern pattern) throws AnalysisException { LexNameList list = new LexNameList(); for (ANamePatternPair npp : pattern.getFields()) { list.addAll(af.createPPatternAssistant().getAllVariableNames(npp.getPattern())); } return list; }