Skip to content

Commit

Permalink
[maven-scm] copy for tag 2.0.18-SNAPSHOT-081010-1
Browse files Browse the repository at this point in the history
  • Loading branch information
mbrock committed Aug 10, 2010
1 parent 028aef9 commit b881120
Show file tree
Hide file tree
Showing 9 changed files with 170 additions and 134 deletions.
58 changes: 29 additions & 29 deletions META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -2,61 +2,61 @@ Manifest-Version: 1.0
Export-Package: org.mvel2;uses:="org.mvel2.util,org.mvel2.conversion,o
rg.mvel2.integration.impl,org.mvel2.optimizers.impl.refl.nodes,org.mv
el2.integration,org.mvel2.compiler,org.mvel2.ast,org.mvel2.debug";ver
sion="2.0.19.SNAPSHOT",org.mvel2.asm;version="2.0.19.SNAPSHOT",org.mv
el2.asm.signature;version="2.0.19.SNAPSHOT",org.mvel2.asm.util;uses:=
"org.mvel2.asm,org.mvel2.asm.signature";version="2.0.19.SNAPSHOT",org
sion="2.0.18.SNAPSHOT",org.mvel2.asm;version="2.0.18.SNAPSHOT",org.mv
el2.asm.signature;version="2.0.18.SNAPSHOT",org.mvel2.asm.util;uses:=
"org.mvel2.asm,org.mvel2.asm.signature";version="2.0.18.SNAPSHOT",org
.mvel2.ast;uses:="org.mvel2.integration,org.mvel2.optimizers,org.mvel
2,org.mvel2.debug,org.mvel2.compiler,org.mvel2.util,org.mvel2.math,or
g.mvel2.integration.impl";version="2.0.19.SNAPSHOT",org.mvel2.compile
g.mvel2.integration.impl";version="2.0.18.SNAPSHOT",org.mvel2.compile
r;uses:="org.mvel2.integration,org.mvel2,org.mvel2.util,org.mvel2.ast
,org.mvel2.optimizers,org.mvel2.integration.impl,org.mvel2.optimizers
.impl.refl.nodes";version="2.0.19.SNAPSHOT",org.mvel2.conversion;uses
:="org.mvel2,org.mvel2.util,org.mvel2.compiler";version="2.0.19.SNAPS
.impl.refl.nodes";version="2.0.18.SNAPSHOT",org.mvel2.conversion;uses
:="org.mvel2,org.mvel2.util,org.mvel2.compiler";version="2.0.18.SNAPS
HOT",org.mvel2.debug;uses:="org.mvel2.integration,org.mvel2.util,org.
mvel2.ast,org.mvel2.compiler,org.mvel2";version="2.0.19.SNAPSHOT",org
.mvel2.integration;uses:="org.mvel2.ast";version="2.0.19.SNAPSHOT",or
mvel2.ast,org.mvel2.compiler,org.mvel2";version="2.0.18.SNAPSHOT",org
.mvel2.integration;uses:="org.mvel2.ast";version="2.0.18.SNAPSHOT",or
g.mvel2.integration.impl;uses:="org.mvel2.integration,org.mvel2,org.m
vel2.ast,org.mvel2.util";version="2.0.19.SNAPSHOT",org.mvel2.math;use
s:="org.mvel2,org.mvel2.debug,org.mvel2.util";version="2.0.19.SNAPSHO
vel2.ast,org.mvel2.util";version="2.0.18.SNAPSHOT",org.mvel2.math;use
s:="org.mvel2,org.mvel2.debug,org.mvel2.util";version="2.0.18.SNAPSHO
T",org.mvel2.optimizers;uses:="org.mvel2,org.mvel2.util,org.mvel2.com
piler,org.mvel2.integration,org.mvel2.optimizers.dynamic,org.mvel2.op
timizers.impl.asm,org.mvel2.optimizers.impl.refl";version="2.0.19.SNA
timizers.impl.asm,org.mvel2.optimizers.impl.refl";version="2.0.18.SNA
PSHOT",org.mvel2.optimizers.dynamic;uses:="org.mvel2.compiler,org.mve
l2.util,org.mvel2.integration,org.mvel2.optimizers,org.mvel2,org.mvel
2.optimizers.impl.asm";version="2.0.19.SNAPSHOT",org.mvel2.optimizers
2.optimizers.impl.asm";version="2.0.18.SNAPSHOT",org.mvel2.optimizers
.impl.asm;uses:="org.mvel2.integration,org.mvel2.optimizers.impl.refl
.nodes,org.mvel2.util,org.mvel2.asm,org.mvel2.optimizers,org.mvel2,or
g.mvel2.compiler,org.mvel2.ast";version="2.0.19.SNAPSHOT",org.mvel2.o
ptimizers.impl.refl;uses:="org.mvel2.optimizers.impl.refl.nodes,org.m
vel2.integration,org.mvel2.util,org.mvel2.optimizers.impl.refl.collec
g.mvel2.compiler,org.mvel2.ast";version="2.0.18.SNAPSHOT",org.mvel2.o
ptimizers.impl.refl;uses:="org.mvel2.integration,org.mvel2.optimizers
.impl.refl.nodes,org.mvel2.util,org.mvel2.optimizers.impl.refl.collec
tion,org.mvel2.optimizers,org.mvel2,org.mvel2.compiler,org.mvel2.ast"
;version="2.0.19.SNAPSHOT",org.mvel2.optimizers.impl.refl.collection;
;version="2.0.18.SNAPSHOT",org.mvel2.optimizers.impl.refl.collection;
uses:="org.mvel2.integration,org.mvel2.compiler,org.mvel2,org.mvel2.u
til";version="2.0.19.SNAPSHOT",org.mvel2.optimizers.impl.refl.nodes;u
til";version="2.0.18.SNAPSHOT",org.mvel2.optimizers.impl.refl.nodes;u
ses:="org.mvel2.integration,org.mvel2.compiler,org.mvel2,org.mvel2.ut
il,org.mvel2.ast,org.mvel2.optimizers";version="2.0.19.SNAPSHOT",org.
il,org.mvel2.ast,org.mvel2.optimizers";version="2.0.18.SNAPSHOT",org.
mvel2.sh;uses:="org.mvel2,org.mvel2.templates,org.mvel2.integration.i
mpl,org.mvel2.integration,org.mvel2.util,org.mvel2.sh.command.basic,o
rg.mvel2.sh.command.file";version="2.0.19.SNAPSHOT",org.mvel2.sh.comm
rg.mvel2.sh.command.file";version="2.0.18.SNAPSHOT",org.mvel2.sh.comm
and.basic;uses:="org.mvel2.sh,org.mvel2.sh.text,org.mvel2.util,org.mv
el2";version="2.0.19.SNAPSHOT",org.mvel2.sh.command.file;uses:="org.m
vel2.sh";version="2.0.19.SNAPSHOT",org.mvel2.sh.text;uses:="org.mvel2
.util";version="2.0.19.SNAPSHOT",org.mvel2.templates;uses:="org.mvel2
el2";version="2.0.18.SNAPSHOT",org.mvel2.sh.command.file;uses:="org.m
vel2.sh";version="2.0.18.SNAPSHOT",org.mvel2.sh.text;uses:="org.mvel2
.util";version="2.0.18.SNAPSHOT",org.mvel2.templates;uses:="org.mvel2
.templates.res,org.mvel2.templates.util,org.mvel2,org.mvel2.util,org.
mvel2.integration.impl,org.mvel2.integration,org.mvel2.templates.util
.io";version="2.0.19.SNAPSHOT",org.mvel2.templates.res;uses:="org.mve
.io";version="2.0.18.SNAPSHOT",org.mvel2.templates.res;uses:="org.mve
l2.templates,org.mvel2.integration,org.mvel2.templates.util,org.mvel2
,org.mvel2.util,org.mvel2.integration.impl";version="2.0.19.SNAPSHOT"
,org.mvel2.util,org.mvel2.integration.impl";version="2.0.18.SNAPSHOT"
,org.mvel2.templates.util;uses:="org.mvel2.templates.res,org.mvel2.te
mplates,org.mvel2.util";version="2.0.19.SNAPSHOT",org.mvel2.templates
mplates,org.mvel2.util";version="2.0.18.SNAPSHOT",org.mvel2.templates
.util.io;uses:="org.mvel2.templates.util,org.mvel2.util";version="2.0
.19.SNAPSHOT",org.mvel2.util;uses:="org.mvel2.ast,org.mvel2.integrati
.18.SNAPSHOT",org.mvel2.util;uses:="org.mvel2.ast,org.mvel2.integrati
on,org.mvel2,org.mvel2.compiler,org.mvel2.integration.impl,org.mvel2.
math,sun.misc";version="2.0.19.SNAPSHOT"
Bundle-Version: 2.0.19.SNAPSHOT
math,sun.misc";version="2.0.18.SNAPSHOT"
Bundle-Version: 2.0.18.SNAPSHOT
Tool: Bnd-0.0.357
Bundle-Name: mvel2
Bnd-LastModified: 1274732300418
Bnd-LastModified: 1281457587331
Created-By: 1.6.0_20 (Apple Inc.)
Bundle-ManifestVersion: 2
Bundle-SymbolicName: org.mvel2
Expand Down
6 changes: 5 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<url>http://mvel.codehaus.org/</url>

