Rename class

This commit is contained in:
Andrey Breslav
2013-11-29 15:22:07 +04:00
parent 47ea25dbc2
commit 0a3557d331
10 changed files with 36 additions and 37 deletions
@@ -23,7 +23,7 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.JetNodeTypes;
import org.jetbrains.jet.lang.cfg.pseudocode.JetControlFlowInstructionsGenerator;
import org.jetbrains.jet.lang.cfg.pseudocode.LocalDeclarationInstruction;
import org.jetbrains.jet.lang.cfg.pseudocode.LocalFunctionDeclarationInstruction;
import org.jetbrains.jet.lang.cfg.pseudocode.Pseudocode;
import org.jetbrains.jet.lang.cfg.pseudocode.PseudocodeImpl;
import org.jetbrains.jet.lang.psi.*;
@@ -56,8 +56,8 @@ public class JetControlFlowProcessor {
public Pseudocode generatePseudocode(@NotNull JetElement subroutine) {
Pseudocode pseudocode = generate(subroutine);
((PseudocodeImpl) pseudocode).postProcess();
for (LocalDeclarationInstruction localDeclarationInstruction : pseudocode.getLocalDeclarations()) {
((PseudocodeImpl)localDeclarationInstruction.getBody()).postProcess();
for (LocalFunctionDeclarationInstruction localFunctionDeclarationInstruction : pseudocode.getLocalDeclarations()) {
((PseudocodeImpl) localFunctionDeclarationInstruction.getBody()).postProcess();
}
return pseudocode;
}
@@ -225,7 +225,7 @@ public class JetFlowInformationProvider {
Pseudocode pseudocode = pseudocodeVariablesData.getPseudocode();
Map<Instruction, Edges<Map<VariableDescriptor,VariableInitState>>> initializers = pseudocodeVariablesData.getVariableInitializers();
recordInitializedVariables(pseudocode, initializers);
for (LocalDeclarationInstruction instruction : pseudocode.getLocalDeclarations()) {
for (LocalFunctionDeclarationInstruction instruction : pseudocode.getLocalDeclarations()) {
recordInitializedVariables(instruction.getBody(), initializers);
}
}
@@ -68,7 +68,7 @@ public class PseudocodeTraverser {
}
private static boolean shouldLookInside(Instruction instruction, LookInsideStrategy lookInside) {
return lookInside == LookInsideStrategy.ANALYSE_LOCAL_DECLARATIONS && instruction instanceof LocalDeclarationInstruction;
return lookInside == LookInsideStrategy.ANALYSE_LOCAL_DECLARATIONS && instruction instanceof LocalFunctionDeclarationInstruction;
}
public static <D> Map<Instruction, Edges<D>> collectData(
@@ -99,7 +99,7 @@ public class PseudocodeTraverser {
for (Instruction instruction : instructions) {
edgesMap.put(instruction, initialEdge);
if (shouldLookInside(instruction, lookInside)) {
initializeEdgesMap(((LocalDeclarationInstruction) instruction).getBody(), lookInside, edgesMap, initialDataValue);
initializeEdgesMap(((LocalFunctionDeclarationInstruction) instruction).getBody(), lookInside, edgesMap, initialDataValue);
}
}
}
@@ -131,7 +131,7 @@ public class PseudocodeTraverser {
}
if (shouldLookInside(instruction, lookInside)) {
Pseudocode subroutinePseudocode = ((LocalDeclarationInstruction) instruction).getBody();
Pseudocode subroutinePseudocode = ((LocalFunctionDeclarationInstruction) instruction).getBody();
collectDataFromSubgraph(subroutinePseudocode, traversalOrder, lookInside, edgesMap, instructionDataMergeStrategy,
previousInstructions,
changed, true);
@@ -168,8 +168,8 @@ public class PseudocodeTraverser {
List<Instruction> instructions = getInstructions(pseudocode, traversalOrder);
for (Instruction instruction : instructions) {
if (instruction instanceof LocalDeclarationInstruction) {
traverse(((LocalDeclarationInstruction) instruction).getBody(), traversalOrder, instructionAnalyzeStrategy);
if (instruction instanceof LocalFunctionDeclarationInstruction) {
traverse(((LocalFunctionDeclarationInstruction) instruction).getBody(), traversalOrder, instructionAnalyzeStrategy);
}
instructionAnalyzeStrategy.execute(instruction);
}
@@ -182,8 +182,8 @@ public class PseudocodeTraverser {
List<Instruction> instructions = getInstructions(pseudocode, traversalOrder);
for (Instruction instruction : instructions) {
if (instruction instanceof LocalDeclarationInstruction) {
traverse(((LocalDeclarationInstruction) instruction).getBody(), traversalOrder, edgesMap,
if (instruction instanceof LocalFunctionDeclarationInstruction) {
traverse(((LocalFunctionDeclarationInstruction) instruction).getBody(), traversalOrder, edgesMap,
instructionDataAnalyzeStrategy);
}
Edges<D> edges = edgesMap.get(instruction);
@@ -86,8 +86,8 @@ public class PseudocodeVariablesData {
Set<VariableDescriptor> declaredVariables = Sets.newHashSet();
declaredVariables.addAll(getUpperLevelDeclaredVariables(pseudocode));
for (LocalDeclarationInstruction localDeclarationInstruction : pseudocode.getLocalDeclarations()) {
Pseudocode localPseudocode = localDeclarationInstruction.getBody();
for (LocalFunctionDeclarationInstruction localFunctionDeclarationInstruction : pseudocode.getLocalDeclarations()) {
Pseudocode localPseudocode = localFunctionDeclarationInstruction.getBody();
declaredVariables.addAll(getUpperLevelDeclaredVariables(localPseudocode));
}
return declaredVariables;
@@ -154,8 +154,8 @@ public class PseudocodeVariablesData {
});
for (LocalDeclarationInstruction localDeclarationInstruction : pseudocode.getLocalDeclarations()) {
Pseudocode localPseudocode = localDeclarationInstruction.getBody();
for (LocalFunctionDeclarationInstruction localFunctionDeclarationInstruction : pseudocode.getLocalDeclarations()) {
Pseudocode localPseudocode = localFunctionDeclarationInstruction.getBody();
Map<Instruction, Edges<Map<VariableDescriptor, VariableInitState>>> initializersForLocalDeclaration = getVariableInitializers(localPseudocode);
for (Instruction instruction : initializersForLocalDeclaration.keySet()) {
@@ -21,7 +21,7 @@ public class InstructionVisitor {
visitInstructionWithNext(instruction);
}
public void visitLocalDeclarationInstruction(LocalDeclarationInstruction instruction) {
public void visitLocalFunctionDeclarationInstruction(LocalFunctionDeclarationInstruction instruction) {
visitInstructionWithNext(instruction);
}
@@ -74,7 +74,7 @@ public class JetControlFlowInstructionsGenerator extends JetControlFlowBuilderAd
JetControlFlowInstructionsGeneratorWorker worker = popBuilder(subroutine);
if (!builders.empty()) {
JetControlFlowInstructionsGeneratorWorker builder = builders.peek();
LocalDeclarationInstruction instruction = new LocalDeclarationInstruction(subroutine, worker.getPseudocode());
LocalFunctionDeclarationInstruction instruction = new LocalFunctionDeclarationInstruction(subroutine, worker.getPseudocode());
builder.add(instruction);
}
return worker.getPseudocode();
@@ -18,18 +18,17 @@ package org.jetbrains.jet.lang.cfg.pseudocode;
import com.google.common.collect.Lists;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.psi.JetDeclaration;
import org.jetbrains.jet.lang.psi.JetElement;
import java.util.ArrayList;
import java.util.Collection;
public class LocalDeclarationInstruction extends InstructionWithNext {
public class LocalFunctionDeclarationInstruction extends InstructionWithNext {
private final Pseudocode body;
private Instruction sink;
public LocalDeclarationInstruction(@NotNull JetElement element, Pseudocode body) {
public LocalFunctionDeclarationInstruction(@NotNull JetElement element, Pseudocode body) {
super(element);
this.body = body;
}
@@ -55,7 +54,7 @@ public class LocalDeclarationInstruction extends InstructionWithNext {
@Override
public void accept(InstructionVisitor visitor) {
visitor.visitLocalDeclarationInstruction(this);
visitor.visitLocalFunctionDeclarationInstruction(this);
}
@Override
@@ -65,6 +64,6 @@ public class LocalDeclarationInstruction extends InstructionWithNext {
@Override
protected Instruction createCopy() {
return new LocalDeclarationInstruction((JetDeclaration) element, body);
return new LocalFunctionDeclarationInstruction(element, body);
}
}
@@ -27,7 +27,7 @@ public interface Pseudocode {
JetElement getCorrespondingElement();
@NotNull
Set<LocalDeclarationInstruction> getLocalDeclarations();
Set<LocalFunctionDeclarationInstruction> getLocalDeclarations();
@NotNull
List<Instruction> getInstructions();
@@ -74,7 +74,7 @@ public class PseudocodeImpl implements Pseudocode {
private final List<Instruction> mutableInstructionList = new ArrayList<Instruction>();
private final List<Instruction> instructions = new ArrayList<Instruction>();
private Set<LocalDeclarationInstruction> localDeclarations = null;
private Set<LocalFunctionDeclarationInstruction> localDeclarations = null;
//todo getters
private final Map<JetElement, Instruction> representativeInstructions = new HashMap<JetElement, Instruction>();
private final Map<JetExpression, LoopInfo> loopInfo = Maps.newHashMap();
@@ -99,7 +99,7 @@ public class PseudocodeImpl implements Pseudocode {
@NotNull
@Override
public Set<LocalDeclarationInstruction> getLocalDeclarations() {
public Set<LocalFunctionDeclarationInstruction> getLocalDeclarations() {
if (localDeclarations == null) {
localDeclarations = getLocalDeclarations(this);
}
@@ -107,12 +107,12 @@ public class PseudocodeImpl implements Pseudocode {
}
@NotNull
private static Set<LocalDeclarationInstruction> getLocalDeclarations(@NotNull Pseudocode pseudocode) {
Set<LocalDeclarationInstruction> localDeclarations = Sets.newLinkedHashSet();
private static Set<LocalFunctionDeclarationInstruction> getLocalDeclarations(@NotNull Pseudocode pseudocode) {
Set<LocalFunctionDeclarationInstruction> localDeclarations = Sets.newLinkedHashSet();
for (Instruction instruction : pseudocode.getInstructions()) {
if (instruction instanceof LocalDeclarationInstruction) {
localDeclarations.add((LocalDeclarationInstruction) instruction);
localDeclarations.addAll(getLocalDeclarations(((LocalDeclarationInstruction)instruction).getBody()));
if (instruction instanceof LocalFunctionDeclarationInstruction) {
localDeclarations.add((LocalFunctionDeclarationInstruction) instruction);
localDeclarations.addAll(getLocalDeclarations(((LocalFunctionDeclarationInstruction)instruction).getBody()));
}
}
return localDeclarations;
@@ -287,7 +287,7 @@ public class PseudocodeImpl implements Pseudocode {
}
@Override
public void visitLocalDeclarationInstruction(LocalDeclarationInstruction instruction) {
public void visitLocalFunctionDeclarationInstruction(LocalFunctionDeclarationInstruction instruction) {
((PseudocodeImpl)instruction.getBody()).postProcess();
instruction.setNext(getSinkInstruction());
}
@@ -55,7 +55,7 @@ public abstract class AbstractControlFlowTest extends KotlinTestWithEnvironment
for (JetDeclaration declaration : declarations) {
Pseudocode pseudocode = PseudocodeUtil.generatePseudocode(declaration, bindingContext);
data.put(declaration, pseudocode);
for (LocalDeclarationInstruction instruction : pseudocode.getLocalDeclarations()) {
for (LocalFunctionDeclarationInstruction instruction : pseudocode.getLocalDeclarations()) {
Pseudocode localPseudocode = instruction.getBody();
data.put(localPseudocode.getCorrespondingElement(), localPseudocode);
}
@@ -228,9 +228,9 @@ public abstract class AbstractControlFlowTest extends KotlinTestWithEnvironment
}
for (int i = 0, instructionsSize = instructions.size(); i < instructionsSize; i++) {
Instruction instruction = instructions.get(i);
if (instruction instanceof LocalDeclarationInstruction) {
LocalDeclarationInstruction localDeclarationInstruction = (LocalDeclarationInstruction) instruction;
locals.add((PseudocodeImpl) localDeclarationInstruction.getBody());
if (instruction instanceof LocalFunctionDeclarationInstruction) {
LocalFunctionDeclarationInstruction localFunctionDeclarationInstruction = (LocalFunctionDeclarationInstruction) instruction;
locals.add((PseudocodeImpl) localFunctionDeclarationInstruction.getBody());
}
for (PseudocodeImpl.PseudocodeLabel label: labels) {
if (label.getTargetInstructionIndex() == i) {
@@ -251,7 +251,7 @@ public abstract class AbstractControlFlowTest extends KotlinTestWithEnvironment
for (Instruction fromInst : instructions) {
fromInst.accept(new InstructionVisitor() {
@Override
public void visitLocalDeclarationInstruction(LocalDeclarationInstruction instruction) {
public void visitLocalFunctionDeclarationInstruction(LocalFunctionDeclarationInstruction instruction) {
int index = count[0];
// instruction.getBody().dumpSubgraph(out, "subgraph cluster_" + index, count, "color=blue;\nlabel = \"f" + index + "\";", nodeToName);
printEdge(out, nodeToName.get(instruction), nodeToName.get(((PseudocodeImpl)instruction.getBody()).getAllInstructions().get(0)), null);
@@ -336,7 +336,7 @@ public abstract class AbstractControlFlowTest extends KotlinTestWithEnvironment
else if (node instanceof UnsupportedElementInstruction) {
shape = "box, fillcolor=red, style=filled";
}
else if (node instanceof LocalDeclarationInstruction) {
else if (node instanceof LocalFunctionDeclarationInstruction) {
shape = "Mcircle";
}
else if (node instanceof SubroutineEnterInstruction || node instanceof SubroutineExitInstruction) {