This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

View | Details | Raw Unified | Return to bug 226481
Collapse All | Expand All

(-)a/php.editor/src/org/netbeans/modules/php/editor/parser/GSFPHPParser.java (-2 / +2 lines)
Lines 240-250 Link Here
240
                phpParserResult = sanitize(context, sanitizing, errorHandler);
240
                phpParserResult = sanitize(context, sanitizing, errorHandler);
241
            }
241
            }
242
            if (isParsingWithoutSanitization(sanitizing)) {
242
            if (isParsingWithoutSanitization(sanitizing)) {
243
                phpParserResult.setErrors(errorHandler.displaySyntaxErrors(program));
243
                phpParserResult.setErrors(errorHandler.displayErrors());
244
            }
244
            }
245
        } else { // there was no rootElement
245
        } else { // there was no rootElement
246
            phpParserResult = sanitize(context, sanitizing, errorHandler);
246
            phpParserResult = sanitize(context, sanitizing, errorHandler);
247
            phpParserResult.setErrors(errorHandler.displayFatalError());
247
            phpParserResult.setErrors(errorHandler.displayErrors());
248
        }
248
        }
249
249
250
        return phpParserResult;
250
        return phpParserResult;
(-)a/php.editor/src/org/netbeans/modules/php/editor/parser/PHP5ErrorHandler.java (-4 / +2 lines)
Lines 45-51 Link Here
45
import java_cup.runtime.Symbol;
45
import java_cup.runtime.Symbol;
46
import org.netbeans.modules.csl.api.Error;
46
import org.netbeans.modules.csl.api.Error;
47
import org.netbeans.modules.csl.api.Severity;
47
import org.netbeans.modules.csl.api.Severity;
48
import org.netbeans.modules.php.editor.parser.astnodes.Program;
49
import org.openide.util.NbBundle;
48
import org.openide.util.NbBundle;
50
49
51
/**
50
/**
Lines 54-61 Link Here
54
 */
53
 */
55
public interface PHP5ErrorHandler extends ParserErrorHandler {
54
public interface PHP5ErrorHandler extends ParserErrorHandler {
56
55
57
    List<Error> displayFatalError();
56
    List<? extends Error> displayErrors();
58
    List<Error> displaySyntaxErrors(Program program);
59
    List<SyntaxError> getSyntaxErrors();
57
    List<SyntaxError> getSyntaxErrors();
60
    void disableHandling();
58
    void disableHandling();
61
59
Lines 143-149 Link Here
143
            super(Bundle.MSG_FatalError(),
141
            super(Bundle.MSG_FatalError(),
144
                context.getSnapshot().getSource().getFileObject(),
142
                context.getSnapshot().getSource().getFileObject(),
145
                0, context.getBaseSource().length(),
143
                0, context.getBaseSource().length(),
146
                Severity.ERROR, null);
144
                Severity.FATAL, null);
147
        }
145
        }
148
146
149
        @Override
147
        @Override
