Little things
diff --git a/plugins/org.eclipse.ldt/script/local/javamodelsbuilder.lua b/plugins/org.eclipse.ldt/script/local/javamodelsbuilder.lua
index a6faeb3..1c8eb38 100644
--- a/plugins/org.eclipse.ldt/script/local/javamodelsbuilder.lua
+++ b/plugins/org.eclipse.ldt/script/local/javamodelsbuilder.lua
@@ -12,7 +12,6 @@
require 'metalua.loader'
local compiler = require 'metalua.compiler'
-local pp = require 'metalua.pprint'
local javamodelfactory = require 'javamodelfactory'
local mlc51, mlc52
@@ -23,34 +22,31 @@
local M = {}
function M.newMLC51()
- if (not mlc51) then
+ local function lexer51()
+ local generic_lexer = require 'metalua.grammar.lexer'
+ local lexer = generic_lexer.lexer :clone()
- local function lexer51()
- local generic_lexer = require 'metalua.grammar.lexer'
- local lexer = generic_lexer.lexer :clone()
+ local keywords = {
+ "and", "break", "do", "else", "elseif",
+ "end", "false", "for", "function",
+ "if",
+ "in", "local", "nil", "not", "or", "repeat",
+ "return", "then", "true", "until", "while",
+ "...", "..", "==", ">=", "<=", "~=",
+ "+{", "-{"
+ }
- local keywords = {
- "and", "break", "do", "else", "elseif",
- "end", "false", "for", "function",
- "if",
- "in", "local", "nil", "not", "or", "repeat",
- "return", "then", "true", "until", "while",
- "...", "..", "==", ">=", "<=", "~=",
- "+{", "-{"
- }
+ for _, w in ipairs(keywords) do lexer :add (w) end
- for _, w in ipairs(keywords) do lexer :add (w) end
-
- return lexer
- end
-
- mlc51 = compiler.new()
- mlc51.parser.lexer = lexer51()
- mlc51.parser.stat:del("goto")
- mlc51.parser.stat:del("::")
+ return lexer
end
- return mlc51
+ local newmlc = compiler.new()
+ newmlc.parser.lexer = lexer51()
+ newmlc.parser.stat:del("goto")
+ newmlc.parser.stat:del("::")
+
+ return newmlc
end
---
@@ -63,15 +59,15 @@
local mlc
if (luaGrammar == "lua-5.1") then
if (not mlc51) then
- M.newMLC51()
+ mlc51 = M.newMLC51()
end
-
+
mlc = mlc51
else
if (not mlc52) then
mlc52 = compiler.new()
end
-
+
mlc = mlc52
end
diff --git a/plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/internal/ast/parser/LuaSourceParser.java b/plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/internal/ast/parser/LuaSourceParser.java
index a195eb0..238a150 100644
--- a/plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/internal/ast/parser/LuaSourceParser.java
+++ b/plugins/org.eclipse.ldt/src/org/eclipse/ldt/core/internal/ast/parser/LuaSourceParser.java
@@ -123,7 +123,10 @@
// Valid source code
IGrammar grammar = getGrammar(getProject(input));
- ILuaSourceValidator sourceValidator = grammar.getValidator();
+ ILuaSourceValidator sourceValidator = null;
+ if (grammar != null) {
+ sourceValidator = grammar.getValidator();
+ }
if (sourceValidator == null) {
Activator.logWarning(NLS.bind("No validator found for input {0}.", input.getFileName())); //$NON-NLS-1$
module.setProblem(1, 1, 0, 0, "No validator have have been found for this file."); //$NON-NLS-1$