File: 095_inheritance.f03

package info (click to toggle)
doxygen 1.9.8%2Bds-2.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 24,000 kB
  • sloc: cpp: 215,370; lex: 42,621; python: 32,388; ansic: 26,705; xml: 15,390; javascript: 8,352; yacc: 581; f90: 455; php: 441; perl: 378; makefile: 195; sh: 24; objc: 14; cs: 5; java: 1
file content (44 lines) | stat: -rw-r--r-- 662 bytes parent folder | download | duplicates (2)
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