cxx-frontend
    Preparing search index...

    Interface EmitterDelegate

    interface EmitterDelegate {
        debug?: DebugEmitterDelegate;
        activateConditionalCleanup(
            address: number,
            entry: number,
            region: number,
        ): number;
        addBlockParameter(block: number, type: number, loc: number): number;
        addressOfSymbol(loc: number, resultType: number, symbol: string): number;
        allocate(
            loc: number,
            pointerType: number,
            size: number,
            alignment: number,
        ): number;
        arrayType(elementType: number, size: number): number;
        beginCleanupRegion(): number;
        beginFunctionBody(function_: number): void;
        beginGlobalInitializer(global: number): void;
        beginModule(info: ModuleInfo): number;
        binaryOp(loc: number, op: BinaryOp, lhs: number, rhs: number): number;
        blockParameter(block: number, index: number): number;
        blockParameterCount(block: number): number;
        branch(loc: number, target: number, operands: readonly number[]): void;
        branchWithCleanups(
            loc: number,
            target: CleanupTarget,
            cleanups: readonly CleanupAction[],
        ): void;
        call(loc: number, info: CallInfo): number[];
        compareFloat(
            loc: number,
            predicate: FloatPredicate,
            lhs: number,
            rhs: number,
        ): number;
        compareInt(
            loc: number,
            predicate: IntPredicate,
            lhs: number,
            rhs: number,
        ): number;
        condBranch(
            loc: number,
            condition: number,
            trueDest: number,
            falseDest: number,
        ): void;
        constant(loc: number, type: number, value: Initializer): number;
        convert(loc: number, kind: CastKind, value: number, type: number): number;
        createBlock(function_: number): number;
        declareClassType(name: string): number;
        declareFunction(loc: number, info: FunctionInfo): number;
        declareGlobal(loc: number, info: GlobalInfo): number;
        defineClassType(
            classType: number,
            members: readonly number[],
            isPacked: boolean,
        ): void;
        defineLabel(loc: number, name: string, cleanupDepth: number): void;
        defineVTable(loc: number, info: VTableInfo): void;
        elementType(type: number): number;
        endCleanupRegion(region: number): void;
        endFunctionBody(function_: number): void;
        endModule(): void;
        eraseBlock(block: number): void;
        extractValue(
            loc: number,
            resultType: number,
            container: number,
            position: number,
        ): number;
        findFunction(name: string): number;
        findGlobal(name: string): number;
        floatingType(kind: FloatKind): number;
        functionHasBody(function_: number): boolean;
        functionParameterTypes(function_: number): number[];
        functionResultTypes(function_: number): number[];
        functionType(
            parameters: readonly number[],
            results: readonly number[],
            isVariadic: boolean,
        ): number;
        globalConstructor(loc: number, function_: number): void;
        globalLinkage(global: number): Linkage;
        hasTerminator(block: number): boolean;
        indirectGoto(loc: number, target: number): void;
        insertionBlock(): number;
        insertValue(
            loc: number,
            resultType: number,
            container: number,
            value: number,
            position: number,
        ): number;
        integerType(bits: number): number;
        isZeroConstant(value: number): boolean;
        labelAddress(
            loc: number,
            type: number,
            name: string,
            function_: number,
        ): number;
        load(
            loc: number,
            valueType: number,
            address: number,
            access: Access,
        ): number;
        memberAddress(
            loc: number,
            pointerType: number,
            base: number,
            index: number,
        ): number;
        memcpy(
            loc: number,
            destination: number,
            source: number,
            size: number,
        ): void;
        memsetZero(loc: number, address: number, size: number): void;
        pointerAdd(
            loc: number,
            pointerType: number,
            base: number,
            offset: number,
        ): number;
        pointerDiff(
            loc: number,
            resultType: number,
            lhs: number,
            rhs: number,
        ): number;
        pointerType(elementType: number): number;
        resolveFunctionControlFlow(function_: number): void;
        restoreInsertionPoint(point: number): void;
        ret(loc: number, values: readonly number[]): void;
        saveInsertionPoint(): number;
        scalarWidth(type: number): number;
        select(
            loc: number,
            condition: number,
            ifTrue: number,
            ifFalse: number,
        ): number;
        setFunctionAliasee(function_: number, aliasee: string): void;
        setInsertionPoint(point: InsertionPoint): void;
        store(loc: number, value: number, address: number, access: Access): void;
        subscript(
            loc: number,
            pointerType: number,
            base: number,
            index: number,
        ): number;
        switchBranch(
            loc: number,
            flag: number,
            defaultDest: number,
            caseValues: readonly bigint[],
            caseDestinations: readonly number[],
        ): void;
        symbolExists(name: string): boolean;
        todo(loc: number, kind: TodoKind, message: string): number;
        typeKind(type: number): TypeKind;
        typeOf(value: number): number;
        unaryOp(
            loc: number,
            op: "NegateFloat",
            type: number,
            value: number,
        ): number;
        unreachable(loc: number): void;
        unresolvedType(): number;
        vectorSplat(loc: number, vectorType: number, scalar: number): number;
        vectorType(elementType: number, elementCount: number): number;
        voidType(): number;
    }

    Implemented by

    Index
    • Parameters

      • address: number
      • entry: number
      • region: number

      Returns number

    • Parameters

      • loc: number
      • pointerType: number
      • size: number
      • alignment: number

      Returns number

    • Parameters

      • loc: number
      • target: number
      • operands: readonly number[]

      Returns void

    • Parameters

      • loc: number
      • condition: number
      • trueDest: number
      • falseDest: number

      Returns void

    • Parameters

      • classType: number
      • members: readonly number[]
      • isPacked: boolean

      Returns void

    • Parameters

      • loc: number
      • resultType: number
      • container: number
      • position: number

      Returns number

    • Parameters

      • parameters: readonly number[]
      • results: readonly number[]
      • isVariadic: boolean

      Returns number

    • Parameters

      • loc: number
      • resultType: number
      • container: number
      • value: number
      • position: number

      Returns number

    • Parameters

      • loc: number
      • type: number
      • name: string
      • function_: number

      Returns number

    • Parameters

      • loc: number
      • pointerType: number
      • base: number
      • index: number

      Returns number

    • Parameters

      • loc: number
      • destination: number
      • source: number
      • size: number

      Returns void

    • Parameters

      • loc: number
      • pointerType: number
      • base: number
      • offset: number

      Returns number

    • Parameters

      • loc: number
      • resultType: number
      • lhs: number
      • rhs: number

      Returns number

    • Parameters

      • loc: number
      • condition: number
      • ifTrue: number
      • ifFalse: number

      Returns number

    • Parameters

      • loc: number
      • pointerType: number
      • base: number
      • index: number

      Returns number

    • Parameters

      • loc: number
      • flag: number
      • defaultDest: number
      • caseValues: readonly bigint[]
      • caseDestinations: readonly number[]

      Returns void

    • Parameters

      • loc: number
      • op: "NegateFloat"
      • type: number
      • value: number

      Returns number