Package com.aparapi.internal.writer
Class BlockWriter
- java.lang.Object
-
- com.aparapi.internal.writer.BlockWriter
-
- Direct Known Subclasses:
InstructionHelper.StringWriter
,KernelWriter
public abstract class BlockWriter extends java.lang.Object
Base abstract class for convertingAparapi
IR to text.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
arrayDimMangleSuffix
static java.lang.String
arrayLengthMangleSuffix
int
indent
-
Constructor Summary
Constructors Constructor Description BlockWriter()
-
Method Summary
-
-
-
Field Detail
-
arrayLengthMangleSuffix
public static final java.lang.String arrayLengthMangleSuffix
- See Also:
- Constant Field Values
-
arrayDimMangleSuffix
public static final java.lang.String arrayDimMangleSuffix
- See Also:
- Constant Field Values
-
indent
public int indent
-
-
Method Detail
-
write
public abstract void write(java.lang.String _string)
-
writeln
public void writeln(java.lang.String _string)
-
in
public void in()
-
out
public void out()
-
newLine
public void newLine()
-
writeConditionalBranch16
public void writeConditionalBranch16(InstructionSet.ConditionalBranch16 _branch16, boolean _invert) throws CodeGenException
- Throws:
CodeGenException
-
writeComposite
public void writeComposite(InstructionSet.CompositeInstruction instruction) throws CodeGenException
- Throws:
CodeGenException
-
writeSequence
public void writeSequence(Instruction _first, Instruction _last) throws CodeGenException
- Throws:
CodeGenException
-
writeGetterBlock
protected void writeGetterBlock(ClassModel.ConstantPool.FieldEntry accessorVariableFieldEntry)
-
writeBlock
public void writeBlock(Instruction _first, Instruction _last) throws CodeGenException
- Throws:
CodeGenException
-
writeConditional
public Instruction writeConditional(BranchSet _branchSet) throws CodeGenException
- Throws:
CodeGenException
-
writeConditional
public Instruction writeConditional(BranchSet _branchSet, boolean _invert) throws CodeGenException
- Throws:
CodeGenException
-
write
public void write(BranchSet.LogicalExpressionNode _node) throws CodeGenException
- Throws:
CodeGenException
-
convertType
public java.lang.String convertType(java.lang.String _typeDesc, boolean useClassModel, boolean isLocal)
-
convertCast
public java.lang.String convertCast(java.lang.String _cast)
-
writeInstruction
public void writeInstruction(Instruction _instruction) throws CodeGenException
- Throws:
CodeGenException
-
isNeedParenthesis
private boolean isNeedParenthesis(Instruction instruction)
-
isMultiDimensionalArray
private boolean isMultiDimensionalArray(ClassModel.ConstantPool.NameAndTypeEntry nameAndTypeEntry)
-
isObjectArray
private boolean isObjectArray(ClassModel.ConstantPool.NameAndTypeEntry nameAndTypeEntry)
-
isMultiDimensionalArray
private boolean isMultiDimensionalArray(InstructionSet.AccessArrayElement arrayLoadInstruction)
-
isObjectArray
private boolean isObjectArray(InstructionSet.AccessArrayElement arrayLoadInstruction)
-
getUltimateInstanceFieldAccess
private InstructionSet.AccessField getUltimateInstanceFieldAccess(InstructionSet.AccessArrayElement arrayLoadInstruction)
-
getUltimateInstanceLocalVarAccess
private InstructionSet.AccessLocalVariable getUltimateInstanceLocalVarAccess(InstructionSet.AccessArrayElement arrayLoadInstruction)
-
writeMethod
public void writeMethod(InstructionSet.MethodCall _methodCall, ClassModel.ConstantPool.MethodEntry _methodEntry) throws CodeGenException
- Throws:
CodeGenException
-
writeThisRef
public void writeThisRef()
-
writeMethodBody
public void writeMethodBody(MethodModel _methodModel) throws CodeGenException
- Throws:
CodeGenException
-
write
public abstract void write(Entrypoint entryPoint) throws CodeGenException
- Throws:
CodeGenException
-
-