📄 changelog
字号:
* ClassMethods.java (checkName): Use Symbol's getName, not toString.2002-11-10 Per Bothner <per@bothner.com> * Invoke.java (kind): New otpions 's' is static methods only; 'S' is changed to static or non-static (as documented for invoke-static). (applyN, getMethods, inline): Handle both 's' and 'S' kinds. (inline): If kinds=='S' and there is a single definitely ok static method, prefer it over non-static methods.2002-09-26 Per Bothner <per@bothner.com> * ClassMemberConstraint.java (define): Special handling for aliases, recognized by having the type gnu.mapping.Location.2002-09-21 Per Bothner <per@bothner.com> * SlotGet.java (compile): If there is no reflect-class (mapbe because we're currently compiling it), don't try to get its lang-specific type. * Invoke.java (inline): Don't inline 'make' for new non-existing type.2002-08-16 Per Bothner <per@bothner.com> * Invoke.java (inlineClassName): Allow plain Type, not just ClassType. This allows (as <int> exp) to be inlined better.2002-08-07 Per Bothner <per@bothner.com> * SlotSet.java (compile): Handle cals whose 2nd arg is a Field or Method, as created when inlining (make <type> field: value).2002-07-25 Per Bothner <per@bothner.com> * SlotSet.java (returnSelf): New field. (setFieldReturnObject): New static final field. (apply3, compile, getReturnType): Handle returnSelf. * Invoke.java: No longer implement Inlineable. (compile, getReturnType): Remove methods. (inline): Enhance, using most of the old logic from compile. We can do better type propagation easier this way.2002-07-21 Per Bothner <per@bothner.com> * InstanceOf.java, Invoke.java, SlotGet.java, SlotSet.java, TypeSwitch.java (inline): Update to take extra ExpWalker parameter.2002-06-18 Per Bothner <per@bothner.com> * SlotSet.java (getField): Call Compilation.mangleNameIfNeeded.2002-06-05 Per Bothner <per@bothner.com> * SlotGet.java (compile): Convert field type to language type. * SlotGet.java (apply2, inline): Use getInterpreter method.2002-05-19 Per Bothner <per@bothner.com> * ClassMemberConstraint.java (setup): Fix name/this.name confusion.2002-02-12 Per Bothner <per@bothner.com> * ClassMemberConstraint.java (define): If value is Named, handle case where getName() returns null. * Invoke.java (applyN): Use CallContext.getInstance().2002-01-31 Per Bothner <per@bothner.com> * Invoke.java (inlineClassName): New static method. * Invoke.java: Implement CanInline. (inline): New method calls inlineClassName * InstanceOf.java: Likewise. * SlotGet.java: Likewise. * SlotSet.java: Likewise.2001-12-24 Per Bothner <per@bothner.com> * TypeSwitch.java: New class, implements XQuery 'typeswitch'. * Makefile.am (java_sources): Update accordingly. * InstanceOf.java (emitIsInstance): New static helper method. (compile): If type us TypeValue, calls its emitIsInstance method.2001-11-24 Per Bothner <per@bothner.com> * SlotGet.java (makeGetField): New method, moved from Expression.2001-11-21 Per Bothner <per@bothner.com> * ClassMethods.java (getMethods): Match change in ClassType's getMethods class. Now use "-" to specify "no package" - i.e. skip all private classes. Fixes problem reported by Walter Pelissero2001-11-18 Per Bothner <per@bothner.com> * ClassMethods.java (getMethods): Use ClassType's new getMethods method, using Vector instead of Method[]. Fix off-by-one loop when duplicate found - don't increment i.2001-11-05 Per Bothner <per@bothner.com> * Invoke.java (compile): Better warning - list applicable methods.2001-10-19 Per Bothner <per@bothner.com> * ClassMemberConstraint.java (get): New takes defaultValue param. * Invoke.java: Various methods now specify throws Throwable.2001-10-05 Per Bothner <per@bothner.com> * ClassMemberConstraint.java (set): If we cannot set the field, change the constraint to a TrivialConstraint (kludge).2001-08-30 Per Bothner <per@bothner.com> * ClassMethods.java (checkName): Use mangleNameIfNeeded. * SlotGet.java (apply2): Likewise. * SlotSet.java (apply): Likewise.2001-08-23 Per Bothner <per@bothner.com> * Invoke.java: Update for PairClassType field rename. * ClassMemberConstraint.java (define): Use reversible demangling.2001-08-16 Per Bothner <per@bothner.com> * ClassMemberConstraint.java (define): If value isn't a Named, then demangle the field name. * Invoke.java (applyN): Handle PairClassType and staticLink. (getClassType): If PairClassType, get its instance class. * SlotGet.java (apply2, getField): Use ClassExp.slotToMethodName. (getField): Make static. * SlotSet.java (apply,, getField): Use ClassExp.slotToMethodName.2001-07-17 Per Bothner <per@bothner.com> * SlotSet.java (isStatic): Make non-static (duh). (setField$Ex, setStaticField$Ex): New static final fields. (<init>): New constructor. (setField, setStaticField): New static methods. (apply): Take extra isStatic parameter. (apply3): Pass this.isStatic to apply. * Invoke.java (applyN): Pass extra arg to SlotSet.apply. * SlotGet.java (set2): Likewise. (setter): New field. (<init>): New init also takes setter arg. (field, staticField): Specify setters. (getSetter): New method. * SlotGet.java (apply2): If field is final Binding, get its value. (compile): Likewise handle case of indirect Binding field. * SLotSet.java (apply): If field is final Binding, set its value. (compileSet): Likewise handle case of indirect Binding field. * ClassMemberConstraint.java: Better error messages if unbound.2001-06-19 Per Bothner <per@bothner.com> * Invoke.java: Handle method name symbol implemented using Binding. * ClassMethods.java: Likewise.2001-05-16 Per Bothner <per@bothner.com> * ArrayLength.java: Update to use LangPrimType. * SlotGet.java: Likewise.2001-03-08 Per Bothner <per@bothner.com> * ClassMethods.java, SlotGet.java: Update for new gnu.lists.Fstring. * Invoke.java (compile): Better error messages.2000-12-13 Per Bothner <per@bothner.com> * SlotGet.java (compile): Comment out Oct 12 change - it isn't safe.2000-10-12 Per Bothner <per@bothner.com> * ClassMemberConstraint.java (field): Remove field; don't use gnu.bytecode.Field; only java.lang.reflect.Field. * Invoke.java (invoke, invokeStatic, make): Make fields final. * Invoke.java (compile): Catch missing-class exception; emit warning. * SlotGet.java (set2): Swap argument order for new setter convention. * SlotGet.java (compile): Inline final static int fields. * InstanceOf.java (<init>): New constructor.2000-08-17 Per Bothner <per@bothner.com> * Invoke.java (applyN): Update for new MethodProc protocol.2000-06-17 Per Bothner <per@bothner.com> * InstanceOf.java: Moved from kawa.standard. * Makefile.am: Update accordingly.2000-06-09 Per Bothner <per@bothner.com> * ClassMemberConstraint.java (define): Re-structure.2000-05-28 Per Bothner <per@bothner.com> * SlotGet.java (apply2): Use Values.noArgs instead of Procedure.noArgs. * ClassMemberConstraint.java (define): Trivial optimization.2000-05-22 Per Bothner <per@bothner.com> * ClassMethods.java (class MethodFilter): New non-public class. (getMethods): Re-write to use ClassType's getMethods. (selectMethod, getMethods, getConstructors): Remove methods. * Invoke.java (interpreter): New field. Use it. (getStaticMethod, getMethod): New methods.2000-05-09 Per Bothner <per@bothner.com> * ClassMemberConstraint.java (define): Just use the new version of the Environment define method.2000-04-12 Per Bothner <per@bothner.com> * SlotGet.java (apply2, compile, getReturnType): Handle 'length of an array as a special case.2000-03-17 Per Bothner <per@bothner.com> * ClassMemberConstraint.java (define): Sigh. Put in some kludge for languages with dual separate namespaces.2000-02-27 Per Bothner <per@bothner.com> * ClassMemberConstraint.java (define): Since kawa.lang.Syntax now implements Named, we no longer need special case for it. Various tweaks for better javadoc processing. * package.html: New file.2000-01-31 Per Bothner <per@bothner.com> * ClassMethods.java (getMethods): Interpreter is now in gnu.expr. (apply): Change to Interpreter.defaultInterpreter. * SlotGet.java (apply2): Likewise. * SlotSet.java (apply): Likewise.2000-01-24 Per Bothner <per@bothner.com> * ArrayGet.java: Moved/renamed from kawa/lang/PrimArrayGet.java. * ArraySet.java: Moved/renamed from kawa/lang/PrimArraySet.java. * ArrayNew.java: Moved/renamed from kawa/lang/PrimArrayNew.java. * ArrayLength.java: Moved/renamed from kawa/lang/PrimArrayLength.java. * StaticGet.java: Moved/renamed from kawa/lang/GetStatic.java. * StaticSet.java: Moved/renamed from kawa/lang/SetStatic.java. * Makefile.am, Makefile.in (java_JAVA): Update for now classes.2000-01-23 Per Bothner <per@bothner.com> * ClassMemberConstraint.java (<Init>(Field)): New constructor. (defineAll, define): New static methods.1999-12-27 Per Bothner <per@bothner.com> * ClassMemberConstraint.java (<init>): New constructor. (define): New static method.1999-12-06 Per Bothner <per@bothner.com> * Invoke.java (getMethods): Set cacheArgs *after* recursive call done. (compile): Use methods instead of acheMethods. * ClassMemberConstraint.java: New class; extends Constraint. * Makefile.am, Makefile.in (java_JAVA): Add ClassMemberConstraint.java. * Invoke.java (applyN): Throw exception if no applicable method found. (getMethods): Add argsToSkip parameter. (compile, getReturnType): Fix getMethods call. (makeInvokeStatic): New method.1999-11-15 Per Bothner <per@bothner.com> * ClassMethods.java (selectApplicable, apply): New static methods. (checkName): New helper method. * Invoke.java: Generalize to subsume InvokeStatic and MakeInstance. Also implement Inlineable. * InvokeStatic.java: Remove class - subsumed by Invoke. * MakeInstance.java: Remove class - subsumed by Invoke. * Makefile.am, Makefile.in (java_JAVA): Remove rmeoved classes. * SlotGet.java, SlotSet.java: Also handle `static-field'. Implement Inlineable.1999-11-03 Per Bothner <per@bothner.com> * ClassMethods.java (apply): Check if method isApplicable. * InvokeStatic.java (invokeStatic): New static field. (apply$V): New method. (getMethod): Pass argument types to ClassMethods.apply. * MakeInstance.java (getMethod): Likewise.1999-10-25 Per Bothner <per@bothner.com> * ClassMethods.java (apply): Return MethodProc, not Procedure. * MakeInstance.java: Make it implement Inlineable. Handle "<init>" specially. * Invoke.java: New class; extends ProcedureN. * Makefile.am, Makefile.in (java_JAVA): Add Invoke.java.1999-09-14 Per Bothner <per@bothner.com> New package. * ClassMethods.java: Moved from kawa/standard/class_methods.java. * InvokeStatic.java: Moved from kawa/lang/InvokeStatic.java. * MakeInstance.java: New, but subsumes kawa/standard/make.java. * SlotGet.java: Moved from kawa/standard/field.java. * SlotSet.java: New class. * Makefile.am, Makefile.in: New files.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -