private bool TryGetRemappedHandleDecl(Type type, out TypedefType decl) { decl = null; return(type is PointerType pt && pt.Pointee is TypedefType tdt && RedefinedHandleDeclarations.TryGetValue(tdt.Declaration.Name, out decl)); }
public override bool VisitTypedefDecl(TypedefDecl typedef) { if (typedef.IsOpaquHandleTypeDef( )) { var ptrType = new PointerType(typedef.QualifiedType); typedef.QualifiedType = new QualifiedType(ptrType); RedefinedHandleDeclarations.Add(typedef.Name, new TypedefType(typedef)); return(true); } return(base.VisitTypedefDecl(typedef)); }
public override bool VisitTypedefDecl(TypedefDecl typedef) { if (typedef.IsOpaquHandleTypeDef( )) { var ptrType = new PointerType(typedef.QualifiedType); typedef.QualifiedType = new QualifiedType(ptrType); Diagnostics.Debug("NOTE: Bad form 'REF' declaration for {0} found in LLVM source at {1}@{2}", typedef.Name, typedef.TranslationUnit.FileName, typedef.LineNumberStart); RedefinedHandleDeclarations.Add(typedef.Name, new TypedefType(typedef)); return(true); } return(base.VisitTypedefDecl(typedef)); }