Package io.quarkus.gizmo
Class LoopImpl
- java.lang.Object
-
- io.quarkus.gizmo.BytecodeCreatorImpl
-
- io.quarkus.gizmo.LoopImpl
-
- All Implemented Interfaces:
BytecodeCreator,Loop,java.lang.AutoCloseable
- Direct Known Subclasses:
ForEachLoopImpl,WhileLoopImpl
abstract class LoopImpl extends BytecodeCreatorImpl implements Loop
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class io.quarkus.gizmo.BytecodeCreatorImpl
BytecodeCreatorImpl.AssignOperation, BytecodeCreatorImpl.BlockOperation, BytecodeCreatorImpl.IfOperation, BytecodeCreatorImpl.InvokeOperation, BytecodeCreatorImpl.JumpOperation, BytecodeCreatorImpl.NewInstanceOperation, BytecodeCreatorImpl.Operation
-
-
Field Summary
-
Fields inherited from class io.quarkus.gizmo.BytecodeCreatorImpl
MAX_STRING_LENGTH, operations
-
-
Constructor Summary
Constructors Constructor Description LoopImpl(BytecodeCreatorImpl enclosing)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description BytecodeCreatorblock()The block inside the loop.voiddoBreak(BytecodeCreator creator)Writes bytecode into the providedBytecodeCreatorto make it exit the loop, effectively issuing a Java 'break' statement.voiddoContinue(BytecodeCreator creator)Writes bytecode into the providedBytecodeCreatorto make it jump back to the start of the loop, effectively issuing a Java 'continue' statement.protected abstract BranchResultresult()protected voidwriteOperations(org.objectweb.asm.MethodVisitor visitor)-
Methods inherited from class io.quarkus.gizmo.BytecodeCreatorImpl
add, allocateLocalVariables, arrayLength, assign, bitwiseAnd, bitwiseOr, bitwiseXor, breakScope, checkCast, checkScope, checkScope, compareDouble, compareFloat, compareLong, continueScope, convertPrimitive, createFunction, createNewInstanceOp, createScope, createVariable, divide, enumSwitch, findActiveResultHandles, forEach, getBottom, getMethod, getMethodParam, getOwner, getThis, getTop, ifFalse, ifGreaterEqualZero, ifGreaterThanZero, ifIntegerEqual, ifIntegerGreaterEqual, ifIntegerGreaterThan, ifIntegerLessEqual, ifIntegerLessThan, ifLessEqualZero, ifLessThanZero, ifNonZero, ifNotNull, ifNull, ifReferencesEqual, ifReferencesNotEqual, ifThenElse, ifTrue, ifZero, instanceOf, invokeInterfaceMethod, invokeSpecialInterfaceMethod, invokeSpecialMethod, invokeStaticInterfaceMethod, invokeStaticMethod, invokeVirtualMethod, isScopedWithin, jumpTo, load, load, load, load, load, load, load, load, load, loadClass, loadClassFromTCCL, loadNull, loadResultHandle, loadResultHandle, multiply, newArray, newInstance, readArrayValue, readInstanceField, readStaticField, remainder, resolve, resolve, resolve, resolve, returnValue, storeResultHandle, stringSwitch, subtract, throwException, tryBlock, whileLoop, writeArrayValue, writeInstanceField, writeInteriorOperations, writeStaticField
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.quarkus.gizmo.BytecodeCreator
breakScope, checkCast, close, continueScope, createVariable, increment, instanceOf, invokeInterfaceMethod, invokeSpecialInterfaceMethod, invokeSpecialMethod, invokeStaticInterfaceMethod, invokeStaticMethod, invokeVirtualMethod, load, loadClass, loadClass, loadClassFromTCCL, loadClassFromTCCL, marshalAsArray, newArray, newArray, newArray, newInstance, readArrayValue, readInstanceField, readStaticField, returnBoolean, returnInt, returnNull, returnVoid, throwException, throwException, writeArrayValue, writeInstanceField, writeStaticField
-
-
-
-
Constructor Detail
-
LoopImpl
LoopImpl(BytecodeCreatorImpl enclosing)
-
-
Method Detail
-
result
protected abstract BranchResult result()
-
writeOperations
protected void writeOperations(org.objectweb.asm.MethodVisitor visitor)
- Overrides:
writeOperationsin classBytecodeCreatorImpl
-
block
public BytecodeCreator block()
Description copied from interface:LoopThe block inside the loop.
-
doContinue
public void doContinue(BytecodeCreator creator)
Description copied from interface:LoopWrites bytecode into the providedBytecodeCreatorto make it jump back to the start of the loop, effectively issuing a Java 'continue' statement. Generally this will be applied to a branch of an if statement.- Specified by:
doContinuein interfaceLoop- Parameters:
creator- The creator that should return to the start of the loop
-
doBreak
public void doBreak(BytecodeCreator creator)
Description copied from interface:LoopWrites bytecode into the providedBytecodeCreatorto make it exit the loop, effectively issuing a Java 'break' statement. Generally this will be applied to a branch of an if statement.
-
-