Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | ObjectWord | |||
integer, | intent(out) | :: | NumArgs | |||
integer, | intent(out) | :: | NumAlpha | |||
integer, | intent(out) | :: | NumNumeric |
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed arrows point from an interface to procedures which implement that interface. This could include the module procedures in a generic interface or the implementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed arrows point from an interface to procedures which implement that interface. This could include the module procedures in a generic interface or the implementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
SUBROUTINE GetObjectDefMaxArgs(ObjectWord,NumArgs,NumAlpha,NumNumeric)
! SUBROUTINE INFORMATION:
! AUTHOR Linda K. Lawrie
! DATE WRITTEN October 2001
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! This subroutine returns maximum argument limits (total, alphas, numerics) of an Object from the IDD.
! These dimensions (not sure what one can use the total for) can be used to dynamically dimension the
! arrays in the GetInput routines.
! METHODOLOGY EMPLOYED:
! Essentially allows outside access to internal variables of the InputProcessor.
! REFERENCES:
! na
! USE STATEMENTS:
! na
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
CHARACTER(len=*), INTENT(IN) :: ObjectWord ! Object for definition
INTEGER, INTENT(OUT) :: NumArgs ! How many arguments (max) this Object can have
INTEGER, INTENT(OUT) :: NumAlpha ! How many Alpha arguments (max) this Object can have
INTEGER, INTENT(OUT) :: NumNumeric ! How many Numeric arguments (max) this Object can have
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS
! na
! DERIVED TYPE DEFINITIONS
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER Which ! to determine which object definition to use
IF (SortedIDD) THEN
Which=FindItemInSortedList(MakeUPPERCase(ObjectWord),ListOfObjects,NumObjectDefs)
IF (Which/= 0) Which=iListofObjects(Which)
ELSE
Which=FindItemInList(MakeUPPERCase(ObjectWord),ListOfObjects,NumObjectDefs)
ENDIF
IF (Which > 0) THEN
NumArgs=ObjectDef(Which)%NumParams
NumAlpha=ObjectDef(Which)%NumAlpha
NumNumeric=ObjectDef(Which)%NumNumeric
ELSE
NumArgs=0
NumAlpha=0
NumNumeric=0
CALL ShowSevereError('GetObjectDefMaxArgs: Did not find object="'//TRIM(ObjectWord)//'" in list of objects.')
END IF
RETURN
END SUBROUTINE GetObjectDefMaxArgs