@Override public void handleStateMachineMatchedToken(final CodeAttribute c) { c.aload(PARSE_STATE_VAR); c.swap(); c.putfield(PARSE_STATE_CLASS, "nextHeader", HTTP_STRING_DESCRIPTOR); }
@Override public void handleStateMachineMatchedToken(final CodeAttribute c) { c.aload(HTTP_RESULT); c.swap(); c.invokevirtual(HTTP_RESPONSE_CLASS, "setProtocol", "(" + HTTP_STRING_DESCRIPTOR + ")V"); }
@Override public void handleStateMachineMatchedToken(final CodeAttribute c) { c.aload(PARSE_STATE_VAR); c.swap(); c.putfield(parseStateClass, "nextHeader", HTTP_STRING_DESCRIPTOR); }
@Override public void handleOtherToken(final CodeAttribute c) { c.aload(PARSE_STATE_VAR); c.swap(); c.putfield(PARSE_STATE_CLASS, "nextHeader", HTTP_STRING_DESCRIPTOR); }
@Override public void handleOtherToken(final CodeAttribute c) { c.aload(HTTP_RESULT); c.swap(); c.invokevirtual(HTTP_RESPONSE_CLASS, "setProtocol", "(" + HTTP_STRING_DESCRIPTOR + ")V"); }
@Override public void handleStateMachineMatchedToken(final CodeAttribute c) { c.aload(HTTP_RESULT); c.swap(); c.invokevirtual(resultClass, "setProtocol", "(" + HTTP_STRING_DESCRIPTOR + ")" + HTTP_EXCHANGE_DESCRIPTOR); c.pop(); }
@Override public void handleOtherToken(final CodeAttribute c) { c.aload(HTTP_RESULT); c.swap(); c.invokevirtual(resultClass, "setProtocol", "(" + HTTP_STRING_DESCRIPTOR + ")"+ HTTP_EXCHANGE_DESCRIPTOR); c.pop(); }
@Override public void handleStateMachineMatchedToken(final CodeAttribute c) { c.aload(HTTP_RESULT); c.swap(); c.invokevirtual(resultClass, "setRequestMethod", "(" + HTTP_STRING_DESCRIPTOR + ")" + HTTP_EXCHANGE_DESCRIPTOR); c.pop(); }
@Override public void handleOtherToken(final CodeAttribute c) { c.aload(PARSE_STATE_VAR); c.swap(); c.dup(); c.invokestatic(CONNECTORS_CLASS, "verifyToken", "(" + HTTP_STRING_DESCRIPTOR + ")V"); c.putfield(parseStateClass, "nextHeader", HTTP_STRING_DESCRIPTOR); }
@Override public void handleOtherToken(final CodeAttribute c) { c.aload(HTTP_RESULT); c.swap(); c.dup(); c.invokestatic(CONNECTORS_CLASS, "verifyToken", "(" + HTTP_STRING_DESCRIPTOR + ")V"); c.invokevirtual(resultClass, "setRequestMethod", "(" + HTTP_STRING_DESCRIPTOR + ")" + HTTP_EXCHANGE_DESCRIPTOR); c.pop(); }
@Override public void updateParseState(final CodeAttribute c) { c.aload(PARSE_STATE_VAR); c.swap(); c.putfield(PARSE_STATE_CLASS, "leftOver", "B"); c.aload(PARSE_STATE_VAR); c.iconst(STATUS_CODE); c.putfield(PARSE_STATE_CLASS, "state", "I"); }
@Override public void updateParseState(final CodeAttribute c) { c.aload(PARSE_STATE_VAR); c.swap(); c.putfield(parseStateClass, "leftOver", "B"); c.aload(PARSE_STATE_VAR); c.iconst(AFTER_VERSION); c.putfield(parseStateClass, "state", "I"); }
c.ldc(currentState.soFar); c.invokevirtual(StringBuilder.class.getName(), "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;"); c.swap(); c.invokevirtual(StringBuilder.class.getName(), "append", "(C)Ljava/lang/StringBuilder;"); c.pop();
c.invokevirtual(String.class.getName(), "substring", "(II)Ljava/lang/String;"); c.invokevirtual(StringBuilder.class.getName(), "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;"); c.swap(); c.swap(); c.invokevirtual(StringBuilder.class.getName(), "append", "(C)Ljava/lang/StringBuilder;"); c.pop(); c.swap(); c.invokespecial(HTTP_STRING_CLASS, "<init>", "(Ljava/lang/String;)V"); stateMachine.handleOtherToken(c);