@Override public ContextualStatementBuilder invoke(String methodName, Object... parameters) { appendCallElement(new MethodCall(methodName, parameters)); return this; }
@Override public StatementEnd assignValue(Object statement) { return assignValue(AssignmentOperator.Assignment, statement); }
@Override public ContextualStatementBuilder invoke(MetaMethod method, Object... parameters) { return invoke(method.getName(), parameters); }
@Override public VariableReferenceContextualStatementBuilder loadVariable(final String name, final Object... indexes) { final Matcher m = THIS_PATTERN.matcher(name); if (m.matches()) { return loadClassMember(name.replaceFirst("(this\\.)", ""), indexes); } appendCallElement(new LoadVariable(name, indexes)); return new ContextualStatementBuilderImpl(context, callElementBuilder); }
@Override public ContextualStatementBuilder loadLiteral(final Object o) { appendCallElement(new LoadLiteral(o)); return new ContextualStatementBuilderImpl(context, callElementBuilder); }
@Override public ContextualStatementBuilder nestedCall(final Statement statement) { appendCallElement(new LoadNested(statement)); return new ContextualStatementBuilderImpl(context, callElementBuilder); }
@Override public StatementEnd assignValue(AssignmentOperator operator, Object statement) { appendCallElement(new AssignVariable(operator, statement)); return this; }
@Override public ContextualStatementBuilder invoke(MetaMethod method, Object... parameters) { return invoke(method.getName(), parameters); }
@Override public StatementEnd assignValue(Object statement) { return assignValue(AssignmentOperator.Assignment, statement); }
@Override public VariableReferenceContextualStatementBuilder loadClassMember(final String name, final Object... indexes) { appendCallElement(new LoadVariable(name, true, indexes)); return new ContextualStatementBuilderImpl(context, callElementBuilder); }
@Override public StatementEnd assignValue(AssignmentOperator operator, Object statement) { appendCallElement(new AssignVariable(operator, statement)); return this; }
@Override public VariableReferenceContextualStatementBuilder loadVariable(final String name, final Object... indexes) { final Matcher m = THIS_PATTERN.matcher(name); if (m.matches()) { return loadClassMember(name.replaceFirst("(this\\.)", ""), indexes); } appendCallElement(new LoadVariable(name, indexes)); return new ContextualStatementBuilderImpl(context, callElementBuilder); }
@Override public StatementEnd returnValue() { appendCallElement(new ReturnValue()); return this; }
@Override public ContextualStatementBuilder loadLiteral(final Object o) { appendCallElement(new LoadLiteral(o)); return new ContextualStatementBuilderImpl(context, callElementBuilder); }
@Override public ContextualStatementBuilder invoke(String methodName, Object... parameters) { appendCallElement(new MethodCall(methodName, parameters)); return this; }
@Override public VariableReferenceContextualStatementBuilder loadClassMember(final String name, final Object... indexes) { appendCallElement(new LoadVariable(name, true, indexes)); return new ContextualStatementBuilderImpl(context, callElementBuilder); }
@Override public VariableReferenceContextualStatementBuilder loadField(String fieldName) { appendCallElement(new LoadField(fieldName)); return this; }
@Override public ContextualStatementBuilder loadClassReference(final Object o) { final MetaClass c; if (o instanceof MetaClass) { c = (MetaClass) o; } else if (o instanceof Class) { c = MetaClassFactory.get((Class) o); } else { throw new RuntimeException("unknown class reference type: " + (o == null ? "null" : o.getClass().getName())); } appendCallElement(new LoadClassReference(c)); return new ContextualStatementBuilderImpl(context, callElementBuilder); }
@Override public VariableReferenceContextualStatementBuilder loadField(String fieldName) { appendCallElement(new LoadField(fieldName)); return this; }
@Override public ContextualStatementBuilder loadClassReference(final Object o) { final MetaClass c; if (o instanceof MetaClass) { c = (MetaClass) o; } else if (o instanceof Class) { c = MetaClassFactory.get((Class) o); } else { throw new RuntimeException("unknown class reference type: " + (o == null ? "null" : o.getClass().getName())); } appendCallElement(new LoadClassReference(c)); return new ContextualStatementBuilderImpl(context, callElementBuilder); }