Revision 46082 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/main/java/org/gvsig/expressionevaluator/impl/DefaultCompiler.java

View differences:

DefaultCompiler.java
568 568
            // Solo estamos dando soporte al especificador de modo "IN".
569 569
            lexer.next();
570 570
            token = lexer.look();
571
            String mode_specifier = "IN";
571 572
            if( token.getType() == Token.IDENTIFIER )  {
572 573
                switch(token.getLiteral().trim().toUpperCase()) {
573 574
                    case "IN":
574 575
                        lexer.next();
576
                        mode_specifier = "IN";
575 577
                        break;
576 578
                    case "OUT":
579
                        lexer.next();
580
                        mode_specifier = "OUT";
581
                        break;
577 582
                    case "INOUT":
578
                        // Invalid mode specifier in host expression
579
                        throw new ExpressionSyntaxException(
580
                            I18N.invalid_mode_specifier_in_host_expression(),
581
                            lexer
582
                        );
583
                        lexer.next();
584
                        mode_specifier = "INOUT";
585
                        break;
583 586
                }
584 587
            }
585 588
            Code op = parse_termino();
586
            return codeBuilder.$eval(op);
589
            return codeBuilder.$HostExpression(op, mode_specifier);
587 590
        }
588 591
        return parse_termino();
589 592
    }

Also available in: Unified diff