brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.2 KiB · 9068ef8 Raw
87 lines · cpp
1// The run lines are below, because this test is line- and2// column-number sensitive.3struct Foo {4  void babble() const volatile;5  void bar();6  void baz() const;7  void bingo() volatile;8  void theend() const volatile;9};10 11template<typename T>12struct smart_ptr {13  T *operator->();14  const T* operator->() const;15};16 17void text(Foo f, Foo *fp, const Foo &fc, const Foo *fcp,18          smart_ptr<Foo> sf, const smart_ptr<Foo> &sfc, Foo volatile *fvp) {19  f.bar();20  fp->bar();21  fc.baz();22  fcp->baz();23  sf->bar();24  sfc->baz();25  fvp->babble();26}27 28void Foo::bar() {29  30}31 32void Foo::baz() const {33 34}35 36void Foo::bingo() volatile {37 38}39 40// Check member access expressions.41// RUN: c-index-test -code-completion-at=%s:19:5 %s | FileCheck -check-prefix=CHECK-NOQUALS %s42// RUN: c-index-test -code-completion-at=%s:20:7 %s | FileCheck -check-prefix=CHECK-NOQUALS %s43// RUN: c-index-test -code-completion-at=%s:23:7 %s | FileCheck -check-prefix=CHECK-NOQUALS %s44// CHECK-NOQUALS: CXXMethod:{ResultType void}{TypedText babble}{LeftParen (}{RightParen )}{Informative  const volatile} (35)45// CHECK-NOQUALS: CXXMethod:{ResultType void}{TypedText bar}{LeftParen (}{RightParen )} (34)46// CHECK-NOQUALS: CXXMethod:{ResultType void}{TypedText baz}{LeftParen (}{RightParen )}{Informative  const} (35)47// CHECK-NOQUALS: CXXMethod:{ResultType void}{TypedText bingo}{LeftParen (}{RightParen )}{Informative  volatile} (35)48// RUN: c-index-test -code-completion-at=%s:21:6 %s | FileCheck -check-prefix=CHECK-CONST %s49// RUN: c-index-test -code-completion-at=%s:22:8 %s | FileCheck -check-prefix=CHECK-CONST %s50// RUN: c-index-test -code-completion-at=%s:24:8 %s | FileCheck -check-prefix=CHECK-CONST %s51// CHECK-CONST: CXXMethod:{ResultType void}{TypedText babble}{LeftParen (}{RightParen )}{Informative  const volatile} (35)52// CHECK-CONST-NOT: bar53// CHECK-CONST: CXXMethod:{ResultType void}{TypedText baz}{LeftParen (}{RightParen )}{Informative  const} (34)54// CHECK-CONST-NOT: bingo55// CHECK-CONST: theend56// RUN: c-index-test -code-completion-at=%s:25:8 %s | FileCheck -check-prefix=CHECK-VOLATILE %s57// CHECK-VOLATILE: CXXMethod:{ResultType void}{TypedText babble}{LeftParen (}{RightParen )}{Informative  const volatile} (35)58// CHECK-VOLATILE-NOT: baz59// CHECK-VOLATILE: CXXMethod:{ResultType void}{TypedText bingo}{LeftParen (}{RightParen )}{Informative  volatile} (34)60 61// Check implicit member access expressions.62// RUN: c-index-test -code-completion-at=%s:29:2 %s | FileCheck -check-prefix=CHECK-IMPLICIT-NOQUALS %s63// CHECK-IMPLICIT-NOQUALS: CXXMethod:{ResultType void}{TypedText babble}{LeftParen (}{RightParen )}{Informative  const volatile} (35)64// CHECK-IMPLICIT-NOQUALS: CXXMethod:{ResultType void}{TypedText bar}{LeftParen (}{RightParen )} (34)65// CHECK-IMPLICIT-NOQUALS: CXXMethod:{ResultType void}{TypedText baz}{LeftParen (}{RightParen )}{Informative  const} (35)66// CHECK-IMPLICIT-NOQUALS: CXXMethod:{ResultType void}{TypedText bingo}{LeftParen (}{RightParen )}{Informative  volatile} (35)67 68// RUN: c-index-test -code-completion-at=%s:33:1 %s | FileCheck -check-prefix=CHECK-IMPLICIT-CONST %s69// CHECK-IMPLICIT-CONST: CXXMethod:{ResultType void}{TypedText babble}{LeftParen (}{RightParen )}{Informative  const volatile} (35)70// CHECK-IMPLICIT-CONST-NOT: bar71// CHECK-IMPLICIT-CONST: CXXMethod:{ResultType void}{TypedText baz}{LeftParen (}{RightParen )}{Informative  const} (34)72// CHECK-IMPLICIT-CONST-NOT: bingo73// CHECK-IMPLICIT-CONST: theend74 75// RUN: c-index-test -code-completion-at=%s:37:1 %s | FileCheck -check-prefix=CHECK-IMPLICIT-VOLATILE %s76// CHECK-IMPLICIT-VOLATILE: CXXMethod:{ResultType void}{TypedText babble}{LeftParen (}{RightParen )}{Informative  const volatile} (35)77// CHECK-IMPLICIT-VOLATILE-NOT: baz78// CHECK-IMPLICIT-VOLATILE: CXXMethod:{ResultType void}{TypedText bingo}{LeftParen (}{RightParen )}{Informative  volatile} (34)79 80// RUN: c-index-test -code-completion-at=%s:4:17 %s | FileCheck -check-prefix=CHECK-CVQUAL-AFTER %s81// CHECK-CVQUAL-AFTER: NotImplemented:{TypedText const} (40)82// CHECK-CVQUAL-AFTER: NotImplemented:{TypedText volatile} (40)83 84// RUN: c-index-test -code-completion-at=%s:4:23 %s | FileCheck -check-prefix=CHECK-CVQUAL-AFTER2 %s85// CHECK-CVQUAL-AFTER2-NOT: NotImplemented:{TypedText const} (40)86// CHECK-CVQUAL-AFTER2: NotImplemented:{TypedText volatile} (40)87