use of st.gravel.support.compiler.jvm.JVMType in project gravel by gravel-st.
the class InvokeStatic method effectStack_.
@Override
public JVMInstruction effectStack_(final JVMStack _aJVMStack) {
for (int _temp1 = 0; _temp1 < _signature.arguments().length; _temp1++) {
final JVMType _each = _signature.arguments()[(_signature.arguments().length - _temp1) - 1];
_aJVMStack.popType_(_each);
}
if (!_signature.returnType().isVoidType()) {
_aJVMStack.push_(_signature.returnType());
}
return this;
}
use of st.gravel.support.compiler.jvm.JVMType in project gravel by gravel-st.
the class IfThenElse method effectBooleanTestStack_.
public IfBooleanValueThenElse effectBooleanTestStack_(final JVMStack _aJVMStack) {
final JVMType _commonType;
_commonType = _trueFrame.type().commonSuperTypeWith_(_falseFrame.type());
return IfBooleanValueThenElse.factory.trueFrame_falseFrame_(_trueFrame.withReturnType_(_commonType), _falseFrame.withReturnType_(_commonType));
}
use of st.gravel.support.compiler.jvm.JVMType in project gravel by gravel-st.
the class IfThenElse method effectObjectTestStack_.
public IfBooleanObjectThenElse effectObjectTestStack_(final JVMStack _aJVMStack) {
final JVMType _commonType;
_commonType = _trueFrame.type().commonSuperTypeWith_(_falseFrame.type());
return IfBooleanObjectThenElse.factory.trueFrame_falseFrame_(_trueFrame.withReturnType_(_commonType), _falseFrame.withReturnType_(_commonType));
}
use of st.gravel.support.compiler.jvm.JVMType in project gravel by gravel-st.
the class InvokeInterface method effectStack_.
@Override
public JVMInstruction effectStack_(final JVMStack _aJVMStack) {
for (int _temp1 = 0; _temp1 < _signature.arguments().length; _temp1++) {
final JVMType _each = _signature.arguments()[(_signature.arguments().length - _temp1) - 1];
_aJVMStack.popType_(_each);
}
_aJVMStack.pop();
if (!_signature.returnType().isVoidType()) {
_aJVMStack.push_(_signature.returnType());
}
return this;
}
use of st.gravel.support.compiler.jvm.JVMType in project gravel by gravel-st.
the class InvokeSpecial method effectStack_.
@Override
public JVMInstruction effectStack_(final JVMStack _aJVMStack) {
for (int _temp1 = 0; _temp1 < _signature.arguments().length; _temp1++) {
final JVMType _each = _signature.arguments()[(_signature.arguments().length - _temp1) - 1];
_aJVMStack.popType_(_each);
}
_aJVMStack.pop();
if (!_signature.returnType().isVoidType()) {
_aJVMStack.push_(_signature.returnType());
}
return this;
}
Aggregations