<scm>
<developerConnection>scm:svn:https://svn.codehaus.org/mvel/tags/2.0.16-SNAPSHOT-011909</developerConnection>
<developerConnection>scm:svn:https://svn.codehaus.org/mvel/tags/2.0.18-SNAPSHOT-081010-1</developerConnection>
</scm>

<pluginRepositories>
Expand Down Expand Up @@ -72,6 +72,10 @@
<name>file.encoding</name>
<value>UTF-8</value>
</property>
<property>
<name>mvel.tests.quick</name>
<value>true</value>
</property>
</systemProperties>
<includes>
<include>**/*Test.java</include>
Expand Down
31 changes: 29 additions & 2 deletions src/main/java/org/mvel2/conversion/ByteCH.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,11 @@
import org.mvel2.ConversionException;
import org.mvel2.ConversionHandler;

import static java.lang.String.valueOf;
import java.util.HashMap;
import java.util.Map;

import static java.lang.String.valueOf;

public class ByteCH implements ConversionHandler {
private static final Map<Class, Converter> CNV =
new HashMap<Class, Converter>();
Expand Down Expand Up @@ -71,11 +72,37 @@ public Object convert(Object o) {
CNV.put(Integer.class,
new Converter() {
public Object convert(Object o) {
return (byte) ((Integer)o).intValue();
return ((Integer) o).byteValue();
}
}
);

CNV.put(Long.class,
new Converter() {
public Object convert(Object o) {
return ((Long) o).byteValue();
}
});

CNV.put(Double.class,
new Converter() {
public Object convert(Object o) {
return ((Double) o).byteValue();
}
});

CNV.put(Float.class,
new Converter() {
public Object convert(Object o) {
return ((Float) o).byteValue();
}
});

CNV.put(Short.class,
new Converter() {
public Object convert(Object o) {
return ((Short) o).byteValue();
}
});
}
}
1 change: 1 addition & 0 deletions src/main/java/org/mvel2/optimizers/AbstractOptimizer.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ public class AbstractOptimizer extends AbstractParser {
protected boolean collection = false;
protected boolean nullSafe = false;
protected Class currType = null;
protected boolean staticAccess = false;


/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,67 +18,51 @@
package org.mvel2.optimizers.impl.asm;

import org.mvel2.*;

import static org.mvel2.DataConversion.canConvert;
import static org.mvel2.DataConversion.convert;
import static org.mvel2.MVEL.eval;
import static org.mvel2.MVEL.isAdvancedDebugging;

import org.mvel2.asm.ClassWriter;
import org.mvel2.asm.Label;
import org.mvel2.asm.MethodVisitor;
import org.mvel2.asm.Opcodes;

import static org.mvel2.asm.Opcodes.*;
import static org.mvel2.asm.Type.*;

import org.mvel2.ast.Function;
import org.mvel2.ast.TypeDescriptor;

import static org.mvel2.ast.TypeDescriptor.getClassReference;

import org.mvel2.ast.WithNode;
import org.mvel2.compiler.*;
import org.mvel2.integration.GlobalListenerFactory;

import static org.mvel2.integration.GlobalListenerFactory.hasGetListeners;
import static org.mvel2.integration.GlobalListenerFactory.notifyGetListeners;

import org.mvel2.integration.PropertyHandler;

import static org.mvel2.integration.PropertyHandlerFactory.*;

import org.mvel2.integration.VariableResolverFactory;
import org.mvel2.optimizers.AbstractOptimizer;
import org.mvel2.optimizers.AccessorOptimizer;
import org.mvel2.optimizers.OptimizationNotSupported;
import org.mvel2.optimizers.impl.refl.nodes.Union;

import static org.mvel2.util.ArrayTools.findFirst;

import org.mvel2.util.*;

import static org.mvel2.util.ParseTools.*;
import static org.mvel2.util.PropertyTools.getFieldOrAccessor;
import static org.mvel2.util.PropertyTools.getFieldOrWriteAccessor;

import java.io.FileWriter;
import java.io.IOException;
import java.lang.reflect.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;

import static java.lang.String.valueOf;
import static java.lang.System.getProperty;
import static java.lang.Thread.currentThread;

import java.lang.reflect.*;

import static java.lang.reflect.Array.getLength;
import static java.lang.reflect.Modifier.FINAL;
import static java.lang.reflect.Modifier.STATIC;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import static org.mvel2.DataConversion.canConvert;
import static org.mvel2.DataConversion.convert;
import static org.mvel2.MVEL.eval;
import static org.mvel2.MVEL.isAdvancedDebugging;
import static org.mvel2.asm.Opcodes.*;
import static org.mvel2.asm.Type.*;
import static org.mvel2.ast.TypeDescriptor.getClassReference;
import static org.mvel2.integration.GlobalListenerFactory.hasGetListeners;
import static org.mvel2.integration.GlobalListenerFactory.notifyGetListeners;
import static org.mvel2.integration.PropertyHandlerFactory.*;
import static org.mvel2.util.ArrayTools.findFirst;
import static org.mvel2.util.ParseTools.*;
import static org.mvel2.util.PropertyTools.getFieldOrAccessor;
import static org.mvel2.util.PropertyTools.getFieldOrWriteAccessor;

/**
* Implementation of the MVEL Just-in-Time (JIT) compiler for Property Accessors using the ASM bytecode
Expand Down Expand Up @@ -291,7 +275,7 @@ public Accessor optimizeSetAccessor(ParserContext pCtx, char[] property, Object
deferFinish = true;
noinit = true;

compileAccessor();
compileAccessor();
ctx = this.val;
}
else {
Expand Down Expand Up @@ -1705,7 +1689,10 @@ else if (returnType != null && returnType.isPrimitive()) {
* If the target object is an instance of java.lang.Class itself then do not
* adjust the Class scope target.
*/
Class<?> cls = currType != null ? currType : (ctx instanceof Class ? (Class<?>) ctx : ctx.getClass());

