@Override public Map<CAstNode, Collection<CAstEntity>> getAllScopedEntities() { return base.getAllScopedEntities(); }
@Override public Map<CAstNode, Collection<CAstEntity>> getAllScopedEntities() { return base.getAllScopedEntities(); }
private static CorrelatedPairExtractionPolicy addCorrelations(CAstEntity entity, Map<Position, CorrelationSummary> summaries, CorrelatedPairExtractionPolicy policy) { // add correlations for this entity if(entity.getAST() != null && summaries.containsKey(entity.getPosition())) { CorrelationSummary correlations = summaries.get(entity.getPosition()); for(Correlation corr : correlations.getCorrelations()) policy.addCorrelation(entity, corr, correlations); } // recursively add correlations for scoped entities Map<CAstNode, Collection<CAstEntity>> allScopedEntities = entity.getAllScopedEntities(); for(Collection<CAstEntity> scopedEntities : allScopedEntities.values()) for(CAstEntity scopedEntity : scopedEntities) if(addCorrelations(scopedEntity, summaries, policy) == null) return null; return policy; }
private static CorrelatedPairExtractionPolicy addCorrelations(CAstEntity entity, Map<Position, CorrelationSummary> summaries, CorrelatedPairExtractionPolicy policy) { // add correlations for this entity if(entity.getAST() != null && summaries.containsKey(entity.getPosition())) { CorrelationSummary correlations = summaries.get(entity.getPosition()); for(Correlation corr : correlations.getCorrelations()) policy.addCorrelation(entity, corr, correlations); } // recursively add correlations for scoped entities Map<CAstNode, Collection<CAstEntity>> allScopedEntities = entity.getAllScopedEntities(); for(Collection<CAstEntity> scopedEntities : allScopedEntities.values()) for(CAstEntity scopedEntity : scopedEntities) if(addCorrelations(scopedEntity, summaries, policy) == null) return null; return policy; }
protected void doPrintTo(CAstEntity e, Writer w) { try { w.write(getEntityKindAsString(e.getKind())); w.write(": "); w.write(e.getName()); w.write('\n'); if (e.getArgumentNames().length > 0) { w.write("("); String[] names = e.getArgumentNames(); for (String name : names) { w.write(" " + name); } w.write(" )\n"); } if (e.getAST() != null) { doPrintTo(e.getAST(), e.getSourceMap(), w); w.write('\n'); } for (Collection<CAstEntity> collection : e.getAllScopedEntities().values()) { for (CAstEntity entity : collection) { doPrintTo(entity, w); } } w.flush(); } catch (IOException e1) { System.err.println("unexpected I/O exception " + e1); } } }
protected void doPrintTo(CAstEntity e, Writer w) { try { w.write(getEntityKindAsString(e.getKind())); w.write(": "); w.write(e.getName()); w.write('\n'); if (e.getArgumentNames().length > 0) { w.write("("); String[] names = e.getArgumentNames(); for (String name : names) { w.write(" " + name); } w.write(" )\n"); } if (e.getAST() != null) { doPrintTo(e.getAST(), e.getSourceMap(), w); w.write('\n'); } for (Collection<CAstEntity> collection : e.getAllScopedEntities().values()) { for (CAstEntity entity : collection) { doPrintTo(entity, w); } } w.flush(); } catch (IOException e1) { System.err.println("unexpected I/O exception " + e1); } } }
root.getAllScopedEntities(), root.getArgumentDefaults()); Map<CAstNode, Collection<CAstEntity>> children = root.getAllScopedEntities(); final Map<CAstNode, Collection<CAstEntity>> newChildren = new LinkedHashMap<>(); for (Entry<CAstNode, Collection<CAstEntity>> entry : children.entrySet()) {
root.getAllScopedEntities(), root.getArgumentDefaults()); Map<CAstNode, Collection<CAstEntity>> children = root.getAllScopedEntities(); final Map<CAstNode, Collection<CAstEntity>> newChildren = new LinkedHashMap<>(); for (Entry<CAstNode, Collection<CAstEntity>> entry : children.entrySet()) {
for(Collection<CAstEntity> ces : function.getAllScopedEntities().values()) { for(CAstEntity ce : ces) { collectConstants(ce, values);
private Collection<CAstEntity> dumpScopedEntities(CAstEntity entity, int indent, StringBuilder buf) { ArrayList<CAstEntity> scopedEntities = new ArrayList<>(); Map<CAstEntity, CAstNode> m = HashMapFactory.make(); for(Entry<CAstNode, Collection<CAstEntity>> e : entity.getAllScopedEntities().entrySet()) for(CAstEntity scopedEntity : e.getValue()) { scopedEntities.add(scopedEntity); m.put(scopedEntity, e.getKey()); } Collections.sort(scopedEntities, (o1, o2) -> o1.getName().compareTo(o2.getName())); buf.append(indent(indent)).append("> "); boolean first = true; for(CAstEntity scopedEntity : scopedEntities) { if(first) first = false; else buf.append(", "); buf.append(scopedEntity.getName()).append('@').append(labeller.addNode(m.get(scopedEntity))); } buf.append('\n'); return scopedEntities; }
for(Collection<CAstEntity> ces : function.getAllScopedEntities().values()) { for(CAstEntity ce : ces) { collectConstants(ce, values);
visitor.visitScopedEntities(copy, copy.getAllScopedEntities(), wc, visitor);
visitor.visitScopedEntities(copy, copy.getAllScopedEntities(), wc, visitor);
}.rewrite(ce.getAST(), ce.getControlFlow(), ce.getSourceMap(), ce.getNodeTypeMap(), ce.getAllScopedEntities(), ce.getArgumentDefaults()); return new DelegatingEntity(ce) {
}.rewrite(ce.getAST(), ce.getControlFlow(), ce.getSourceMap(), ce.getNodeTypeMap(), ce.getAllScopedEntities(), ce.getArgumentDefaults()); return new DelegatingEntity(ce) {
final Map<CAstNode, Collection<CAstEntity>> theChildren = HashMapFactory.make(); for(int i=context.getStart();i<context.getEnd();++i) theChildren.putAll(copyChildren(root.getChild(i), nodes, entity.getAllScopedEntities()));
sourceContext.astContext.top().getNodeTypeMap(), sourceContext.astContext.top().getAllScopedEntities(), sourceContext.astContext.top().getArgumentDefaults()); sourceContext.astVisitor.visit(ast.newRoot(), new DelegatingContext(sourceContext.astContext) {
sourceContext.astContext.top().getNodeTypeMap(), sourceContext.astContext.top().getAllScopedEntities(), sourceContext.astContext.top().getArgumentDefaults()); sourceContext.astVisitor.visit(ast.newRoot(), new DelegatingContext(sourceContext.astContext) {
if (visitor.visitFileEntity(n, context, fileContext, visitor)) break; visitor.visitScopedEntities(n, n.getAllScopedEntities(), fileContext, visitor); visitor.leaveFileEntity(n, context, fileContext, visitor); break; if (visitor.visitTypeEntity(n, context, typeContext, visitor)) break; visitor.visitScopedEntities(n, n.getAllScopedEntities(), typeContext, visitor); visitor.leaveTypeEntity(n, context, typeContext, visitor); break;
if (visitor.visitFileEntity(n, context, fileContext, visitor)) break; visitor.visitScopedEntities(n, n.getAllScopedEntities(), fileContext, visitor); visitor.leaveFileEntity(n, context, fileContext, visitor); break; if (visitor.visitTypeEntity(n, context, typeContext, visitor)) break; visitor.visitScopedEntities(n, n.getAllScopedEntities(), typeContext, visitor); visitor.leaveTypeEntity(n, context, typeContext, visitor); break;