Package jetbrains.mps.lang.dataFlow
Class MPSProgramBuilder
- java.lang.Object
 - 
- jetbrains.mps.lang.dataFlow.framework.StructuralProgramBuilder<SNode>
 - 
- jetbrains.mps.lang.dataFlow.MPSProgramBuilder
 
 
 
- 
public class MPSProgramBuilder extends StructuralProgramBuilder<SNode>
XXX likely, we need a factory for MPSProgramBuilder registered as a CoreComponent, so that we can supply proper LanguageRegistry instance in here without need to force clients to care about proper context. 
- 
- 
Nested Class Summary
- 
Nested classes/interfaces inherited from class jetbrains.mps.lang.dataFlow.framework.StructuralProgramBuilder
StructuralProgramBuilder.Position 
 - 
 
- 
Field Summary
- 
Fields inherited from class jetbrains.mps.lang.dataFlow.framework.StructuralProgramBuilder
instructionBuilder, myInvokeLater, myLabels 
 - 
 
- 
Constructor Summary
Constructors Constructor Description MPSProgramBuilder()MPSProgramBuilder(InstructionBuilder builder)MPSProgramBuilder(SRepository repository)MPSProgramBuilder(SRepository repository, InstructionBuilder builder)MPSProgramBuilder(SRepository repository, InstructionBuilder builder, ProgramBuilderContext context) 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected DataFlowBuilderContextcreateContext(SNode node)protected voiddoBuild(SNode node)voidemitMayBeUnreachable(Runnable r)protected voidonInstructionEmitted(Instruction instruction)- 
Methods inherited from class jetbrains.mps.lang.dataFlow.framework.StructuralProgramBuilder
addInstruction, after, before, build, buildProgram, contains, createProgram, emitEndTry, emitEndTry, emitFinally, emitFinally, emitIfJump, emitIfJump, emitIfJump, emitIfJump, emitIfJumpCommon, emitJump, emitJump, emitLabel, emitNop, emitNop, emitNop, emitNop, emitNopCommon, emitNopCommon, emitRead, emitRead, emitRet, emitRet, emitTry, emitTry, emitWrite, emitWrite, emitWrite, emitWrite, getBuilderContext, getInstructionsFor, getProgram, insertAfter, insertBefore, insertInstruction, invokeLater, label, updateLabelsOnInsert 
 - 
 
 - 
 
- 
- 
Constructor Detail
- 
MPSProgramBuilder
public MPSProgramBuilder()
 
- 
MPSProgramBuilder
public MPSProgramBuilder(InstructionBuilder builder)
 
- 
MPSProgramBuilder
public MPSProgramBuilder(SRepository repository)
 
- 
MPSProgramBuilder
public MPSProgramBuilder(SRepository repository, InstructionBuilder builder)
 
- 
MPSProgramBuilder
public MPSProgramBuilder(SRepository repository, InstructionBuilder builder, ProgramBuilderContext context)
 
 - 
 
- 
Method Detail
- 
createContext
protected DataFlowBuilderContext createContext(SNode node)
 
- 
doBuild
protected void doBuild(SNode node)
- Specified by:
 doBuildin classStructuralProgramBuilder<SNode>
 
- 
emitMayBeUnreachable
public void emitMayBeUnreachable(Runnable r)
 
- 
onInstructionEmitted
protected void onInstructionEmitted(Instruction instruction)
- Overrides:
 onInstructionEmittedin classStructuralProgramBuilder<SNode>
 
 - 
 
 -