diff --git a/actypes.d b/actypes.d index 6c6afbf..541a2bc 100644 --- a/actypes.d +++ b/actypes.d @@ -533,29 +533,53 @@ static this() auto void_ = allocate!ACSymbol(Mallocator.it, "void", CompletionKind.keyword); builtinSymbols.insert(bool_); + bool_.type = bool_; builtinSymbols.insert(int_); + int_.type = int_; builtinSymbols.insert(long_); + long_.type = long_; builtinSymbols.insert(byte_); + byte_.type = byte_; builtinSymbols.insert(char_); + char_.type = char_; builtinSymbols.insert(dchar_); + dchar_.type = dchar_; builtinSymbols.insert(short_); + short_.type = short_; builtinSymbols.insert(ubyte_); + ubyte_.type = ubyte_; builtinSymbols.insert(uint_); + uint_.type = uint_; builtinSymbols.insert(ulong_); + ulong_.type = ulong_; builtinSymbols.insert(ushort_); + ushort_.type = ushort_; builtinSymbols.insert(wchar_); + wchar_.type = wchar_; builtinSymbols.insert(cdouble_); + cdouble_.type = cdouble_; builtinSymbols.insert(cent_); + cent_.type = cent_; builtinSymbols.insert(cfloat_); + cfloat_.type = cfloat_; builtinSymbols.insert(creal_); + creal_.type = creal_; builtinSymbols.insert(double_); + double_.type = double_; builtinSymbols.insert(float_); + float_.type = float_; builtinSymbols.insert(idouble_); + idouble_.type = idouble_; builtinSymbols.insert(ifloat_); + ifloat_.type = ifloat_; builtinSymbols.insert(ireal_); + ireal_.type = ireal_; builtinSymbols.insert(real_); + real_.type = real_; builtinSymbols.insert(ucent_); + ucent_.type = ucent_; builtinSymbols.insert(void_); + void_.type = void_; // writeln(">>Builtin symbols"); // foreach (symbol; builtinSymbols[]) diff --git a/conversion/second.d b/conversion/second.d index 3577288..a7362e4 100644 --- a/conversion/second.d +++ b/conversion/second.d @@ -45,6 +45,7 @@ public: void run() { + rootSymbol.acSymbol.parts.insert(builtinSymbols[]); assignToScopes(rootSymbol.acSymbol); resolveImports(moduleScope); } @@ -62,8 +63,8 @@ private: s.symbols.insert(currentSymbol); foreach (part; currentSymbol.parts[]) { - std.utf.validate(part.name); - assignToScopes(part); + if (part.kind != CompletionKind.keyword) + assignToScopes(part); } }