Package st.gravel.support.jvm

Examples of st.gravel.support.jvm.NonLocalReturn


    handleFrom(exception, currentHandler(exception).previous());
  }

  private void pvtHandleResume(Object exception, Object returnValue) {
    Object resumeMarker = resumeMarker(exception);
    throw new NonLocalReturn(returnValue, resumeMarker);
  }
View Full Code Here


    Object result = MethodTools.perform(value, "value");
    return pvtHandleReturn(exception, result);
  }

  private Object pvtHandleReturn(Object exception, Object value) {
    throw new NonLocalReturn(value, currentHandler(exception).marker());
  }
View Full Code Here

    }

    public void handle(Object exception) throws Throwable {
      setCurrentHandler(exception, this);
      Object value = MethodTools.perform(exBlock, "value:", exception);
      throw new NonLocalReturn(value, marker);
    }
View Full Code Here

      this.allNodesDo_(new st.gravel.support.jvm.Block1<Object, Node>() {

        @Override
        public Object value_(final Node _each) {
          if (_aBlock.value_(_each)) {
            throw new NonLocalReturn(true, _temp1);
          }
          return Node.this;
        }
      });
      return false;
View Full Code Here

      this.nodesDo_(new st.gravel.support.jvm.Block1<Object, Node>() {

        @Override
        public Object value_(final Node _each) {
          if (_each.hasReturnStatements()) {
            throw new NonLocalReturn(true, _temp1);
          }
          return Node.this;
        }
      });
      return false;
View Full Code Here

      this.withAllNodesDo_(new st.gravel.support.jvm.Block1<Object, Node>() {

        @Override
        public Object value_(final Node _node) {
          if (_node.referencesSelfOrInstanceType()) {
            throw new NonLocalReturn(true, _temp1);
          }
          return Node.this;
        }
      });
      return false;
View Full Code Here

      this.withAllNodesDo_(new st.gravel.support.jvm.Block1<Object, Node>() {

        @Override
        public Object value_(final Node _node) {
          if (_node.referencesVariable_(_aString)) {
            throw new NonLocalReturn(true, _temp1);
          }
          return Node.this;
        }
      });
      return false;
View Full Code Here

              public SharedDeclarationNode value() {
                return (SharedDeclarationNode) null;
              }
            })));
            if (_shared != null) {
              throw new NonLocalReturn(SystemMapping.this.singletonAtReference_initialize_(_importNS.reference().$slash$(_reference.name()), _shared), _temp1);
            }
            st.gravel.support.jvm.runtime.AlmostFinalValue _temp2 = _singletonHolders.get(_importNS.reference().$slash$(_reference.name()));
            _sh = ((st.gravel.support.jvm.runtime.AlmostFinalValue) _temp2);
            if (_sh != null) {
              throw new NonLocalReturn(_sh, _temp1);
            }
            return SystemMapping.this;
          }
        });
      }
View Full Code Here

    try {
      return this.classMappingAtReference_ifAbsent_(_aReference, ((st.gravel.support.jvm.Block0<AbstractClassMapping>) (new st.gravel.support.jvm.Block0<AbstractClassMapping>() {

        @Override
        public AbstractClassMapping value() {
          throw new NonLocalReturn(_absentBlock.value(), _temp1);
        }
      }))).classNode();
    } catch (NonLocalReturn nlr) {
      if (nlr.marker == _temp1) {
        return (ClassDescriptionNode) nlr.returnValue;
View Full Code Here

      _body.allNodesDo_(new st.gravel.support.jvm.Block1<Object, Node>() {

        @Override
        public Object value_(final Node _node) {
          if (_node.isReturnNode()) {
            throw new NonLocalReturn(true, _temp1);
          }
          return BlockNode.this;
        }
      });
      return false;
View Full Code Here

TOP

Related Classes of st.gravel.support.jvm.NonLocalReturn

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.