.. java:import:: fr.inria.tapenade.analysis ADActivityAnalyzer InterfaceDecl ============= .. java:package:: fr.inria.tapenade.representation :noindex: .. java:type:: public final class InterfaceDecl extends SymbolDecl 3 different interfaces declarations exist in Fortran90: 1/ Simple interface block to provide an explicit interface to an external of dummy procedure, this interface has no associated name. .. parsed-literal:: interface function f(t) ... end function f end interface cf nonRegression/set06/v222. 2/ Interface used for overloading with several interface bodies, with a generic name. The associated InterfaceDecl contains a list of FunctionDecl, its symbol is the generic name. .. parsed-literal:: interface name function f1(t) ... end function f1 ... function fn(t) ... end function fn end interface cf nonRegressions/set04/v032. 3/ Interface used for overloading with several procedure names, with a generic name. .. parsed-literal:: interface g module procedure sg, dg end interface The associated InterfaceDecl contains a list of String. cf nonRegressions/set04/v046. The declaration of the interface is contained in an Instruction. The root Tree operator is interfaceDecl: .. parsed-literal:: interfaceDecl -> OptExpression Interfaces OptExpression; Interfaces ::= interfaces; interfaces -> Interface * ...; Interface ::= interface moduleProcedure; OptExpression.1 contains the name of the interface (2/ and 3/) or none (1/). interface operator contains the header of a function as described in 1/ and 2/ moduleProcedure operator contains a list of strings as described in 3/ In 1/, the InterfaceDecl symbol is the name of the contained procedure. In 2/ and 3/, the InterfaceDecl symbol is the name of the interface. Fields ------ containerUnit ^^^^^^^^^^^^^ .. java:field:: protected Unit containerUnit :outertype: InterfaceDecl The unit that defined this Interface. contents ^^^^^^^^ .. java:field:: public TapList contents :outertype: InterfaceDecl definitionSymbolTable ^^^^^^^^^^^^^^^^^^^^^ .. java:field:: protected SymbolTable definitionSymbolTable :outertype: InterfaceDecl symbolTable containing the definition of this interface null corresponds to the rootSymbolTable. formalArgRank ^^^^^^^^^^^^^ .. java:field:: public int formalArgRank :outertype: InterfaceDecl for a function passed as formal parameter, its rank in the parameters list. From 1 up (special 0 for result). functionDecls ^^^^^^^^^^^^^ .. java:field:: public TapList functionDecls :outertype: InterfaceDecl The FunctionDecl's grouped by this InterfaceDecl. functionNames ^^^^^^^^^^^^^ .. java:field:: public TapList functionNames :outertype: InterfaceDecl List of function names usefulName ^^^^^^^^^^ .. java:field:: protected boolean usefulName :outertype: InterfaceDecl Constructors ------------ InterfaceDecl ^^^^^^^^^^^^^ .. java:constructor:: protected InterfaceDecl() :outertype: InterfaceDecl InterfaceDecl ^^^^^^^^^^^^^ .. java:constructor:: public InterfaceDecl(Tree identTree) :outertype: InterfaceDecl InterfaceDecl ^^^^^^^^^^^^^ .. java:constructor:: protected InterfaceDecl(Tree identTree, FunctionDecl functionDecl, SymbolTable symbolTable, Unit containerUnit) :outertype: InterfaceDecl Methods ------- addInInterfaceDecl ^^^^^^^^^^^^^^^^^^ .. java:method:: protected void addInInterfaceDecl(Tree tree) :outertype: InterfaceDecl addInInterfaceDecl ^^^^^^^^^^^^^^^^^^ .. java:method:: protected void addInInterfaceDecl(FunctionDecl functionDecl, Unit enclosingUnit) :outertype: InterfaceDecl findFunctionDecl ^^^^^^^^^^^^^^^^ .. java:method:: public FunctionDecl findFunctionDecl(WrapperTypeSpec[] types, WrapperTypeSpec resultType, Tree callTree) :outertype: InterfaceDecl findOneFunctionDecl ^^^^^^^^^^^^^^^^^^^ .. java:method:: protected FunctionDecl findOneFunctionDecl(WrapperTypeSpec[] types, Tree callTree) :outertype: InterfaceDecl formalArgRankOrResultZero ^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: @Override public int formalArgRankOrResultZero() :outertype: InterfaceDecl functionDecl ^^^^^^^^^^^^ .. java:method:: protected FunctionDecl functionDecl() :outertype: InterfaceDecl interfaceUnits ^^^^^^^^^^^^^^ .. java:method:: public TapList interfaceUnits() :outertype: InterfaceDecl mustHaveADiff ^^^^^^^^^^^^^ .. java:method:: public boolean mustHaveADiff(ADActivityAnalyzer activityAnalyzer) :outertype: InterfaceDecl setInterfaceUnits ^^^^^^^^^^^^^^^^^ .. java:method:: public void setInterfaceUnits(TapList units) :outertype: InterfaceDecl toString ^^^^^^^^ .. java:method:: @Override public String toString() :outertype: InterfaceDecl units ^^^^^ .. java:method:: protected TapList units() :outertype: InterfaceDecl