InFunction

final class InFunction

Inline a function declared in Tapenade libraries.

Fields

callingInstruction

protected Instruction callingInstruction

copiedUnit

protected final Unit copiedUnit

inlinedUnit

protected final Unit inlinedUnit

rank

protected int rank

Constructors

InFunction

protected InFunction(Unit inF, Tree callTree, Instruction callInstruction, Tree lhs, WrapperTypeSpec[] actualArgsTypes)

Prepares a sort of copy of the body of an inlininable function, used to actually replace the inlinable call in the calling Unit.

Parameters
  • inF – the definition unit of the inlinable function

  • callTree – the inlinable call in the calling Unit (may be an assignment)

  • callInstruction – the Instruction that contains the inlinable call

  • lhs – when callTree is an assignment, its LHS, otherwise null.

  • actualArgsTypes – used to precise the functionTypeSpec using the actual call types

Methods

allBlocks

protected TapList<Block> allBlocks()

replaceAllIdent

public static void replaceAllIdent(Tree tree, Tree oldTree, Tree newTree)

oldTree et newTree sont des arbres atomiques.

replaceAllVariables

protected Tree replaceAllVariables(Block block, SymbolTable futureUsageSymbolTable, SymbolTable futureDeclSymbolTable)

toString

public String toString()