Trail:

Changeset 68

Show
Ignore:
Timestamp:
07/16/09 13:50:36 (3 years ago)
Author:
harald
Message:

--

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/out/templates/cs/proxy.vm

    r56 r68  
    4040        } 
    4141 
     42        protected void BeginDispatchCall<T>(string methodName, object async, params object[] args) { 
     43        } 
     44 
    4245#foreach($methodDescriptor in $typeDescriptor.methodDescriptors) 
    4346#if($methodDescriptor.description)              /** 
     
    4649#end 
    4750                public virtual $methodDescriptor.modifier #method($methodDescriptor) { 
    48 #if($methodDescriptor.callbackType.qualifiedTypeName == "void") 
    49                         DispatchCall<object>("${methodDescriptor.methodName}"#foreach($parameterDescriptor in $methodDescriptor.parameterDescriptors), $parameterDescriptor.parameterName#end); 
    50 #elseif($methodDescriptor.qualifiedTypeName == "void") 
     51#if($methodDescriptor.callbackType)#if($methodDescriptor.callbackType.qualifiedTypeName == "void")               
     52                        BeginDispatchCall<object>("${methodDescriptor.methodName}"#foreach($parameterDescriptor in $methodDescriptor.parameterDescriptors), $parameterDescriptor.parameterName#end); 
     53#else 
     54                        BeginDispatchCall<#if($methodDescriptor.callbackType)#type($methodDescriptor.callbackType)#{else}object#end>("${methodDescriptor.methodName}"#foreach($parameterDescriptor in $methodDescriptor.parameterDescriptors), $parameterDescriptor.parameterName#end); 
     55#end#else#if($methodDescriptor.qualifiedTypeName == "void") 
    5156                        DispatchCall<#if($methodDescriptor.callbackType)#type($methodDescriptor.callbackType)#{else}object#end>("${methodDescriptor.methodName}"#foreach($parameterDescriptor in $methodDescriptor.parameterDescriptors), $parameterDescriptor.parameterName#end); 
    5257#else 
    5358                        return DispatchCall<#if($methodDescriptor.callbackType)#type($methodDescriptor.callbackType)#else#type($methodDescriptor)#end>("${methodDescriptor.methodName}"#foreach($parameterDescriptor in $methodDescriptor.parameterDescriptors), $parameterDescriptor.parameterName#end); 
    54 #end 
     59#end#end 
    5560                } 
    5661#end 
  • trunk/src/org/fluffnstuff/asdoclet/generator/AsGenerator.java

    r64 r68  
    126126                if (type instanceof ASClassType) { 
    127127                        addField(classType, Modifier.PRIVATE, fieldType, "_" + propertyName, null, null); 
    128                         beginMethod(classType, Type.EMPTY, modifier, fieldType, "get " + propertyName); 
     128                        beginMethod(classType, Type.EMPTY, modifier, fieldType, "get " + propertyName, false); 
    129129                        method.setOverride(override); 
    130130                        method.addStmt("return _" + propertyName + ";"); 
    131131                } else { 
    132                         beginMethod(classType, Type.EMPTY, modifier, fieldType, "get " + propertyName); 
     132                        beginMethod(classType, Type.EMPTY, modifier, fieldType, "get " + propertyName, false); 
    133133                } 
    134134 
     
    161161                if (type instanceof ASClassType) { 
    162162                        addField(classType, Modifier.PRIVATE, fieldType, "_" + propertyName, null, null); 
    163                         beginMethod(classType, Type.EMPTY, modifier, Type.VOID, "set " + propertyName); 
     163                        beginMethod(classType, Type.EMPTY, modifier, Type.VOID, "set " + propertyName, false); 
    164164                        method.setOverride(override); 
    165165                        method.addParam("value", fieldType.getName()); 
    166166                        method.addStmt("_" + propertyName + "=value;"); 
    167167                } else { 
    168                         beginMethod(classType, Type.EMPTY, modifier, Type.VOID, "set " + propertyName); 
     168                        beginMethod(classType, Type.EMPTY, modifier, Type.VOID, "set " + propertyName, false); 
    169169                        method.addParam("value", fieldType.getName()); 
    170170                } 
     
    198198        } 
    199199 
    200         public void beginMethod(Type classType, Type methodType, int modifier, Type returnType, String methodName) { 
     200        public void beginMethod(Type classType, Type methodType, int modifier, Type returnType, String methodName, boolean asnyc) { 
    201201                returnType = resolveTypeArguments(classType, methodType, returnType); 
    202202 
  • trunk/src/org/fluffnstuff/asdoclet/generator/Generator.java

    r64 r68  
    3030        void beginInterface(Type type); 
    3131 
    32         void beginMethod(Type classType, Type methodType, int modifier, Type returnType, String methodName); 
     32        void beginMethod(Type classType, Type methodType, int modifier, Type returnType, String methodName, boolean async); 
    3333 
    3434        void beginProxy(Type type, Type baseType, Type interfaceType); 
  • trunk/src/org/fluffnstuff/asdoclet/generator/VelocityGenerator.java

    r66 r68  
    1414import org.apache.velocity.VelocityContext; 
    1515import org.apache.velocity.app.Velocity; 
    16 import org.apache.velocity.app.VelocityEngine; 
    1716import org.fluffnstuff.asdoclet.generator.utils.GeneratorUtils; 
    1817import org.fluffnstuff.asdoclet.generator.velocity.ClassDescriptor; 
     
    2524import org.fluffnstuff.asdoclet.generator.velocity.ProxyDescriptor; 
    2625import org.fluffnstuff.asdoclet.generator.velocity.TypeDescriptor; 
    27 import org.fluffnstuff.asdoclet.generator.velocity.SLF4JLogChute; 
    2826import org.fluffnstuff.asdoclet.map.TypeMap; 
    2927 
     
    181179        } 
    182180 
    183         public void beginMethod(Type classType, Type methodType, int modifier, Type returnType, String methodName) { 
    184                 methodDescriptor = new MethodDescriptor(modifier, returnType, methodType, methodName); 
     181        public void beginMethod(Type classType, Type methodType, int modifier, Type returnType, String methodName, boolean async) { 
     182                methodDescriptor = new MethodDescriptor(modifier, returnType, methodType, methodName, async); 
    185183                if (typeDescriptor != null) typeDescriptor.addMethodDescriptor(methodDescriptor); 
    186184                if (proxyTypeDescriptor != null) proxyTypeDescriptor.addMethodDescriptor(methodDescriptor); 
     
    270268 
    271269                if (exception && CSHARP.equals(language)) { 
    272                         beginMethod(type, Type.EMPTY, Modifier.PUBLIC, Type.EMPTY, typeDescriptor.getTypeName()); 
     270                        beginMethod(type, Type.EMPTY, Modifier.PUBLIC, Type.EMPTY, typeDescriptor.getTypeName(), false); 
    273271                        addBody(" : base() {}"); 
    274272                        endMethod(Type.EMPTY); 
    275273 
    276                         beginMethod(type, Type.EMPTY, Modifier.PUBLIC, Type.EMPTY, typeDescriptor.getTypeName()); 
     274                        beginMethod(type, Type.EMPTY, Modifier.PUBLIC, Type.EMPTY, typeDescriptor.getTypeName(), false); 
    277275                        addParameter(type, Type.EMPTY, GeneratorUtils.getType(String.class.getCanonicalName(), this), "message"); 
    278276                        addBody(" : base(message) {}"); 
    279277                        endMethod(Type.EMPTY); 
    280278 
    281                         beginMethod(type, Type.EMPTY, Modifier.PUBLIC, Type.EMPTY, typeDescriptor.getTypeName()); 
     279                        beginMethod(type, Type.EMPTY, Modifier.PUBLIC, Type.EMPTY, typeDescriptor.getTypeName(), false); 
    282280                        addParameter(type, Type.EMPTY, GeneratorUtils.getType(String.class.getCanonicalName(), this), "message"); 
    283281                        addParameter(type, Type.EMPTY, GeneratorUtils.getType(Exception.class.getCanonicalName(), this), "exception"); 
  • trunk/src/org/fluffnstuff/asdoclet/generator/velocity/MethodDescriptor.java

    r56 r68  
    88public class MethodDescriptor extends FieldDescriptor { 
    99        private Collection<ParameterDescriptor> parameterDescriptors = new ArrayList<ParameterDescriptor>(); 
     10        private boolean async; 
    1011        private String body; 
    1112        private Type genericType; 
    1213        private Type callbackType; 
    1314 
    14         public MethodDescriptor(int modifier, Type type, Type genericType, String methodName) { 
     15        public MethodDescriptor(int modifier, Type type, Type genericType, String methodName, boolean async) { 
    1516                super(modifier, type, methodName, null); 
    1617                this.genericType = genericType; 
     18                this.async = async; 
    1719        } 
    1820 
     
    3537        public Collection<ParameterDescriptor> getParameterDescriptors() { 
    3638                return parameterDescriptors; 
     39        } 
     40 
     41        public boolean isAsync() { 
     42                return async; 
    3743        } 
    3844 
  • trunk/src/org/fluffnstuff/asdoclet/handler/InterfaceHandler.java

    r62 r68  
    111111                        } 
    112112 
    113                         getGenerator().beginMethod(classType, methodType, 0, actualReturnType, methodDoc.name()); 
     113                        boolean isasync = asyncType != org.fluffnstuff.asdoclet.generator.Type.EMPTY; 
     114 
     115                        getGenerator().beginMethod(classType, methodType, 0, actualReturnType, methodDoc.name(), isasync); 
     116 
     117                        if (isasync) { 
     118                                getGenerator().addParameter(classType, methodType, asyncType, Constants.PARAM_ASYNC); 
     119                        } 
    114120 
    115121                        for (Parameter parameter : methodDoc.parameters()) { 
    116122                                getGenerator().addParameter(classType, methodType, GeneratorUtils.getType(parameter.type(), getGenerator()), parameter.name()); 
    117                         } 
    118  
    119                         if (asyncType != org.fluffnstuff.asdoclet.generator.Type.EMPTY) { 
    120                                 getGenerator().addParameter(classType, methodType, asyncType, Constants.PARAM_ASYNC); 
    121123                        } 
    122124