Changeset View
Changeset View
Standalone View
Standalone View
duchain/tests/uses.cpp
Show First 20 Lines • Show All 135 Lines • ▼ Show 20 Line(s) | 131 | { | |||
---|---|---|---|---|---|
136 | TopDUContext* top = parse(method, DumpNone, QUrl(QStringLiteral("file:///internal/usestest/memberVariable.php"))); | 136 | TopDUContext* top = parse(method, DumpNone, QUrl(QStringLiteral("file:///internal/usestest/memberVariable.php"))); | ||
137 | DUChainReleaser releaseTop(top); | 137 | DUChainReleaser releaseTop(top); | ||
138 | DUChainWriteLocker lock(DUChain::lock()); | 138 | DUChainWriteLocker lock(DUChain::lock()); | ||
139 | Declaration* var = top->childContexts().first()->localDeclarations().first(); | 139 | Declaration* var = top->childContexts().first()->localDeclarations().first(); | ||
140 | compareUses(var, RangeInRevision(0, 46, 0, 49)); | 140 | compareUses(var, RangeInRevision(0, 46, 0, 49)); | ||
141 | QCOMPARE(var->uses().keys().first(), IndexedString(QUrl("file:///internal/usestest/memberVariable.php"))); | 141 | QCOMPARE(var->uses().keys().first(), IndexedString(QUrl("file:///internal/usestest/memberVariable.php"))); | ||
142 | } | 142 | } | ||
143 | 143 | | |||
144 | void TestUses::implicitMemberVariable() | ||||
145 | { | ||||
146 | | ||||
147 | // 0 1 2 3 4 5 6 7 | ||||
148 | // 01234567890123456789012345678901234567890123456789012345678901234567890123456789 | ||||
149 | QByteArray method("<? $x = new A(); $x->y = 1; $x->y = 2; class A {}"); | ||||
150 | TopDUContext* top = parse(method, DumpNone); | ||||
151 | DUChainReleaser releaseTop(top); | ||||
152 | DUChainWriteLocker lock(DUChain::lock()); | ||||
153 | Declaration* var = top->childContexts().first()->localDeclarations().first(); | ||||
154 | QList<RangeInRevision> ranges; | ||||
155 | ranges << RangeInRevision(0, 21, 0, 22) << RangeInRevision(0, 32, 0, 33); | ||||
156 | compareUses(var, ranges); | ||||
157 | QVERIFY(var->range() == RangeInRevision(0, 21, 0, 22)); | ||||
158 | } | ||||
159 | | ||||
144 | void TestUses::variable() | 160 | void TestUses::variable() | ||
145 | { | 161 | { | ||
146 | // 0 1 2 3 4 5 6 7 | 162 | // 0 1 2 3 4 5 6 7 | ||
147 | // 01234567890123456789012345678901234567890123456789012345678901234567890123456789 | 163 | // 01234567890123456789012345678901234567890123456789012345678901234567890123456789 | ||
148 | QByteArray method("<?php\nclass A { public $foo; } $a = new A(); $a; $a->foo; foo($a); "); | 164 | QByteArray method("<?php\nclass A { public $foo; } $a = new A(); $a; $a->foo; foo($a); "); | ||
149 | TopDUContext* top = parse(method, DumpAll); | 165 | TopDUContext* top = parse(method, DumpAll); | ||
150 | DUChainReleaser releaseTop(top); | 166 | DUChainReleaser releaseTop(top); | ||
151 | DUChainWriteLocker lock(DUChain::lock()); | 167 | DUChainWriteLocker lock(DUChain::lock()); | ||
▲ Show 20 Lines • Show All 1190 Lines • Show Last 20 Lines |