Lines 43-48
Link Here
|
43 |
*/ |
43 |
*/ |
44 |
package org.netbeans.api.java.source; |
44 |
package org.netbeans.api.java.source; |
45 |
|
45 |
|
|
|
46 |
import com.sun.source.tree.AssignmentTree; |
46 |
import com.sun.source.tree.BlockTree; |
47 |
import com.sun.source.tree.BlockTree; |
47 |
import com.sun.source.tree.ClassTree; |
48 |
import com.sun.source.tree.ClassTree; |
48 |
import com.sun.source.tree.LiteralTree; |
49 |
import com.sun.source.tree.LiteralTree; |
Lines 53-59
Link Here
|
53 |
import com.sun.source.tree.Tree.Kind; |
54 |
import com.sun.source.tree.Tree.Kind; |
54 |
import com.sun.source.tree.VariableTree; |
55 |
import com.sun.source.tree.VariableTree; |
55 |
import com.sun.source.util.TreePath; |
56 |
import com.sun.source.util.TreePath; |
|
|
57 |
import com.sun.source.util.TreePathScanner; |
56 |
import java.io.File; |
58 |
import java.io.File; |
|
|
59 |
import java.util.ArrayList; |
57 |
import java.util.Arrays; |
60 |
import java.util.Arrays; |
58 |
import java.util.HashSet; |
61 |
import java.util.HashSet; |
59 |
import java.util.List; |
62 |
import java.util.List; |
Lines 480-483
Link Here
|
480 |
|
483 |
|
481 |
assertFalse(info.getTreeUtilities().isStaticContext(s)); |
484 |
assertFalse(info.getTreeUtilities().isStaticContext(s)); |
482 |
} |
485 |
} |
|
|
486 |
|
487 |
public void testIsCompileTimeConstant() throws Exception { |
488 |
prepareTest("Test", "package test; public class Test { private void m(String str) { int i; i = 1 + 1; i = str.length(); } }"); |
489 |
|
490 |
final List<Boolean> result = new ArrayList<Boolean>(); |
491 |
|
492 |
new TreePathScanner<Void, Void>() { |
493 |
@Override public Void visitAssignment(AssignmentTree node, Void p) { |
494 |
result.add(info.getTreeUtilities().isCompileTimeConstantExpression(new TreePath(getCurrentPath(), node.getExpression()))); |
495 |
return super.visitAssignment(node, p); |
496 |
} |
497 |
}.scan(info.getCompilationUnit(), null); |
498 |
|
499 |
assertEquals(Arrays.asList(true, false), result); |
500 |
} |
483 |
} |
501 |
} |