Lines Matching refs:ex
821 Expression *ex = NULL;
827 ex = new ThisExp(loc);
828 ex = new DotVarExp(loc, ex, v);
831 ex = new AddrExp(loc, ex);
832 ex = new CastExp(loc, ex, v->type->mutableOf()->pointerTo());
833 ex = new PtrExp(loc, ex);
837 ex = new DotVarExp(loc, ex, sdv->postblit, false);
838 ex = new CallExp(loc, ex);
848 ex = new ThisExp(loc);
849 ex = new DotVarExp(loc, ex, v);
852 ex = new DotIdExp(loc, ex, Id::ptr);
853 ex = new CastExp(loc, ex, sdv->type->pointerTo());
857 ex = new SliceExp(loc, ex, new IntegerExp(loc, 0, Type::tsize_t),
860 ((SliceExp *)ex)->upperIsInBounds = true;
861 ((SliceExp *)ex)->lowerIsLessThanUpper = true;
863 ex = new CallExp(loc, new IdentifierExp(loc, Id::__ArrayPostblit), ex);
865 a->push(new ExpStatement(loc, ex)); // combine in forward order
879 ex = new ThisExp(loc);
880 ex = new DotVarExp(loc, ex, v);
883 ex = new AddrExp(loc, ex);
884 ex = new CastExp(loc, ex, v->type->mutableOf()->pointerTo());
885 ex = new PtrExp(loc, ex);
889 ex = new DotVarExp(loc, ex, sdv->dtor, false);
890 ex = new CallExp(loc, ex);
900 ex = new ThisExp(loc);
901 ex = new DotVarExp(loc, ex, v);
904 ex = new DotIdExp(loc, ex, Id::ptr);
905 ex = new CastExp(loc, ex, sdv->type->pointerTo());
909 ex = new SliceExp(loc, ex, new IntegerExp(loc, 0, Type::tsize_t),
912 ((SliceExp *)ex)->upperIsInBounds = true;
913 ((SliceExp *)ex)->lowerIsLessThanUpper = true;
915 ex = new CallExp(loc, new IdentifierExp(loc, Id::__ArrayDtor), ex);
917 a->push(new OnScopeStatement(loc, TOKon_scope_failure, new ExpStatement(loc, ex)));
955 Expression *ex = new ThisExp(loc);
956 ex = new DotVarExp(loc, ex, fd, false);
957 ex = new CallExp(loc, ex);
958 e = Expression::combine(e, ex);
1019 Expression *ex = NULL;
1025 ex = new ThisExp(loc);
1026 ex = new DotVarExp(loc, ex, v);
1029 ex = new AddrExp(loc, ex);
1030 ex = new CastExp(loc, ex, v->type->mutableOf()->pointerTo());
1031 ex = new PtrExp(loc, ex);
1035 ex = new DotVarExp(loc, ex, sdv->dtor, false);
1036 ex = new CallExp(loc, ex);
1046 ex = new ThisExp(loc);
1047 ex = new DotVarExp(loc, ex, v);
1050 ex = new DotIdExp(loc, ex, Id::ptr);
1051 ex = new CastExp(loc, ex, sdv->type->pointerTo());
1055 ex = new SliceExp(loc, ex, new IntegerExp(loc, 0, Type::tsize_t),
1058 ((SliceExp *)ex)->upperIsInBounds = true;
1059 ((SliceExp *)ex)->lowerIsLessThanUpper = true;
1061 ex = new CallExp(loc, new IdentifierExp(loc, Id::__ArrayDtor), ex);
1063 e = Expression::combine(ex, e); // combine in reverse order
1102 Expression *ex = new ThisExp(loc);
1103 ex = new DotVarExp(loc, ex, fd, false);
1104 ex = new CallExp(loc, ex);
1105 e = Expression::combine(ex, e);