Beispiel #1
0
        public DartEvent(ICollection <Type> customTypes, EventInfo eventInfo, DartType eventArgs, string package)
        {
            _eventInfo = eventInfo;

            Name      = DartSupport.GetDartMethodName(_eventInfo.Name);
            EventArgs = eventArgs;

            //Params = ParamObj.Members.ToList();

            /*
             * foreach (ParameterInfo paramInfo in _methodInfo.GetParameters())
             * {
             *
             *  string paramName = paramInfo.Name;
             *  DartType paramType = new DartType(customTypes, paramInfo.ParameterType, package);
             *
             *  DartProperty dartProp = new DartProperty(paramName, paramType);
             *
             *  Params.Add(dartProp);
             *
             * }
             */

            Imports = eventArgs.Imports.ToList();
        }
Beispiel #2
0
        public DartMethod(ICollection <Type> customTypes, MethodInfo methodInfo, DartType @return, DartType @param, string package, Func <MethodInfo, string> getMethodId)
        {
            _methodInfo = methodInfo;

            MethodId = getMethodId(methodInfo);

            Name      = DartSupport.GetDartMethodName(_methodInfo.Name);
            ReturnObj = @return;
            ParamObj  = @param;

            // Return type for the method
            ReturnType = new DartReturnType(customTypes, _methodInfo.ReturnType, package);

            //Params = ParamObj.Members.ToList();

            /*
             * foreach (ParameterInfo paramInfo in _methodInfo.GetParameters())
             * {
             *
             *  string paramName = paramInfo.Name;
             *  DartType paramType = new DartType(customTypes, paramInfo.ParameterType, package);
             *
             *  DartProperty dartProp = new DartProperty(paramName, paramType);
             *
             *  Params.Add(dartProp);
             *
             * }
             */

            List <string> imports = new List <string>();

            // Return types of the method
            imports.AddRange(ReturnObj.Members.SelectMany(m => m.Type.Imports));
            // Param types of the method
            imports.AddRange(ParamObj.Members.SelectMany(m => m.Type.Imports));
            // Fake classes that wrap the method
            imports.AddRange(@return.Imports.Concat(@param.Imports));

            // All method imports
            Imports = imports.Distinct().ToList();
        }