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