@eagleoutice/flowr - v2.17.4
    Preparing search index...
    DfEdge: {
        doesNotIncludeType(
            this: void,
            __namedParameters: DfEdgeLike,
            any: EdgeType,
        ): boolean;
        hasAnyType(this: void, __namedParameters: DfEdgeLike): boolean;
        hasNoType(this: void, __namedParameters: DfEdgeLike): boolean;
        includesType(
            this: void,
            __namedParameters: DfEdgeLike,
            typesToInclude: EdgeType,
        ): boolean;
        isOnlyControlFlow(this: void, __namedParameters: DfEdgeLike): boolean;
        isOnlyType(
            this: void,
            __namedParameters: DfEdgeLike,
            only: EdgeType,
        ): boolean;
        name: "DfEdge";
        splitTypes(this: void, __namedParameters: DfEdgeLike): EdgeType[];
        typesToNames(this: void, __namedParameters: DfEdgeLike): Set<EdgeTypeName>;
        typeToName(this: void, type: EdgeType): string;
        without(this: void, __namedParameters: DfEdgeLike, drop: number): DfEdge;
    }

    Helper Functions to work with DfEdge and EdgeType.

    Type Declaration

    • doesNotIncludeType: function
      • Check if the given-edge type does not include the given type. As types are bitmasks, you can combine multiple types with a bitwise OR (|). Counterpart of DfEdge#includesType.

        Parameters

        • this: void
        • __namedParameters: DfEdgeLike
        • any: EdgeType

        Returns boolean

    • hasAnyType: function
      • Whether the edge carries any type at all. Counterpart of DfEdge#hasNoType.

        Parameters

        • this: void
        • __namedParameters: DfEdgeLike

        Returns boolean

        DfEdge.hasAnyType({ types: EdgeType.Reads }) // true
        DfEdge.hasAnyType({ types: 0 }) // false
    • hasNoType: function
      • Whether the edge carries no type at all. Such an edge states nothing and has to be removed, not kept. Counterpart of DfEdge#hasAnyType.

        Parameters

        • this: void
        • __namedParameters: DfEdgeLike

        Returns boolean

    • includesType: function
      • Check if the given-edge type has any of the given types. As types are bitmasks, you can combine multiple types with a bitwise OR (|).

        Parameters

        • this: void
        • __namedParameters: DfEdgeLike
        • typesToInclude: EdgeType

        Returns boolean

        edgeIncludesType({ types: EdgeType.Reads }, EdgeType.Reads | EdgeType.DefinedBy) // true
        

        Counterpart of DfEdge#doesNotIncludeType.

    • isOnlyControlFlow: function
      • Whether the edge carries nothing but control flow, i.e. it exists only because the ControlFlowGraph is a view on the dataflow graph.

        Parameters

        • this: void
        • __namedParameters: DfEdgeLike

        Returns boolean

    • isOnlyType: function
      • Check whether the edge carries the given types and nothing else. Strict counterpart of DfEdge#includesType, which already holds if one of the bits is set.

        Parameters

        • this: void
        • __namedParameters: DfEdgeLike
        • only: EdgeType

        Returns boolean

        DfEdge.isOnlyType({ types: EdgeType.Reads | EdgeType.Calls }, EdgeType.Reads)                  // false
        DfEdge.isOnlyType({ types: EdgeType.Reads | EdgeType.Calls }, EdgeType.Reads | EdgeType.Calls) // true
    • Readonlyname: "DfEdge"
    • splitTypes: function
      • Takes joint edge types and splits them into their individual components.

        Parameters

        • this: void
        • __namedParameters: DfEdgeLike

        Returns EdgeType[]

        DfEdge.splitTypes({ types: EdgeType.Reads | EdgeType.DefinedBy });
        // returns [EdgeType.Reads, EdgeType.DefinedBy]
    • typesToNames: function
    • typeToName: function
    • without: function
      • The same edge without the given types, e.g. to look at the dataflow part of an edge on its own.

        Parameters

        • this: void
        • __namedParameters: DfEdgeLike
        • drop: number

        Returns DfEdge

    dataflow