Mercurial > hg > graal-jvmci-8
comparison graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder.java @ 19282:ae81dd154fb6
Truffle-DSL: remove old DSL layout; Make new layout the default.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Thu, 22 Jan 2015 20:44:24 +0100 |
parents | a665483c3881 |
children | 08aa0372dad4 |
comparison
equal
deleted
inserted
replaced
19281:92880b0f7fed | 19282:ae81dd154fb6 |
---|---|
322 string(chunks[i]); | 322 string(chunks[i]); |
323 } | 323 } |
324 return end(); | 324 return end(); |
325 } | 325 } |
326 | 326 |
327 public CodeTreeBuilder dot() { | |
328 return string("."); | |
329 } | |
330 | |
331 public CodeTreeBuilder newLine() { | 327 public CodeTreeBuilder newLine() { |
332 return push(NEW_LINE); | 328 return push(NEW_LINE); |
333 } | 329 } |
334 | 330 |
335 public CodeTreeBuilder startWhile() { | 331 public CodeTreeBuilder startWhile() { |
574 throw new IllegalArgumentException("Recursive builder usage."); | 570 throw new IllegalArgumentException("Recursive builder usage."); |
575 } | 571 } |
576 return declaration(type, name, init.getTree()); | 572 return declaration(type, name, init.getTree()); |
577 } | 573 } |
578 | 574 |
579 public CodeTreeBuilder declaration(String type, String name, CodeTreeBuilder init) { | |
580 if (init == this) { | |
581 throw new IllegalArgumentException("Recursive builder usage."); | |
582 } | |
583 return declaration(type, name, init.getTree()); | |
584 } | |
585 | |
586 public CodeTreeBuilder declaration(TypeMirror type, String name) { | |
587 return declaration(type, name, (CodeTree) null); | |
588 } | |
589 | |
590 public CodeTreeBuilder create() { | 575 public CodeTreeBuilder create() { |
591 return new CodeTreeBuilder(this); | 576 return new CodeTreeBuilder(this); |
592 } | 577 } |
593 | 578 |
594 public CodeTreeBuilder type(TypeMirror type) { | 579 public CodeTreeBuilder type(TypeMirror type) { |
618 return root; | 603 return root; |
619 } | 604 } |
620 | 605 |
621 public CodeTree build() { | 606 public CodeTree build() { |
622 return root; | 607 return root; |
623 } | |
624 | |
625 public CodeTreeBuilder cast(String baseClassName) { | |
626 string("(").string(baseClassName).string(") "); | |
627 return this; | |
628 } | 608 } |
629 | 609 |
630 public CodeTreeBuilder cast(TypeMirror type) { | 610 public CodeTreeBuilder cast(TypeMirror type) { |
631 string("(").type(type).string(") "); | 611 string("(").type(type).string(") "); |
632 return this; | 612 return this; |
669 | 649 |
670 public CodeTreeBuilder returnTrue() { | 650 public CodeTreeBuilder returnTrue() { |
671 return startReturn().string("true").end(); | 651 return startReturn().string("true").end(); |
672 } | 652 } |
673 | 653 |
674 public CodeTreeBuilder instanceOf(CodeTree var, CodeTree type) { | |
675 return tree(var).string(" instanceof ").tree(type); | |
676 } | |
677 | |
678 public CodeTreeBuilder instanceOf(CodeTree var, TypeMirror type) { | 654 public CodeTreeBuilder instanceOf(CodeTree var, TypeMirror type) { |
679 return tree(var).string(" instanceof ").type(type); | 655 return tree(var).string(" instanceof ").type(type); |
680 } | |
681 | |
682 public CodeTreeBuilder instanceOf(String var, String type) { | |
683 return instanceOf(singleString(var), singleString(type)); | |
684 } | |
685 | |
686 public CodeTreeBuilder instanceOf(String var, TypeMirror type) { | |
687 return instanceOf(singleString(var), singleType(type)); | |
688 } | 656 } |
689 | 657 |
690 public CodeTreeBuilder defaultValue(TypeMirror mirror) { | 658 public CodeTreeBuilder defaultValue(TypeMirror mirror) { |
691 switch (mirror.getKind()) { | 659 switch (mirror.getKind()) { |
692 case VOID: | 660 case VOID: |
713 case SHORT: | 681 case SHORT: |
714 return string("(short) 0"); | 682 return string("(short) 0"); |
715 default: | 683 default: |
716 throw new AssertionError(); | 684 throw new AssertionError(); |
717 } | 685 } |
718 } | |
719 | |
720 public CodeTreeBuilder assertFalse() { | |
721 return startAssert().string("false").end(); | |
722 } | |
723 | |
724 public CodeTreeBuilder breakStatement() { | |
725 return statement("break"); | |
726 } | |
727 | |
728 public CodeTreeBuilder isNull() { | |
729 return string(" == null"); | |
730 } | |
731 | |
732 public CodeTreeBuilder isNotNull() { | |
733 return string(" != null"); | |
734 } | |
735 | |
736 public CodeTreeBuilder is(CodeTree tree) { | |
737 return string(" == ").tree(tree); | |
738 } | 686 } |
739 | 687 |
740 public CodeTreeBuilder startTryBlock() { | 688 public CodeTreeBuilder startTryBlock() { |
741 return string("try ").startBlock(); | 689 return string("try ").startBlock(); |
742 } | 690 } |