| Commit message (Collapse) | Author | Age |
... | |
| |
|
|
|
|
| |
declared, but not defined.
|
|
|
|
|
|
| |
class X; class Y { X myX; };
Fixed the marshaling side (__write() and __marshal()) for this, but the
reading side (__read() and __unmarshal()) are still broken.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
torture test IDL compiles correctly now.
Removed a few commented-out sections of code that I left behind earlier.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added code generation for Java constants to slice2java.
Added missing keyword (strictfp) to lists of keywords that need escaping
for Java.
Fixed bug in Java code generator: if a type name had a prefix in common
with the name of its enclosing scope, the scope mangling code stripped
off too much of the scope. For example:
enum color { red }; const color c = red;
This resulted in the generated type name being "olor" instead of "color"
because the constant starts with the same letter as the name of the
type.
Fixed bug in the keyword escape mechanism -- keywords embedded in scoped
names were not escaped.
Keywords escaping for both Java and C++ still has bugs. I wrote two Slice
torture files full of keywords. Neither the generated C++ code nor the
generated Java code work for those files yet. Need to look at this...
|
|
|
|
|
|
|
|
|
| |
change halfway through a scope. This all works now, except for
operations because, currently, parameter lists are not in their own
scope (but they have to be).
Will add that tomorrow. Also want to improve diagnostics to show, if an
identifier changes meaning, where it was introduced with different
meaning.
|
|
|
|
|
|
| |
keywords with a "_cpp_" prefix.
Changed Java code generator to use binary_search() instead of the
hand-coded binary search.
|
| |
|
|
|
|
|
| |
That was cleaner than polluting the generated files with the macro
definition over and over...
|
|
|
|
|
| |
approach used now (a macro) makes the generated source more readable
than the previous one.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
only.) I couldn't avoid adding a few #ifdefs because of the different
64-bit integer APIs across Linux and Windows. (#including config.h
wasn't an option because that would have created a circular dependency
between Ice and Slice.)
Added sufficient test cases to convince myself that things actually work as
intended.
Will compile under Windows now, so bear with me if things are broken under
Windows for a few minutes...
Some things that aren't quite right yet:
- No support for universal character names (\uxxxx)
- gcc appears to have a preprocessor bug. For example, preprocessing a file
containing a single '@' character just echos that '@' character to the
output. According to the C++ spec, '@' should be translated to its
universal character name (because it isn't part of the basic C++ source
character set).
- Why is the Slice string type mapped to std::string? Given that we are
supposed to support unicode for everything, shouldn't that be mapped to
std::wstring?
Once Windows compiles OK, I'll start on the Java code generation.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
OutputUtil. Various Makefile fixes.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|