Example #1
0
        private static void AddImports(CodeTypeDeclaration classDef, CodeCompileUnit unit)
        {
            CodeMemberField  field;
            CodeMemberMethod method;

            foreach (CodeTypeMember member in classDef.Members)
            {
                if (member is CodeMemberField)
                {
                    field = (CodeMemberField)member;
                    if (ImportLookup.ContainsKey(field.Type.BaseType) == true)
                    {
                        Builder.AddImport(ImportLookup[field.Type.BaseType], unit);
                    }
                }
                else if (member is CodeMemberMethod)
                {
                    method = (CodeMemberMethod)member;
                    if (ImportLookup.ContainsKey(method.ReturnType.BaseType) == true)
                    {
                        Builder.AddImport(ImportLookup[method.ReturnType.BaseType], unit);
                    }
                    foreach (CodeParameterDeclarationExpression parameter in method.Parameters)
                    {
                        if (ImportLookup.ContainsKey(parameter.Type.BaseType) == true)
                        {
                            Builder.AddImport(ImportLookup[parameter.Type.BaseType], unit);
                        }
                    }
                }
            }
        }