Пример #1
0
        public static bool IsParameterConst(string form, CodeGen.QualifiableType qualifiable)
        {
            //
            // This replicates some of the logic of the D2D codegen.
            //
            switch (form)
            {
            case "pointer":
            case "pointer opt":
                return(qualifiable is CodeGen.Struct);

            default:
                return(false);
            }
        }
Пример #2
0
        static string GetParameterTypeNameIncludingIndirection(
            CodeGen.Interface.Method.Parameter p,
            Dictionary<string, CodeGen.QualifiableType> typeDictionary)
        {
            CodeGen.QualifiableType qualifiable = null;
            if (typeDictionary.ContainsKey(p.NativeTypeName))
                qualifiable = typeDictionary[p.NativeTypeName];

            string constPart = IsParameterConst(p.Form, qualifiable) ? "CONST " : "";

            string mainPart = GetParameterTypeName_NoKeywordsOrIndirection(p.NativeTypeName, qualifiable);

            string indirection = GetIndirection(p.Form);

            return constPart + mainPart + indirection;
        }
Пример #3
0
 static string GetParameterTypeName_NoKeywordsOrIndirection(string nativeTypeName, CodeGen.QualifiableType qualifiable)
 {
     return(qualifiable == null ? nativeTypeName : qualifiable.NativeName);
 }