Examples of VariableReference


Examples of org.jboss.errai.codegen.VariableReference

/**
* @author Mike Brock <cbrock@redhat.com>
*/
public abstract class Refs {
  public static VariableReference get(final String name) {
    return new VariableReference() {
      private MetaClass type;

      @Override
      public String getName() {
        return name;
      }

      @Override
      public Statement getValue() {
        return new Statement() {

          String generatedCache;

          @Override
          public String generate(Context context) {
            if (generatedCache != null) return generatedCache;

            VariableReference var = context.getVariable(name);

            if (var == null) {
              throw new OutOfScopeException("could not access variable: " + name);
            }

            type = var.getType();

            return generatedCache = name;
          }

          @Override
View Full Code Here

Examples of org.jboss.errai.codegen.VariableReference

          buf.append("throw ");
          if (throwableType != null) {
            buf.append(ObjectBuilder.newInstanceOf(throwableType).withParameters(parameters).generate(context));
          }
          else {
            VariableReference exceptionVar = context.getVariable(exceptionVariableName);
            if (!exceptionVar.getType().isAssignableTo(Throwable.class)) {
              throw new InvalidTypeException("Variable " + exceptionVariableName + " is not a Throwable");
            }
            buf.append(exceptionVar.generate(context));
          }
        }
        catch (GenerationException e) {
          blameAndRethrow(e);
        }
View Full Code Here

Examples of org.jboss.errai.codegen.VariableReference

      final Statement[] idx = new Statement[this.indexes.length];
      for (int i = 0; i < idx.length; i++) {
        idx[i] = GenUtil.convert(context, GenUtil.generate(context, this.indexes[i]), MetaClassFactory.get(Integer.class));
      }
 
      final VariableReference ref = context.getVariable(variableName);
 
      if (idx.length > 0) {
        if (!ref.getType().isArray()) {
          throw new InvalidTypeException("attempt to use indexed accessor on non-array type: " + ref);
        }
      }
 
      final Statement stmt = new VariableReference() {
        @Override
        public String getName() {
          return ref.getName();
        }
 
View Full Code Here

Examples of org.jboss.errai.codegen.VariableReference

    }

    final String currCallString = writer.getCallString();
    writer.reset();

    statement = new VariableReference() {

      @Override
      public String getName() {
        return field.getName();
      }
View Full Code Here

Examples of org.jboss.errai.codegen.framework.VariableReference

    final Statement[] idx = new Statement[this.indexes.length];
    for (int i = 0; i < idx.length; i++) {
      idx[i] = GenUtil.convert(context, GenUtil.generate(context, this.indexes[i]), MetaClassFactory.get(Integer.class));
    }

    final VariableReference ref;
    try {
      ref = context.getVariable(variableName);
    } catch (OutOfScopeException e) {
      e.initCause(blame);
      throw e;
    }

    if (idx.length > 0) {
      if (!ref.getType().isArray()) {
        throw new InvalidTypeException("attempt to use indexed accessor on non-array type: " + ref);
      }
    }

    final Statement stmt = new VariableReference() {
      @Override
      public String getName() {
        return ref.getName();
      }
View Full Code Here

Examples of org.jboss.errai.codegen.framework.VariableReference

/**
* @author Mike Brock <cbrock@redhat.com>
*/
public abstract class Refs {
  public static VariableReference get(final String name) {
    return new VariableReference() {
      private MetaClass type;

      @Override
      public String getName() {
        return name;
      }

      @Override
      public Statement getValue() {
        return new Statement() {

          String generatedCache;

          @Override
          public String generate(Context context) {
            if (generatedCache != null) return generatedCache;

            VariableReference var = context.getVariable(name);

            if (var == null) {
              throw new OutOfScopeException("could not access variable: " + name);
            }

            type = var.getType();

            return generatedCache = name;
          }

          @Override
View Full Code Here

Examples of org.jboss.errai.ioc.rebind.ioc.codegen.VariableReference

    }

    final String currCallString = writer.getCallString();
    writer.reset();

    statement = new VariableReference() {

      @Override
      public String getName() {
        return field.getName();
      }
View Full Code Here

Examples of org.jboss.errai.ioc.rebind.ioc.codegen.VariableReference

        buf.append("throw ");
        if (throwableType != null) {
          buf.append(ObjectBuilder.newInstanceOf(throwableType).withParameters(parameters).generate(context));
        }
        else {
          VariableReference exceptionVar = context.getVariable(exceptionVariableName);
          if (!exceptionVar.getType().isAssignableTo(Throwable.class)) {
            throw new InvalidTypeException("Variable " + exceptionVariableName + " is not a Throwable");
          }
          buf.append(exceptionVar.generate(context));
        }
        return buf.toString();
      }
    };
    writer.reset();
View Full Code Here

Examples of org.jboss.errai.ioc.rebind.ioc.codegen.VariableReference

  @Override
  public void handleCall(CallWriter writer, Context context, Statement statement) {
    writer.reset();

    VariableReference ref = (classMember) ? context.getClassMember(variableName) : context.getVariable(variableName);

    Statement[] indexes = new Statement[this.indexes.length];
    for (int i = 0; i < indexes.length; i++) {
      indexes[i] = GenUtil.generate(context, this.indexes[i]);
      indexes[i] = GenUtil.convert(context, indexes[i], MetaClassFactory.get(Integer.class));
    }
    ref.setIndexes(indexes);

    nextOrReturn(writer, context, ref);
  }
View Full Code Here

Examples of org.jboss.errai.ioc.rebind.ioc.codegen.VariableReference

    }

    final String currCallString = writer.getCallString();
    writer.reset();

    statement = new VariableReference() {

      @Override
      public String getName() {
        return field.getName();
      }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.