(-)a/php.editor/src/org/netbeans/modules/php/editor/parser/PHP5ErrorHandlerImpl.java (-9 / +13 lines)
Lines 43-49 Link Here
43
package org.netbeans.modules.php.editor.parser;
43
package org.netbeans.modules.php.editor.parser;
44
44
45
import java.util.ArrayList;
45
import java.util.ArrayList;
46
import java.util.Arrays;
47
import java.util.List;
46
import java.util.List;
48
import java.util.logging.Level;
47
import java.util.logging.Level;
49
import java.util.logging.Logger;
48
import java.util.logging.Logger;
Lines 52-58 Link Here
52
import org.netbeans.modules.php.api.util.StringUtils;
51
import org.netbeans.modules.php.api.util.StringUtils;
53
import org.netbeans.modules.php.editor.parser.GSFPHPParser.Context;
52
import org.netbeans.modules.php.editor.parser.GSFPHPParser.Context;
54
import org.netbeans.modules.php.editor.parser.astnodes.ASTNode;
53
import org.netbeans.modules.php.editor.parser.astnodes.ASTNode;
55
import org.netbeans.modules.php.editor.parser.astnodes.Program;
56
import org.openide.util.NbBundle;
54
import org.openide.util.NbBundle;
57
55
58
/**
56
/**
Lines 64-74 Link Here
64
    private final List<SyntaxError> syntaxErrors;
62
    private final List<SyntaxError> syntaxErrors;
65
    private final Context context;
63
    private final Context context;
66
    private volatile boolean handleErrors = true;
64
    private volatile boolean handleErrors = true;
65
    private final List<FatalError> fatalErrors;
67
66
68
    public PHP5ErrorHandlerImpl(Context context) {
67
    public PHP5ErrorHandlerImpl(Context context) {
69
        super();
68
        super();
70
        this.context = context;
69
        this.context = context;
71
        syntaxErrors = new ArrayList<>();
70
        syntaxErrors = new ArrayList<>();
71
        fatalErrors = new ArrayList<>();
72
    }
72
    }
73
73
74
    @Override
74
    @Override
Lines 81-86 Link Here
81
                    syntaxErrorType = SyntaxError.Type.FIRST_VALID_ERROR;
81
                    syntaxErrorType = SyntaxError.Type.FIRST_VALID_ERROR;
82
                }
82
                }
83
                syntaxErrors.add(new SyntaxError(expectedtokens, current, previous, syntaxErrorType));
83
                syntaxErrors.add(new SyntaxError(expectedtokens, current, previous, syntaxErrorType));
84
            } else if (type == Type.FATAL_PARSER_ERROR) {
85
                fatalErrors.add(new FatalError(context));
84
            }
86
            }
85
        }
87
        }
86
    }
88
    }
Lines 90-102 Link Here
90
        handleErrors = false;
92
        handleErrors = false;
91
    }
93
    }
92
94
93
    @Override
95
    private List<? extends Error> prepareSyntaxErrors() {
94
    public List<Error> displayFatalError() {
95
        return Arrays.asList((Error) new FatalError(context));
96
    }
97
98
    @Override
99
    public List<Error> displaySyntaxErrors(Program program) {
100
        List<Error> errors = new ArrayList<>();
96
        List<Error> errors = new ArrayList<>();
101
        for (SyntaxError syntaxError : syntaxErrors) {
97
        for (SyntaxError syntaxError : syntaxErrors) {
102
            errors.add(defaultSyntaxErrorHandling(syntaxError));
98
            errors.add(defaultSyntaxErrorHandling(syntaxError));
Lines 104-109 Link Here
104
        return errors;
100
        return errors;
105
    }
101
    }
106
102
103
    @Override
104
    public List<? extends Error> displayErrors() {
105
        List<Error> errors = new ArrayList<>();
106
        errors.addAll(prepareSyntaxErrors());
107
        errors.addAll(fatalErrors);
108
        return errors;
109
    }
110
107
    @NbBundle.Messages("SE_Expected=expected")
111
    @NbBundle.Messages("SE_Expected=expected")
108
    private Error defaultSyntaxErrorHandling(SyntaxError syntaxError) {
112
    private Error defaultSyntaxErrorHandling(SyntaxError syntaxError) {
109
        StringBuilder message = new StringBuilder();
113
        StringBuilder message = new StringBuilder();
(-)a/php.editor/src/org/netbeans/modules/php/editor/parser/PHPParseResult.java (-2 / +2 lines)
Lines 60-66 Link Here
60
public class PHPParseResult extends ParserResult {
60
public class PHPParseResult extends ParserResult {
61
61
62
    private final Program root;
62
    private final Program root;
63
    private List<Error> errors;
63
    private List<? extends Error> errors;
64
    private Model model;
64
    private Model model;
65
65
66
    public PHPParseResult(Snapshot snapshot, Program rootNode) {
66
    public PHPParseResult(Snapshot snapshot, Program rootNode) {
Lines 109-115 Link Here
109
        // remove from parser cache (?)
109
        // remove from parser cache (?)
110
    }
110
    }
111
111
112
    public void setErrors(List<Error> errors) {
112
    public void setErrors(List<? extends Error> errors) {
113
        this.errors = errors;
113
        this.errors = errors;
114
    }
114
    }
115
115

Return to bug 226481