boolean classTarget = false;
Class<?> cls = currType != null ? currType : ((classTarget = ctx instanceof Class) ? (Class<?>) ctx : ctx.getClass());

currType = null;

Method m;
Expand All @@ -1714,15 +1701,15 @@ else if (returnType != null && returnType.isPrimitive()) {
/**
* Try to find an instance method from the class target.
*/
if ((m = getBestCandidate(argTypes, name, cls, cls.getMethods(), false)) != null) {
if ((m = getBestCandidate(argTypes, name, cls, cls.getMethods(), false, classTarget)) != null) {
parameterTypes = m.getParameterTypes();
}

if (m == null) {
if (m == null && classTarget) {
/**
* If we didn't find anything, maybe we're looking for the actual java.lang.Class methods.
*/
if ((m = getBestCandidate(argTypes, name, cls, cls.getClass().getDeclaredMethods(), false)) != null) {
if ((m = getBestCandidate(argTypes, name, cls, Class.class.getMethods(), false)) != null) {
parameterTypes = m.getParameterTypes();
}
}
Expand Down Expand Up @@ -1953,6 +1940,7 @@ else if (parameterTypes[i] == String.class) {

Object o = m.invoke(ctx, args);


if (hasNullMethodHandler()) {
writeOutNullHandler(m, 1);
if (o == null) o = getNullMethodHandler().getProperty(m.getName(), ctx, variableFactory);
Expand Down
Loading

0 comments on commit b881120

Please sign in to comment.