File: 095_inheritance.f03

package info (click to toggle)
doxygen 1.15.0%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 25,384 kB
  • sloc: cpp: 223,248; lex: 45,536; python: 32,394; ansic: 26,761; xml: 16,962; javascript: 8,627; yacc: 582; f90: 455; php: 427; perl: 384; makefile: 201; sh: 24; objc: 14; cs: 5; java: 1
file content (44 lines) | stat: -rw-r--r-- 662 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
!// objective: test inheritance in Fortran
!// check: structm1_1_1t1.xml
!// check: structm1_1_1t2.xml
!// check: structm1_1_1t3.xml
!// check: structm2_1_1t3.xml
!// check: structm3_1_1t4.xml
!// check: namespacem1.xml
!// check: namespacem2.xml
!// check: namespacem3.xml
!// config: OPTIMIZE_FOR_FORTRAN=YES

module M1
  implicit none
  public

  type T1
  end type T1

  type, extends(T1) :: T2
  contains
  end type

  type, extends(T2) :: T3
  end type

end module M1

module M2
  use M1
  implicit none

  type, extends(T2) :: T3
  end type

end module M2

module M3
  use M2, only: T1
  implicit none

  type, extends(T1) :: T4
  end type

end module M3