|
From: <fra...@us...> - 2009-07-27 22:56:24
|
Revision: 1785
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1785&view=rev
Author: frankrimlinger
Date: 2009-07-27 22:56:15 +0000 (Mon, 27 Jul 2009)
Log Message:
-----------
Cleaned up the loadable class issue. Introduced the the formal type <parameter> and rewrote the parameter detection mechanism to simply parametrize expressions of type <parameter>. The parametrizable expressions are now exposed as <parameter> type assignment rules. Future parameter detection is now rule based instead of "hack the code" based. This is another bfc brought about by the improvements to the typing system. To support this, changed "bindFunctionSym" to <function> type implying <parameter>.
Fixed an ugly self-inflicted bug involving static data. When you globally assign a type to a class, the idiom is just to add the rulekey to a static assignedTypes field. If you do this, you MUST add a staticReset() method and call it from Worker.staticReset(). Even though the rulekey doesn't "change", it really does change, because a fresh symbol hash is built for each worker. What a SymbolHash does with stale Hitem objects is anybody's guess. This is definitely a weak point in the design. If this problem persists you will have to have the SymbolHash check for liveness. PAIN.
Next bug: sortParameters is sometimes not able to determine the type of a parameter because its expression is unstable. Why? HarvestParametersAgent is supposed to take care of this. Is this another typing timing issue?
Modified Paths:
--------------
branches/mango/Mango/ACL2/itsAWrap-construct.lisp
branches/mango/Mango/Mango/src/mango/core/CoreSym.java
branches/mango/Mango/Mango/src/mango/core/sym/RuleKey.java
branches/mango/Mango/Mango/src/mango/module/definition/agent/ParameterExpAgent.java
branches/mango/Mango/Mango/src/mango/module/definition/sym/ParamSym.java
branches/mango/Mango/Mango/src/mango/module/instance/model/InstanceManager.java
branches/mango/Mango/Mango/src/mango/module/model/RuleModel.java
branches/mango/Mango/Mango/src/mango/ruleAction/function/engine/BindFunctionSym.java
branches/mango/Mango/Mango/src/mango/ruleAction/function/engine/CommuteFunctionExp.java
branches/mango/Mango/Mango/src/mango/ruleAction/function/engine/ConditionalCommuteFunctionExp.java
branches/mango/Mango/Mango/src/mango/ruleAction/simpleSubstitution/SUBR.java
branches/mango/Mango/Mango/src/mango/ruleAction/translate/automatic/DoesNotThrow.java
branches/mango/Mango/Mango/src/mango/ruleAction/translate/automatic/IsClassLoadable.java
branches/mango/Mango/Mango/src/mango/ruleAction/translate/automatic/ThisIsNotNull.java
branches/mango/Mango/Mango/src/mango/worker/Worker.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/DoubleH.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/FloatH.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/Hash.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/IntegerH.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/Kons.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/LongH.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashEnterpriseAndTranslation.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashInitialize.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashMangoModel.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashRewriter.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashTyping.java
branches/mango/Mango/Mango/src/mango/worker/engine/sym/InvocationNameSym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/GateSym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/graphic/CodeSym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/graphic/EdgeSym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/graphic/LoopSym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/graphic/PathSym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/ucon/UconSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/coreTechniques/sym/ConjunctionSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/coreTechniques/sym/EquationSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/coreTechniques/sym/InequationSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/functionSpace/sym/FunctionSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/functionSpace/sym/ModuleHypothesisSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/functionSpace/sym/ModuleInvocationSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/model/HitemUtil.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/translate/agent/AutoAssumptionAgent.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/FormalTypes.java
branches/mango/Mango/mangoUserHome/frank/rules/rulebase.zip
branches/mango/Mango/mangoUserHome/frank/sessions/a.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/Class_MangoFormal/forName(Ljava.lang.String_MangoFormal;)Ljava.lang.Class_MangoFormal;/'className' equals null reference.zip
Added Paths:
-----------
branches/mango/Mango/Mango/src/mango/ruleAction/function/engine/ComposeFunctionExp.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_boolean.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_formal_parameter.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/BooleanReq.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/FunctionReq.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/ParameterReq.java
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/Class_MangoFormal/forName(Ljava.lang.String_MangoFormal;)Ljava.lang.Class_MangoFormal;/'className' is defined.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/Class_MangoFormal/forName(Ljava.lang.String_MangoFormal;)Ljava.lang.Class_MangoFormal;/a.zip
Removed Paths:
-------------
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/multiarray/
branches/mango/Mango/Mango/src/mango/ruleAction/function/engine/ComposeFunctionSym.java
branches/mango/Mango/Mango/src/mango/ruleAction/translate/automatic/IsLoadable.java
branches/mango/Mango/Mango/src/mango/ruleAction/translate/automatic/IsLoadableArrayClass.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/function/FunctionExp.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/function/FunctionSymReq.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/module/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|